Faça uma função que receba como parâmetro o valor de um ângulo em graus e calcule o valor do seno hiperbólico desse ângulo usando sua respectiva série de Taylor:
sinh x=sumn=0^infty x^2 n+1(2 n+1)!=x+x^33!+x^55!+ldots para todo x,
onde x é o valor do ângulo em radianos. Considerar pi=3.141593 e n variando de 0 até 5.

Passo 1

O enunciado pede uma função que recebe um ângulo em graus e retorna sinh(x) usando a série de Taylor até n=5. O conteúdo aplicado aqui é: conversão de graus para radianos e soma dos termos da série de Taylor de sinh x = sumn=0^infty x^2n+1(2n+1)!. Vamos precisar de uma rotina para calcular fatorial e de um laço para acumular os 6 termos.

Passo 2

Primeiro, convertemos o ângulo de graus para radianos. Como pi=3.141593, se a função recebe theta em graus, fazemos:
x = theta times pi180

Passo 3

Para calcular cada termo da série usamos a fórmula do enunciado. O k-ésimo termo (começando em k=0) é
Tk = x^2k+1(2k+1)!

Passo 4

Precisamos de uma função auxiliar que calcule o fatorial de um inteiro m. Podemos usar um laço multiplicativo para isso:
m! = 1 times 2 times cdots times m

Passo 5

Com a conversão e o fatorial prontos, montamos um laço de k=0 até k=5, em cada iteração calculamos Tk usando potências e fatorial, e vamos acumulando em uma variável soma.

Passo 6

Ao final do laço retornamos o valor acumulado em soma, que é a aproximação de sinh(x) usando 6 termos da série.

Resposta

// Exemplo em C
#include <stdio.h>
// Constante pi
#define PI 3.141593
// Função que calcula fatorial de um inteiro m (m >= 0)
double fatorial(int m) {
double fat = 1.0;
for (int i = 2; i <= m; i++) {
fat *= i;
}
return fat;
}
// Função que calcula sinh(x) pela série de Taylor de n=0 a 5
// Recebe ângulo em graus
// Retorna aproximacao de sinh(x)
double sinh_taylor(double graus) {
// Passo 1: converter para radianos
double x = graus * (PI / 180.0);
// Passo 2: acumular soma dos termos
double soma = 0.0;

// Passo 3: somar termos de n = 0 até 5
for (int k = 0; k <= 5; k++) {
    int expo = 2*k + 1;
    // calcular potência x^(2k+1)
    double pot = 1.0;
    for (int i = 0; i < expo; i++) {
        pot *= x;
    }
    // calcular termo = x^(2k+1) / (2k+1)!
    double termo = pot / fatorial(expo);
    soma += termo;
}

return soma;
}
// Exemplo de uso
typedef int main;
int main() {
double ang = 30.0;
printf(“sinh(%g graus) ≈ %g\n”, ang, sinh_taylor(ang));
return 0;
}

Exercícios relacionados