Questão FC374768
Dado o seguinte código recursivo em Python: def func(x): if x == 0: return 1 else: return 2 * func(x – 1) print(func(3)) Refere-se ao valor impresso do respectivo código, quando ch
Linguagens de Programação para Ciência de Dados
Instituto Consulplan · 2024
Dado o seguinte código recursivo em Python:
def func(x):
if x == 0:
return 1
else:
return 2 * func(x – 1)
print(func(3))
Refere-se ao valor impresso do respectivo código, quando chamado com o valor 3:
- 4.
- 6.
- 8.
- 12.
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
O código define a função func com um caso base: quando x == 0 a função retorna 1. Esse valor impede a recursão infinita e serve de multiplicador inicial.
Para func(3) ocorre uma sequência de chamadas recursivas que multiplicam por 2 a cada nível. Expandindo:
func(3) = 2 · func(2) = 2 · (2 · func(1)) = 2 · 2 · (2 · func(0)) = 2 · 2 · 2 · 1.
Em termos matemáticos isso é \(2^3 \cdot 1\) = \(8\). Portanto o resultado impresso por print(func(3)) é 8.
Conteúdo do catálogo FC Concursos · Atualizado em