(0.5) Faça um programa em Python para calcular a soma da seguinte série para 20 termos:
1-\frac{1}{2}+\frac{1}{4}-\frac{1}{6}+\frac{1}{8}-\cdots

Passo 1

O enunciado pede: “Faça um programa em Python para calcular a soma da série abaixo para 20 termos”:
1-\frac{1}{2}+\frac{1}{4}-\frac{1}{6}+\frac{1}{8}-\cdots
Informações importantes que temos:
  • Queremos somar exatamente 20 termos.
  • A sequência de sinais é alternada: +,-,+,-,\dots.
  • Os denominadores seguem: 1,2,4,6,8,\dots. Note que o primeiro denominador é 1 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 n-ésimo termo da série. Denotando por a_n o n-ésimo termo:
  • O primeiro termo é especial: a_1 = 1.
  • Para n\ge 2 percebemos que o denominador é 2(n-1). Ex.: para n=2 2(2-1)=2; para n=3 2(3-1)=4; etc.
  • O sinal alternado pode ser representado por (-1)^{n-1} (porque para n=1 temos (-1)^0=+1, para n=2 temos (-1)^1=-1, e assim por diante).
Portanto podemos escrever
a_1 = 1
e, para n\ge 2,
a_n = (-1)^{\,n-1}\,\frac{1}{2(n-1)}.
Uma forma alternativa (útil para implementar) é reindexar: para k=1,2,\dots,19 (esses k correspondem aos termos depois do primeiro) o termo é
(-1)^k\frac{1}{2k},
e a soma de 20 termos é
S_{20}=1+\sum_{k=1}^{19}(-1)^k\frac{1}{2k}.

Passo 3

Estratégia do programa (passo a passo lógico, antes do código):
  • Inicializar uma variável acumuladora S com 0 (ou começar com S=1 e somar apenas os demais termos).
  • Fazer um laço que percorre os índices n de 1 até 20.
  • Em cada iteração calcular o termo a_n usando a fórmula do Passo 2:
    • se n=1 então a_n=1,
    • senão a_n = (-1)^{n-1}\cdot 1/(2(n-1)).
  • Somar a_n em S.
  • Ao final imprimir S.
Dica de implementação para Python: é mais claro calcular o sinal como
\text{sign} = 1\quad\text{se}\quad n\\ \text{é ímpar},\qquad \text{sign} = -1\quad\text{se}\quad n\\ \text{é par},éíé
ou usar \text{sign}=(-1)**(n-1). Para o denominador, use 1 quando n=1 e 2*(n-1) 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 -1: em Python (-1)**k +1 ou -1 conforme k for par ou ímpar.
  • Divisão: usar 1.0/\text{denominador} 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 n=1: a_1 = 1.
  • Para n=2: a_2 = (-1)^{1}\frac{1}{2(1)} = -\frac{1}{2}.
  • Para n=3: a_3 = (-1)^{2}\frac{1}{2(2)} = +\frac{1}{4}.
  • Para n=4: a_4 = (-1)^{3}\frac{1}{2(3)} = -\frac{1}{6}.
    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)

Exercícios relacionados