FC ConcursosFC Concursos

Questão FC670841

A respeito da lógica de programação, das linguagens de programação Python e da ferramenta Node.js, julgue o item a seguir. O código Python a seguir cria uma função recursiva que ca

Sem classificação

QUADRIX · 2025

A respeito da lógica de programação, das linguagens de programação Python e da ferramenta Node.js, julgue o item a seguir.

 

O código Python a seguir cria uma função recursiva que calcula o fatorial de n, mas possui um erro que impede sua execução para n=0.

def fatorial(n):      return n * fatorial(n‑1)

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A afirmação é julgada CERTO porque a função recursiva apresentada não possui um caso base que interrompa a recursão. Em matemática, vale \(0! = 1\), portanto a implementação precisa tratar explicitamente o valor zero.

No código mostrado, ao chamar fatorial(0) o Python avalia primeiro o argumento de retorno e tenta executar fatorial(-1), iniciando chamadas recursivas para valores negativos indefinidamente até ocorrer um RecursionError. A ausência do caso base impede a execução correta para n=0.

A correção simples é incluir verificação inicial, por exemplo: if n == 0: return 1; else: return n * fatorial(n-1). Também é recomendável validar que n seja um inteiro não negativo antes de calcular.

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

Continue aprendendo