nikolas_serafini

Lista 7 - Exercício 8

Aug 10th, 2013
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.54 KB | None | 0 0
  1. #include <stdio.h>
  2. #define ITER 50
  3. #define PI 3.141592
  4.  
  5. void menuGen(void);
  6. float coss(float angle);
  7. float sen(float angle);
  8. float radConvert (float angle);
  9.  
  10. int main() {
  11.    
  12.     int option;
  13.     float angle,ans,angleRad;
  14.  
  15.     menuGen();
  16.     scanf("%d",&option);
  17.     printf("Entre com o angulo, em graus:\n");
  18.     scanf("%f",&angle);
  19.  
  20.     angleRad = radConvert(angle);
  21.     switch(option) {
  22.         case 1:
  23.             ans = sen(angleRad); break;
  24.         case 2:
  25.             ans = coss(angleRad); break;
  26.         case 3:
  27.             ans = sen(angleRad)/coss(angleRad); break;
  28.         default:
  29.             printf("Opcao invalida!\n");
  30.     }
  31.  
  32.     printf("Resultado : %f\n",ans);
  33.     return 0;
  34. }
  35.  
  36. void menuGen(void) {
  37.  
  38.     printf("-----------------------------------\n");
  39.     printf("Escolha a funcaoo trigonometrica :\n1 - seno\n2 - cosseno\n3 - tangente\n");
  40.     printf("-----------------------------------\n");
  41. }
  42.  
  43. float radConvert (float angle) {
  44.  
  45.     return (angle*PI/180);
  46. }
  47. float sen(float angle) {
  48.     float num = angle*angle*angle, fat = 6, sen = angle;
  49.     int i,j = 3, k = 4, sinal = 1;
  50.  
  51.     for (i = 1; i <= ITER; i++) {
  52.         sinal = (-1)*sinal;
  53.         sen = sen + (sinal*num)/fat;
  54.         fat = fat*(i+j)*(i+k);
  55.         num = num*angle*angle;
  56.         j++;
  57.         k++;
  58.     }
  59.  
  60.     return sen;
  61. }
  62.  
  63.  
  64. float coss(float angle) {
  65.  
  66.     float num = 1, fat = 2, coss = 1;
  67.     int i,j = 2, k = 3, sinal = 1;
  68.  
  69.     for (i = 1; i <= ITER; i++) {
  70.         sinal = (-1)*sinal;
  71.         num = num*angle*angle;
  72.         coss = coss + (sinal*num)/fat;
  73.         fat = fat*(i+j)*(i+k);
  74.         j++;
  75.         k++;
  76.     }
  77.  
  78.     return coss;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment