Programación en c: Programar y calcular el valor de sin(x)
#include
#include
doble?sin(doble);
doble?nResult(doble,doble) ;
int?main()
{
double?x=0;
scanf("%lf",&x) ;
printf("sin(%lf)=%lf\n",x,sin(x));
retorno?;
}
doble?sin(doble?x)
{
//sin(x)=x-x^3/3!+x^5/5!- x^7/7!+......+(-1)(n^2n+1)/(2n+1)! +......
int?i=0;
double?result=0,n=0;
while(?fabs(? n=nResult(x,2*++i-1)?) ? >?0e-5?)//bucle si el valor absoluto es mayor que 10^-5ta potencia
resultado+=(i%) 2==1)?n:-n;
retorno?resultado;
}
doble?nResultado(doble?x,doble?n)
{
//(n^2n+1)/(2n+1)! Es decir n/1*n/2*n/3*n/4*.....n/(2n+1)
return ?n==1 ?x:nResult(x, n -1)*x/n;
}
¿Usa la recursividad para escribir uno?sin(π)=0 sin(π/2)=1
Si puedes verlo, ¿adoptalo?