Escrever um programa que, dados os valores de x (float), com , e (int), calcula o valor de , considerando termos da seguinte série:
Passo 1
Neste exercício vamos calcular a soma da série
usando exatamente termos. O conteúdo aqui é manipular séries com padrão periódico de denominadores e sinais alternados.
Passo 2
Observando a série, vemos que os denominadores repetem ciclicamente os valores , que são , e que o sinal de cada termo alterna conforme o índice (positivo para ímpar e negativo para par). Podemos escrever o termo geral como
onde
Passo 3
Para implementar isso em um programa, vamos usar um vetor fixo para os denominadores: denom[0]=1, denom[1]=2, denom[2]=6, denom[3]=24. Também mantemos três variáveis: um acumulador S, o valor corrente de x^i (chamado termX), e o sinal corrente ( sign que vale +1 ou -1 ).
Passo 4
Inicializamos
S=0,
termX = x (que representa x^1), sign = 1,
e criamos o array
denom[03] = 1,2,6,24
Passo 5
Em seguida, fazemos um laço for i de 1 até n e em cada iteração:
somamos ao acumulador: S mathrel+= sign * termX / denom[(i-1)%4];
atualizamos termX *= x\ para ter x^i+1 na próxima vez;
trocamos o sinal com sign *= -1.
Passo 6
No final do laço, S conterá a soma dos n primeiros termos da série conforme pedido.
Resposta
// Pseudocódigo em estilo C
read(x) // lê x (float), 0 < x < 1
read(n) // lê n (int)
double S = 0.0;
double termX = x; // começa em x^1
double sign = 1.0; // sinal inicial +1
double denom[4] = {1.0, 2.0, 6.0, 24.0};
for (int i = 1; i <= n; i++) {
S += sign * termX / denom[(i-1) % 4];
termX *= x; // prepara x^(i+1)
sign *= -1.0; // alterna sinal
}
print(S); // exibe o valor de S