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