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?
- 15.
- 25.
- 35.
- 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