python ex018

Home Fóruns Python python ex018

Visualizando 1 resposta da discussão
  • Autor
    Posts
    • #130264

      No exercício 018, onde pede para criar um código para ler um ângulo e calcular o seno, cosseno e tangente. criei um código e depois aconpanhei a resolução do exercício pela aula, porém quando você insere o ângulo de 90° o valor da tangente dá totalmente errado, alguém pode me informar o motivo. Veja o código abaixo e o resultado
      código:
      import math
      n = float(input(‘Digite o valor do ângulo: ‘))
      ang = math.radians(n)
      print(‘O seno do ângulo {:.1f}° é igual a {:.2f}’.format(n, math.sin(ang)))
      print(‘O cosseno do ângulo {:.1f}° é igual a {:.2f}’.format(n, math.cos(ang)))
      print(‘A tangente do ângulo {:.1f}° é igual a {:.2f}’.format(n, math.tan(ang)))
      Resultado:
      Digite o valor do ângulo: 90
      O seno do ângulo 90.0° é igual a 1.00
      O cosseno do ângulo 90.0° é igual a 0.00
      A tangente do ângulo 90.0° é igual a 16331239353195370.00

      Process finished with exit code 0

    • #130349
      Tutora Jessica
      Moderador

      Olá Marcos, seu código esta funcionando corretamente, segue abaixo algumas informações sobre o cálculo de tangente em computadores hardware x86_64 padrão.

      O valor IEEE-754 mais próximo de Pi/2 é 1.5707963267948965579989817342720925807952880859375.
      O cosseno disso, no hardware x86_64 padrão, é avaliado como 6.123233995736766 × 10 elevado a −17.
      A recíproca disso é 1.633123935319537 × 10 elevado a 16.

      O que temos aqui é que um valor (Pi/2) é aproximado pelo valor representável mais próximo. Então – dependendo da implementação – o cosseno dessa aproximação é calculado com a maior precisão possível [ou muito próximo da precisão possível, um erro relativo de 2 elevado a −50
      seria próximo ao fim da tolerância], o que resulta em um valor aproximadamente da mesma magnitude (≈ 2 elevado a −52) e sinal oposto como a aproximação usada para Pi/2.

Visualizando 1 resposta da discussão
  • Você deve fazer login para responder a este tópico.