Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*CABEÇALHO
- Arquivo: LISTA 07 - Exercício 08.c
- Objetivo: Criar um programa que calcula funções trigonométricas sem usar math.h.
- Autor(a): Ramon Borges.
- */
- #include <stdio.h>
- #define PI 3.141592654
- #define INTERACOES 30
- //PROTÓTIPO DE FUNÇÕES
- int menu();
- float transfGrausParaRadianos(float angulo);
- float seno(float angulo);
- float cosseno(float angulo);
- float tangente (float angulo);
- int main()
- {
- int escolha;
- float angulo, anguloRad, resul;
- escolha = menu();
- printf("\nInforme um angulo em graus: ");
- scanf("%f", &angulo);
- anguloRad = transfGrausParaRadianos(angulo);
- switch(escolha)
- {
- case 1:
- resul = seno(anguloRad);
- printf("\n%.2f\n", resul);
- break;
- case 2:
- resul = cosseno(anguloRad);
- printf("\n%.2f\n", resul);
- break;
- case 3:
- resul = tangente(anguloRad);
- printf("\n%.2f\n", resul);
- break;
- default:
- printf("Opcao Invalida.");
- }
- return 0;
- }
- int menu()
- {
- int opcao;
- printf("MENU\n");
- printf("1 - Seno.\n");
- printf("2 - Cosseno.\n");
- printf("3 - Tangente.\n");
- printf("Digite sua escolha: ");
- scanf("%d", &opcao);
- return opcao;
- }
- float transfGrausParaRadianos(float angulo)
- {
- float resul;
- resul = angulo * (PI/180);
- return resul;
- }
- float seno(float angulo)
- {
- int i, j, fatorial = 2, potencia;
- float resul;
- resul = angulo;
- potencia = angulo;
- j = 1;
- for(i = 1; i < INTERACOES; i++, j+2)
- {
- potencia *= angulo * angulo;
- fatorial *= (j + 1)*(j + 2);
- if(i % 2 != 0)
- resul -= (potencia / fatorial);
- else
- resul += (potencia / fatorial);
- }
- return resul;
- }
- float cosseno(float angulo)
- {
- int i, j, fatorial = 1;
- float resul, potencia = 1;
- resul = 1;
- for(i = 1, j = 0; i < INTERACOES; i++, j+2)
- {
- potencia *= angulo * angulo;
- fatorial *= (float)(j + 1)*(j + 2);
- if(i % 2 != 0)
- resul -= (potencia / fatorial);
- else
- resul += (potencia / fatorial);
- }
- return resul;
- }
- float tangente (float angulo)
- {
- float resulSen, resulCos, resul;
- resulSen = seno(angulo);
- resulCos = cosseno(angulo);
- resul = resulSen / resulCos;
- return resul;
- }
Advertisement
Add Comment
Please, Sign In to add comment