aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Armando Staib
Pessoal escrevendo que
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
  print ('sim') 
 else 
  print ('não') 
 end

como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações

corrigi comparando duas  tostring, mas queria aprender isso para o futuro
comparar números irracionais tem algo de especial?

alguém pode me ajudar ?

Abraços
Armando

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Deivy Petrescu
Problema de arredondamento.
Mudando o programa um pouco voce acha o problema:

if math.sin(60*math.pi / 180)-math.cos(30*math.pi / 180)==0 then
  print ('sim')
 else
  print ('não')
  print( math.sin(60*math.pi / 180)-math.cos(30*math.pi / 180))
 end

——>
não
-1.1102230246252e-16
——>

> On Apr 14, 2019, at 20:57 , Armando Staib <[hidden email]> wrote:
>
> Pessoal escrevendo que
> if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
>   print ('sim')
>  else
>   print ('não')
>  end
>
> como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
> deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações
>
> corrigi comparando duas  tostring, mas queria aprender isso para o futuro
> comparar números irracionais tem algo de especial?
>
> alguém pode me ajudar ?
>
> Abraços
> Armando
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
> Acesse esse grupo em https://groups.google.com/group/lua-br.
> Para mais opções, acesse https://groups.google.com/d/optout.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Armando Staib
Então isso vem a confirmar o que pensei, sempre que for usar um numero iracional ou até mesmo dependendo( numeros racionais ) tem-se que tomar muito cuidado.

Porque os números são iguais mas como seus cálculos são aproximados acabam sendo interpretados como números diferentes (que não são).

Em dom, 14 de abr de 2019 às 22:07, Deivy Petrescu <[hidden email]> escreveu:
Problema de arredondamento.
Mudando o programa um pouco voce acha o problema:

if math.sin(60*math.pi / 180)-math.cos(30*math.pi / 180)==0 then
        print ('sim')
 else
        print ('não')
  print( math.sin(60*math.pi / 180)-math.cos(30*math.pi / 180))
 end

——>
não
-1.1102230246252e-16
——>

> On Apr 14, 2019, at 20:57 , Armando Staib <[hidden email]> wrote:
>
> Pessoal escrevendo que
> if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
>       print ('sim')
>  else
>       print ('não')
>  end
>
> como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
> deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações
>
> corrigi comparando duas  tostring, mas queria aprender isso para o futuro
> comparar números irracionais tem algo de especial?
>
> alguém pode me ajudar ?
>
> Abraços
> Armando
>
> --
> Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
> Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
> Acesse esse grupo em https://groups.google.com/group/lua-br.
> Para mais opções, acesse https://groups.google.com/d/optout.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Denis Dos Santos Silva
In reply to this post by Armando Staib
pra matar a curiosidade fui testar aqui no lua-5.1 e 5.2 e realmente "não bate"


acho que ocorre do mesmo "problema" de comparar números flutuantes em C (e demais linguagem*)

pra "coisas" do tipo
- https://gmplib.org/
- http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/
-- lbc A simple arbitrary-precision library for Lua based on GNU bc.
-- limath - An arbitrary-precision integer library for Lua based on imath.
-- lqd - A high-precision mathematical library for Lua based on qd
-- qmath - A rational number library for Lua based on imath.


--
-- workaround
--
t = 0.001;
a = tonumber(math.sin(60 * math.pi / 180)); -- 0.86602540378444
b = tonumber(math.cos(30 * math.pi / 180)); -- 0.86602540378444

print("TESTE: A");
if (math.abs(a - b) < t) then
    print('sim')
else
    print('nao')
end

print("TESTE: B");
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
    print ('sim')
 else
    print ('não')
end

print("TESTE: C");
a = tostring(a)
b = tostring(b)
if (a == b) then
    print ('sim')
 else
    print ('não')
end

-- << eof >>


lua 5.1:
$ lua-5.1 x.lua
TESTE: A
sim
TESTE: B
não
TESTE: C
sim

lua -5.2:
$ lua52 x.lua
TESTE: A
sim
TESTE: B
não
TESTE: C
sim









leitura recomendada:





Em domingo, 14 de abril de 2019 21:57:22 UTC-3, Hermann escreveu:
Pessoal escrevendo que
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
  print ('sim') 
 else 
  print ('não') 
 end

como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações

corrigi comparando duas  tostring, mas queria aprender isso para o futuro
comparar números irracionais tem algo de especial?

alguém pode me ajudar ?

Abraços
Armando

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Armando Staib
Agradeço

Observe que a minha ideia de colocar o resultado numa string pega o truncamento das casas decimais ainda igual, visto que o erro acontece lá na 16 casa decimal

vc entende algo do corona sdk que compila lua para app celular?

Em qua, 17 de abr de 2019 às 10:27, Denis Dos Santos Silva <[hidden email]> escreveu:
pra matar a curiosidade fui testar aqui no lua-5.1 e 5.2 e realmente "não bate"


acho que ocorre do mesmo "problema" de comparar números flutuantes em C (e demais linguagem*)

pra "coisas" do tipo
- https://gmplib.org/
- http://webserver2.tecgraf.puc-rio.br/~lhf/ftp/lua/
-- lbc A simple arbitrary-precision library for Lua based on GNU bc.
-- limath - An arbitrary-precision integer library for Lua based on imath.
-- lqd - A high-precision mathematical library for Lua based on qd
-- qmath - A rational number library for Lua based on imath.


--
-- workaround
--
t = 0.001;
a = tonumber(math.sin(60 * math.pi / 180)); -- 0.86602540378444
b = tonumber(math.cos(30 * math.pi / 180)); -- 0.86602540378444

print("TESTE: A");
if (math.abs(a - b) < t) then
    print('sim')
else
    print('nao')
end

print("TESTE: B");
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
    print ('sim')
 else
    print ('não')
end

print("TESTE: C");
a = tostring(a)
b = tostring(b)
if (a == b) then
    print ('sim')
 else
    print ('não')
end

-- << eof >>


lua 5.1:
$ lua-5.1 x.lua
TESTE: A
sim
TESTE: B
não
TESTE: C
sim

lua -5.2:
$ lua52 x.lua
TESTE: A
sim
TESTE: B
não
TESTE: C
sim









leitura recomendada:





Em domingo, 14 de abril de 2019 21:57:22 UTC-3, Hermann escreveu:
Pessoal escrevendo que
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
  print ('sim') 
 else 
  print ('não') 
 end

como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações

corrigi comparando duas  tostring, mas queria aprender isso para o futuro
comparar números irracionais tem algo de especial?

alguém pode me ajudar ?

Abraços
Armando

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Denis Dos Santos Silva
In reply to this post by Armando Staib
vc entende algo do corona sdk que compila lua para app celular?
não

já passei o olho, mas, nda de útil.
corona sdk vale muito a pena.
há pessoas aqui no fórum que usam (e tem uns tópicos).


Em domingo, 14 de abril de 2019 21:57:22 UTC-3, Hermann escreveu:
Pessoal escrevendo que
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
  print ('sim') 
 else 
  print ('não') 
 end

como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações

corrigi comparando duas  tostring, mas queria aprender isso para o futuro
comparar números irracionais tem algo de especial?

alguém pode me ajudar ?

Abraços
Armando

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Eric Chiesse
Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
---
Eric


Em qua, 17 de abr de 2019 às 11:29, Denis Dos Santos Silva <[hidden email]> escreveu:
vc entende algo do corona sdk que compila lua para app celular?
não

já passei o olho, mas, nda de útil.
corona sdk vale muito a pena.
há pessoas aqui no fórum que usam (e tem uns tópicos).


Em domingo, 14 de abril de 2019 21:57:22 UTC-3, Hermann escreveu:
Pessoal escrevendo que
if math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180) then
  print ('sim') 
 else 
  print ('não') 
 end

como são iguais math.sin(60*math.pi / 180)==math.cos(30*math.pi / 180)
deveria responder sim, só que não, responde 'não' e isso  deve ser por questões de aproximações

corrigi comparando duas  tostring, mas queria aprender isso para o futuro
comparar números irracionais tem algo de especial?

alguém pode me ajudar ?

Abraços
Armando

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Tomás Guisasola
Oi Eric

> Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
1/3 não representa "um terço" de forma precisa?

Abraço,
Tomás

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Roberto Ierusalimschy
> > Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
> 1/3 não representa "um terço" de forma precisa?

1/3 não é irracional...

-- Roberto

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Armando Staib
Roberto (primeiro parabéns por ter criado o Lua e ele ter tanto sucesso)

1/7 não é racional mas é de infintas casas decimais, logo deve ter o mesmo problema ao truncar, certo? 
Ou para racionais  é outra história?

fiz o teste 1/3 +1/7 coloquei o numero decimal truncado em uma variável e quando multipliquei  esta variável pelo inverso 2.1 deu 1  ou seja diferente do que aconteceu com os irracionais, certo?

Abraços
Armando (Professor de matemática)

ps: gostaria de conversar com pessoas que usam o corona sdk com o lua alguém conhece ou me da uma dica de como eu encontrar?

Em qua, 17 de abr de 2019 às 12:56, Roberto Ierusalimschy <[hidden email]> escreveu:
> > Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
> 1/3 não representa "um terço" de forma precisa?

1/3 não é irracional...

-- Roberto

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Armando Staib
corrigindo 1/7 não é irracional..

Em qua, 17 de abr de 2019 às 15:55, Armando Staib <[hidden email]> escreveu:
Roberto (primeiro parabéns por ter criado o Lua e ele ter tanto sucesso)

1/7 não é racional mas é de infintas casas decimais, logo deve ter o mesmo problema ao truncar, certo? 
Ou para racionais  é outra história?

fiz o teste 1/3 +1/7 coloquei o numero decimal truncado em uma variável e quando multipliquei  esta variável pelo inverso 2.1 deu 1  ou seja diferente do que aconteceu com os irracionais, certo?

Abraços
Armando (Professor de matemática)

ps: gostaria de conversar com pessoas que usam o corona sdk com o lua alguém conhece ou me da uma dica de como eu encontrar?

Em qua, 17 de abr de 2019 às 12:56, Roberto Ierusalimschy <[hidden email]> escreveu:
> > Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
> 1/3 não representa "um terço" de forma precisa?

1/3 não é irracional...

-- Roberto

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Armando Staib
será que todos os racionais dão certo? falo isso porque dependendo do numero de dígitos da dizima periódica, se for muito grande será que a máquina não daria a interpretação de um irracional fazendo com que operações desse aqueles "erros" que ocorrem com os irracionais.

Existem muitos números com dízima periódica gigantesca, certo?

Entenderam, fui claro?

Att
Armando

Em qua, 17 de abr de 2019 às 15:56, Armando Staib <[hidden email]> escreveu:
corrigindo 1/7 não é irracional..

Em qua, 17 de abr de 2019 às 15:55, Armando Staib <[hidden email]> escreveu:
Roberto (primeiro parabéns por ter criado o Lua e ele ter tanto sucesso)

1/7 não é racional mas é de infintas casas decimais, logo deve ter o mesmo problema ao truncar, certo? 
Ou para racionais  é outra história?

fiz o teste 1/3 +1/7 coloquei o numero decimal truncado em uma variável e quando multipliquei  esta variável pelo inverso 2.1 deu 1  ou seja diferente do que aconteceu com os irracionais, certo?

Abraços
Armando (Professor de matemática)

ps: gostaria de conversar com pessoas que usam o corona sdk com o lua alguém conhece ou me da uma dica de como eu encontrar?

Em qua, 17 de abr de 2019 às 12:56, Roberto Ierusalimschy <[hidden email]> escreveu:
> > Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
> 1/3 não representa "um terço" de forma precisa?

1/3 não é irracional...

-- Roberto

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|

Re: aproximação de números irracionais dando um' bug'? ou eu não sei trabalhar

Eric Chiesse
Números racionais você pode representar com exatidão com um par de inteiros (numerador e denominador). Claro que você nesse caso vai precisar criar as operações para interagir com inteiros e provavelmente vai precisar também em algum momento operar com floats.
Se precisão pra vc é um requisito, então vc vai precisar separar tuas operações entre o mundo preciso (inteiros, big ints e frações) e o mundo impreciso (floats)
Toda conversão entre os dois mundos vai acarretar em algum tipo de perda.
Quanto aos números com dizima periódica, repare que no computador se você usar um float para representar um decimal é bem possível que você tenha alguma imprecisão mesmo para um número sem dízima (0,1 por exemplo não tem representação exata como floating point - lembre que computadores usam base 2 e não base 10). Por isso sempre que você usa float tem que aceitar que o resultado está dentro de um erro aceitável e que você não tem precisão.
E por esses motivos comparar dois floats por igualdade é 99,9999% das vezes um erro de programação.

---
Eric Chiesse


Em qua, 17 de abr de 2019 às 16:04, Armando Staib <[hidden email]> escreveu:
será que todos os racionais dão certo? falo isso porque dependendo do numero de dígitos da dizima periódica, se for muito grande será que a máquina não daria a interpretação de um irracional fazendo com que operações desse aqueles "erros" que ocorrem com os irracionais.

Existem muitos números com dízima periódica gigantesca, certo?

Entenderam, fui claro?

Att
Armando

Em qua, 17 de abr de 2019 às 15:56, Armando Staib <[hidden email]> escreveu:
corrigindo 1/7 não é irracional..

Em qua, 17 de abr de 2019 às 15:55, Armando Staib <[hidden email]> escreveu:
Roberto (primeiro parabéns por ter criado o Lua e ele ter tanto sucesso)

1/7 não é racional mas é de infintas casas decimais, logo deve ter o mesmo problema ao truncar, certo? 
Ou para racionais  é outra história?

fiz o teste 1/3 +1/7 coloquei o numero decimal truncado em uma variável e quando multipliquei  esta variável pelo inverso 2.1 deu 1  ou seja diferente do que aconteceu com os irracionais, certo?

Abraços
Armando (Professor de matemática)

ps: gostaria de conversar com pessoas que usam o corona sdk com o lua alguém conhece ou me da uma dica de como eu encontrar?

Em qua, 17 de abr de 2019 às 12:56, Roberto Ierusalimschy <[hidden email]> escreveu:
> > Bom, na verdade qualquer representação numérica com número finito de dígitos (ou seja, todas na prática) de um número irracional (mesmo por escrito) não será precisa.
> 1/3 não representa "um terço" de forma precisa?

1/3 não é irracional...

-- Roberto

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Visite este grupo em https://groups.google.com/group/lua-br.
Para obter mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Acesse esse grupo em https://groups.google.com/group/lua-br.
Para mais opções, acesse https://groups.google.com/d/optout.