Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define MAX 10
- #define PI 3,14159265358979
- /* 8. Sem usar math.h desenvolva um programa para calcular o valor de funções trigonométricas. Ofereça
- para o usuário um menu com as opções:
- -----------------------------------
- Escolha a função trigonométrica:
- 1 – seno
- 2 – cosseno
- 3 – tangente
- -----------------------------------
- Use as Séries de Taylor para realizar os cálculos do seno e cosseno. Solicite ao usuário o valor do
- ângulo em graus. Observe que as Séries de Taylor trabalham com os ângulos em radianos. A
- quantidade de interações deve ser determinada por uma constante (#define)
- Faça uma função para exibir o menu, e mais 3 funções, uma para cada operação. Cada uma destas 3
- funções deverá receber o ângulo (em radianos) e retornar o resultado da função trigonométrica.
- Faça também uma função para converter um ângulo de graus para radianos. A função para calcular a
- tangente deve usar as funções seno e cosseno já construídas. */
- int menu()
- {
- int opcao;
- printf("\n MENU\n");
- printf("\n 1 - Seno");
- printf("\n 2 - Cosseno");
- printf("\n 3 - Tangente");
- printf("\n Digite a opcao escolhida: ");
- scanf("%d",&opcao);
- return opcao;
- }
- float seno(float angulo)
- {
- int i,j,exp=3;
- float senoFinal=angulo,potencia=angulo,fatorial=1;
- for(i=0;i<MAX;i++,exp+=2)
- {
- if(i%2==0)
- {
- for(j=0;j<exp;j++)
- {
- potencia *=potencia;
- }
- for(j=exp;j>0;j--)
- {
- fatorial*=j;
- }
- senoFinal -= (potencia/fatorial);
- }else{
- for(j=0;j<exp;j++)
- {
- potencia *=potencia;
- }
- for(j=exp;j>0;j--)
- {
- fatorial*=j;
- }
- senoFinal += (potencia/fatorial);
- }
- }
- return senoFinal;
- }
- float cosseno(float angulo)
- {
- int i,j,exp=2;
- float cossenoFinal=1,fatorial=1,potencia=angulo;
- for(i=0;i<MAX;i++,exp+=2)
- {
- if(i%2==0)
- {
- for(j=0;j<exp;j++)
- {
- potencia*=potencia;
- }
- for(j=exp;j>0;j--)
- {
- fatorial*=j;
- }
- cossenoFinal-=(potencia/fatorial);
- }else{
- for(j=0;j<exp;j++)
- {
- potencia*=potencia;
- }
- for(j=exp;j>0;j--)
- {
- fatorial*=j;
- }
- cossenoFinal+=(potencia/fatorial);
- }
- }
- return cossenoFinal;
- }
- float tangente(float angulo)
- {
- float tangenteFinal;
- tangenteFinal=(seno(angulo)/cosseno(angulo));
- return tangenteFinal;
- }
- float converteAngulo(float angulo)
- {
- angulo = (angulo/180)*PI;
- return angulo;
- }
- int main()
- {
- float angulo;
- printf("\n Digite o angulo: ");
- scanf("%f",&angulo);
- angulo=converteAngulo(angulo);
- switch(menu())
- {
- case 1: printf("\n Seno: %f",seno(angulo));
- break;
- case 2: printf("\n Cosseno: %f",cosseno(angulo));
- break;
- case 3: printf("\n Tangente: %f",tangente(angulo));
- break;
- default : printf("\n Opcao incorreta!!!");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement