elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Curso de javascript por TickTack


  Mostrar Temas
Páginas: [1]
1  Programación / Programación C/C++ / [C][?]Cálculo del seno por suma de Taylor en: 25 Septiembre 2021, 08:32 am
Hola, esta es la primera vez que escribo, estoy aprendiendo a programar en C y uno de los ejercicios me pedía hallar el seno usando sumas de Taylor, empecé escribiendo un pseudocódigo e Psint, funcionó sin problemas pero al momento de escribir el código en C y al ejecutarlo e ingresar el ángulo da como resultado #INF00 cuando es mayor a 1.5 rad.

He revisado varias veces mi código y no llego a encontrar el error por mi mismo, agradecería mucho que me ayudaran a identificar mi error.

Código
  1. #include<stdio.h>
  2. #include<math.h>
  3.  
  4. int main(){
  5.  
  6. int n_termino,factorial;
  7. double angulo,sumatoria,termino;
  8. printf("Ingrese el angulo:\n"); //Ángulo en radianes
  9. scanf("%lf",&angulo);
  10.  
  11. termino=angulo; //El primer término es igual al ángulo
  12. sumatoria=0; //Sumatoria total
  13. n_termino=1; //Número de orden del término
  14. factorial=1;
  15.  
  16. while(fabs(termino)>=0.0000001){ //Se detiene cuando el valor de los terminos es muy pequeño
  17.  
  18. if(n_termino==1){ //Para el primer termino
  19.  
  20. sumatoria=sumatoria+termino;
  21. n_termino=n_termino+1;
  22.  
  23. printf("Termino %d Valor %lf\n",n_termino-1,termino);
  24.  
  25. }
  26. else{
  27.  
  28. if((n_termino&2)==0){ //Demas terminos y variacion de signos
  29.  
  30. factorial=factorial*(2*n_termino-1)*(2*n_termino-2);
  31. termino=(-1)*((double)pow(angulo,2*n_termino-1)/factorial);
  32. n_termino=n_termino+1;
  33. sumatoria=sumatoria+termino;
  34.  
  35. printf("Termino %d Valor %lf\n",n_termino-1,termino);
  36.  
  37. }
  38. else{
  39.  
  40. factorial=factorial*(2*n_termino-1)*(2*n_termino-2);
  41. termino=((double)pow(angulo,2*n_termino-1)/factorial);
  42. n_termino=n_termino+1;
  43. sumatoria=sumatoria+termino;
  44.  
  45. printf("Termino %d Valor %lf\n",n_termino-1,termino);
  46.  
  47. }
  48.  
  49. }
  50.  
  51. }
  52.  
  53. printf("El seno es %lf\n",sumatoria);
  54.  
  55. return 0;
  56.  
  57. }
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines