ramontricolor12

LISTA 07 - Exercício 08

Aug 12th, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.40 KB | None | 0 0
  1. /*CABEÇALHO
  2.     Arquivo: LISTA 07 - Exercício 08.c
  3.     Objetivo: Criar um programa que calcula funções trigonométricas sem usar math.h.
  4.     Autor(a): Ramon Borges.
  5. */
  6. #include <stdio.h>
  7. #define PI 3.141592654
  8. #define INTERACOES 30
  9. //PROTÓTIPO DE FUNÇÕES
  10. int menu();
  11. float transfGrausParaRadianos(float angulo);
  12. float seno(float angulo);
  13. float cosseno(float angulo);
  14. float tangente (float angulo);
  15.  
  16. int main()
  17. {
  18.     int escolha;
  19.     float angulo, anguloRad, resul;
  20.  
  21.     escolha = menu();
  22.     printf("\nInforme um angulo em graus: ");
  23.     scanf("%f", &angulo);
  24.  
  25.     anguloRad = transfGrausParaRadianos(angulo);
  26.     switch(escolha)
  27.     {
  28.         case 1:
  29.         resul = seno(anguloRad);
  30.         printf("\n%.2f\n", resul);
  31.         break;
  32.  
  33.         case 2:
  34.         resul = cosseno(anguloRad);
  35.         printf("\n%.2f\n", resul);
  36.         break;
  37.  
  38.         case 3:
  39.         resul = tangente(anguloRad);
  40.         printf("\n%.2f\n", resul);
  41.         break;
  42.  
  43.         default:
  44.         printf("Opcao Invalida.");
  45.     }
  46.     return 0;
  47. }
  48.  
  49. int menu()
  50. {
  51.     int opcao;
  52.  
  53.     printf("MENU\n");
  54.     printf("1 - Seno.\n");
  55.     printf("2 - Cosseno.\n");
  56.     printf("3 - Tangente.\n");
  57.     printf("Digite sua escolha: ");
  58.     scanf("%d", &opcao);
  59.     return opcao;
  60. }
  61.  
  62. float transfGrausParaRadianos(float angulo)
  63. {
  64.     float resul;
  65.     resul = angulo * (PI/180);
  66.     return resul;
  67. }
  68.  
  69. float seno(float angulo)
  70. {
  71.     int i, j, fatorial = 2, potencia;
  72.     float resul;
  73.  
  74.     resul = angulo;
  75.     potencia = angulo;
  76.     j = 1;
  77.     for(i = 1; i < INTERACOES; i++, j+2)
  78.     {
  79.         potencia *= angulo * angulo;
  80.         fatorial *= (j + 1)*(j + 2);
  81.         if(i % 2 != 0)
  82.             resul -= (potencia / fatorial);
  83.         else
  84.             resul += (potencia / fatorial);
  85.     }
  86.     return resul;
  87. }
  88.  
  89. float cosseno(float angulo)
  90. {
  91.     int i, j, fatorial = 1;
  92.     float resul, potencia = 1;
  93.  
  94.     resul = 1;
  95.     for(i = 1, j = 0; i < INTERACOES; i++, j+2)
  96.     {
  97.         potencia *= angulo * angulo;
  98.         fatorial *= (float)(j + 1)*(j + 2);
  99.         if(i % 2 != 0)
  100.             resul -= (potencia / fatorial);
  101.         else
  102.             resul += (potencia / fatorial);
  103.     }
  104.     return resul;
  105. }
  106.  
  107. float tangente (float angulo)
  108. {
  109.     float resulSen, resulCos, resul;
  110.  
  111.     resulSen = seno(angulo);
  112.     resulCos = cosseno(angulo);
  113.     resul = resulSen / resulCos;
  114.  
  115.     return resul;
  116. }
Advertisement
Add Comment
Please, Sign In to add comment