(0.5) Faça um programa em Python para calcular a soma da seguinte série para 20 termos:
Passo 1
O enunciado pede: “Faça um programa em Python para calcular a soma da série abaixo para 20 termos”:
Informações importantes que temos:
- Queremos somar exatamente
termos. - A sequência de sinais é alternada:
. - Os denominadores seguem:
. Note que o primeiro denominador é e, a partir do segundo termo, são os números pares. - Não há outra restrição (vamos produzir um programa simples que calcule e mostre a soma).
Passo 2
Vamos achar uma fórmula para o
-ésimo termo da série. Denotando por
o
-ésimo termo:
- O primeiro termo é especial:
. - Para
percebemos que o denominador é . Ex.: para dá ; para dá ; etc. - O sinal alternado pode ser representado por
(porque para temos , para temos , e assim por diante).
Portanto podemos escrever
e, para
,
Uma forma alternativa (útil para implementar) é reindexar: para
(esses
correspondem aos termos depois do primeiro) o termo é
e a soma de 20 termos é
Passo 3
Estratégia do programa (passo a passo lógico, antes do código):
- Inicializar uma variável acumuladora
com (ou começar com e somar apenas os demais termos). - Fazer um laço que percorre os índices
de até . - Em cada iteração calcular o termo
usando a fórmula do Passo 2: - se
então , - senão
.
- se
- Somar
em . - Ao final imprimir
.
Dica de implementação para Python: é mais claro calcular o sinal como
ou usar
. Para o denominador, use
quando
e
caso contrário.
Passo 4
Explicação cuidadosa das operações numéricas (para você entender o que o programa faz linha a linha):
- Somar números com sinal alternado: o programa vai somar valores positivos e negativos; em Python números de ponto flutuante (tipo float) dão conta disso.
- Potência inteira de
: em Python dá ou conforme for par ou ímpar. - Divisão: usar
ou garantir que pelo menos um dos operandos seja float para evitar divisão inteira (no Python 3 a divisão normal já retorna float, mas é uma boa prática garantir 1.0 em exemplos didáticos).
Passo 5
Exemplo manual dos primeiros termos (para você ver que a fórmula bate):
- Para
: . - Para
: . - Para
: . - Para
: .
Isso coincide com os termos do enunciado, então a fórmula está correta.
Passo 6
Orientações finais antes do código:
- O programa proposto é curto e roda instantaneamente.
- Se quiser imprimir com menos casas decimais (para apresentar na prova), pode formatar a saída com, por exemplo, 6 casas decimais.
- Agora segue o programa Python completo e pronto para rodar.
Resposta
# Programa para somar 20 termos da série:
# 1 - 1/2 + 1/4 - 1/6 + 1/8 - ...
def soma_serie(n_terms=20):
S = 0.0
for n in range(1, n_terms + 1):
if n == 1:
term = 1.0
else:
sign = (-1) ** (n - 1)
denom = 2 * (n - 1)
term = sign * (1.0 / denom)
S += term
return S
if __name__ == "__main__":
resultado = soma_serie(20)
print(resultado)