FC ConcursosFC Concursos

Questão FC374766

O que será armazenado na variável resultado após a execução deste código, quando a variável n for igual a 9?

Linguagens de Programação para Ciência de Dados

Instituto Consulplan · 2024

Considere o seguinte código em Python:

 

1 \(\quad\) def soma_recursiva(n):

2 \(\quad\quad\quad\) if n == 1:

3 \(\quad\quad\quad\quad\quad\) return 1;

4 \(\quad\quad\quad\) else:

5 \(\quad\quad\quad\quad\quad\) return n + soma_recursiva(n - 1)

6

7 \(\quad\) n = int(input("Entre com um valor para soma:"))

8 \(\quad\) resultado = soma_recursiva(n)

 

O que será armazenado na variável resultado após a execução deste código, quando a variável n for igual a 9?

  1. 15.
  2. 25.
  3. 35.
  4. 45.
Mostrar resposta e comentário

Gabarito

D

Comentário do professor

A função apresentada é uma função recursiva: possui um caso base que retorna 1 quando n == 1, e no caso geral retorna n + soma_recursiva(n − 1).
Isso garante que a chamada se decomponha em somas dos inteiros decrescentes até 1.

Logo, soma_recursiva(9) expande-se como 9 + 8 + 7 + ... + 1, ou seja, a soma de 1 até n. Essa é a soma dos primeiros n naturais.

Usando a fórmula conhecida \( \frac{n(n+1)}{2} \), para n = 9 temos \( \frac{9\cdot 10}{2} = 45 \).

Portanto, a variável resultado conterá o valor 45.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo