funcoes trigonometricas de math.h

funcoes trigonometricas de math.h

by Willen José Gomes Coelho Goulart -
Number of replies: 4
#include <stdio.h>
#include <math.h>
#define PI 3.141592654

int main(){

double a = 0;

while(a<=2*PI){
printf("cos(%e) = %e --- sen(%e) = %e\n", a, cos(a), a, sin(a))
a = a + PI/2;
}

return 0;
}

esse programa me retorna

cos(0.000000e+00) = 1.000000e+00 --- sen(0.000000e+00) = 0.000000e+00
cos(1.570796e+00) = -2.051034e-10 --- sen(1.570796e+00) = 1.000000e+00
cos(3.141593e+00) = -1.000000e+00 --- sen(3.141593e+00) = -4.102069e-10
cos(4.712389e+00) = 6.153103e-10 --- sen(4.712389e+00) = -1.000000e+00
cos(6.283185e+00) = 1.000000e+00 --- sen(6.283185e+00) = 8.204137e-10

alguem tem alguma explicação!? procurei na internet algum erro relacionado a isso, mas sem sucesso...


In reply to Willen José Gomes Coelho Goulart

Re: funcoes trigonometricas de math.h

by Paulo Cheadi Haddad Filho -
PI/2 = 3.14/2 = 1.57

while(a<=2*PI){
...
a = a + PI/2;
}

a = {0, 1.57, 3.14, ...}

Se vc quer converter radianos em graus, deve multiplicar por 180/PI.

(PI/2) * (180/PI) = 180/2 = 90

;)
In reply to Paulo Cheadi Haddad Filho

Re: funcoes trigonometricas de math.h

by Willen José Gomes Coelho Goulart -
problema resolvido...
na verdade paulo... eu queria era verificar os valores de senos e cossenos....
mas o Wallace [esse menino é um gênio... rsrsrs] me alertou que eu me confundi numa coisa besta... %e não é indicador de double. Sempre achei q fosse...
In reply to Willen José Gomes Coelho Goulart

Re: funcoes trigonometricas de math.h

by Paulo Cheadi Haddad Filho -
Bom, %e é pra imprimir em notação científica, então acho que dá pra considerar como sendo, mas se funcionou então tá sussa!
In reply to Willen José Gomes Coelho Goulart

Re: funcoes trigonometricas de math.h

by Wallace Faveron de Almeida -
Na verdade Willen o que está ocorrendo é um pequeno erro no código de formatação. Tente usar %f ( código para ponto flutuante) no lugar de %e.

Abraço