Escreva uma função chamada progressoes que recebe como parâmetros o termo inicial ( ), a razão e a quantidade de termos ( ). Em seguida, a função deve calcular o enésimo termo ( ) 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:
Finalmente, se o enésimo termo da PA for maior que o da PG, a função deve retornar a soma ( ) dos primeiros termos da PA. Caso contrário, a função deve retornar a soma dos primeiros termos da PG. As fórmulas da soma dos primeiros termos de uma PA e de uma PG são, respectivamente:
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 ( ), a razão e a quantidade de termos ( ). 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 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 ( ). A fórmula para encontrar o enésimo termo da PA é:
  • 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 ( ). A fórmula para o enésimo termo da PG é:

Passo 3

Agora, vamos calcular o enésimo termo para ambas as progressões usando as fórmulas que vimos.
Para a PA:
Para a PG:

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 primeiros termos da PA. Caso contrário, vamos calcular a soma dos primeiros termos da PG.
As fórmulas para as somas são:
  • Soma dos primeiros termos da PA ( ):
  • Soma dos primeiros termos da PG ( ):

Passo 5

Agora, vamos colocar tudo isso dentro da função progressoes. A função vai receber , (razão da PA) e . Primeiro, vamos calcular e . 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

Muitas vezes o uso de encadeamento simples acarreta a necessidade de incluir um comando de repetição (laço) para fazer um ponteiro (ou indexador) percorrer a estrutura a partir do início até ele se posicionar no penúltimo elemento da estrutura, demandado possivelmente por uma inserção e/ou uma deleção. No exemplo em questão, pela forma de implementação escolhida, podemos afirmar que isso ocorre sempre que se fizer uma operação:
b) deleção na fila de dados.
As Estruturas de Dados definem a forma como os dados serão armazenados na memória do computador. Duas das estruturas de dados mais utilizadas na computação são a Pilha e a Fila. Considere as afirmativas abaixo que comparam as estruturas de Pilha e Fila:
I - A estrutura chamada Pilha é descrita como uma estratégia LIFO - last in, first out (o último que entra é o primeiro que sai), isto é, os elementos da pilha só podem ser retirados na ordem inversa à ordem que foram introduzidos.
II - A estrutura chamada Fila é descrita como uma estratégia FIFO - first in, first out (o primeiro que entra é o primeiro que sai), isto é, os elementos da pilha só podem ser retirados na mesma ordem em que foram inseridos.
III - Uma estrutura que recebe dos dados 10, 20, 30, 40 e 50 nessa ordem e só permite a sua retirada na ordem 50, 40, 30, 20 e 10 é um exemplo de uma Pilha.
IV - Uma estrutura que recebe dos dados 10, 20, 30, 40 e 50 nessa ordem e só permite a sua retirada na ordem 50, 40, 30, 20 e 10 é um exemplo de uma Fila.
V - Um programa que usa apenas estruturas de Pilha recebe os dados 1, 2, 3, 4 e 5 nessa ordem e imprime os dados na ordem 1, 2, 3, 4 e 5 pode ter sido implementado com duas estruturas de Pilha consecutivas.
As afirmativas CORRETAS são:
c) I, II e III, apenas.