Escreva uma função chamada progressoes que recebe como parâmetros o termo inicial ( a1 ), a razão e a quantidade de termos ( n ). Em seguida, a função deve calcular o enésimo termo ( an ) da Progressão Aritmética (PA) e da Progressão Geométrica (PG). As fórmulas para o cálculo do enésimo termo da PA e da PG são, respectivamente:
an=a1+(n-1) times r an=a1 times q^(n-1)
Finalmente, se o enésimo termo da PA for maior que o da PG, a função deve retornar a soma ( Sn ) dos n primeiros termos da PA. Caso contrário, a função deve retornar a soma (Sn) dos n primeiros termos da PG. As fórmulas da soma dos n primeiros termos de uma PA e de uma PG são, respectivamente:
& Sn=n times (a1+an)2 & Sn=a1 times (q^n-1)q-1
Observação 1: O nome da função deve ser exatamente como especificado acima e seu arquivo deve obrigatoriamente se chamar problema1.py.
Observação 2: Seu programa deve conter apenas a função descrita acima. Você não precisa realizar a entrada e saída de dados (não precisa usar as funções input() e print()).

Passo 1

Beleza, vamos por partes! O exercício pede para a gente criar uma função chamada progressoes que recebe três parâmetros: o primeiro termo da sequência ( a1), a razão e a quantidade de termos ( n). A gente vai trabalhar com Progressão Aritmética (PA) e Progressão Geométrica (PG). Precisamos calcular o enésimo termo de cada uma e, dependendo de qual é maior, retornar a soma dos primeiros n termos da PA ou da PG.

Passo 2

Primeiro, vamos entender o que são PA e PG.
  • Progressão Aritmética (PA): É uma sequência de números onde a diferença entre um termo e o anterior é sempre a mesma, chamada de razão ( r). A fórmula para encontrar o enésimo termo da PA é:
    an = a1 + (n-1) times r
  • Progressão Geométrica (PG): É uma sequência onde a razão entre um termo e o anterior é constante, também chamada de razão ( q). A fórmula para o enésimo termo da PG é:
    an = a1 times q^(n-1)

Passo 3

Agora, vamos calcular o enésimo termo para ambas as progressões usando as fórmulas que vimos.
Para a PA:
an^PA = a1 + (n-1) times r
Para a PG:
an^PG = a1 times q^(n-1)

Passo 4

Depois de calcular os enésimos termos, precisamos comparar qual deles é maior. Se o enésimo termo da PA for maior que o da PG, vamos calcular a soma dos n primeiros termos da PA. Caso contrário, vamos calcular a soma dos n primeiros termos da PG.
As fórmulas para as somas são:
  • Soma dos primeiros n termos da PA ( Sn^PA):
    Sn^PA = n times (a1 + an^PA)2
  • Soma dos primeiros n termos da PG ( Sn^PG):
    Sn^PG = a1 times (q^n - 1)q - 1

Passo 5

Agora, vamos colocar tudo isso dentro da função progressoes. A função vai receber a1, r (razão da PA) e n. Primeiro, vamos calcular an^PA e an^PG. Depois, comparamos qual é maior e calculamos a soma correspondente.

Passo 6

Finalmente, vamos garantir que a função retorne apenas a soma correta, de acordo com a comparação feita.

Resposta

def progressoes(a1, r, n):
    # Calculando o enésimo termo da PA
    an_pa = a1 + (n - 1) * r
    
    # Calculando o enésimo termo da PG
    an_pg = a1 * r**(n - 1)
    
    if an_pa > an_pg:
        # Calculando a soma dos n termos da PA
        Sn_pa = n * (a1 + an_pa) / 2
        return Sn_pa
    else:
        # Calculando a soma dos n termos da PG
        Sn_pg = a1 * (r**n - 1) / (r - 1)
        return Sn_pg

Exercícios relacionados