FC ConcursosFC Concursos

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:

  1. 4.
  2. 6.
  3. 8.
  4. 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

Continue aprendendo