A função recursiva abaixo calcula fatorial. Qual é a condição base? fatorial(n) = 1 se n = 0; fatorial(n) = n…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio da reutilização de partes de soluções existentes.
Fonte: Base Nacional Comum Curricular (MEC).Questão
A função recursiva abaixo calcula fatorial. Qual é a condição base? fatorial(n) = 1 se n = 0; fatorial(n) = n * fatorial(n-1) se n > 0.
- A) quando n é 1
- B) quando n é 0
- C) quando n é negativo
- D) quando n é 2
- E) quando n é maior que 0
✅ Resposta correta: alternativa B
Resolução passo a passo
- Em uma função recursiva, a condição base é o caso em que a função para de chamar a si mesma e devolve um valor diretamente, sem recursão.
- Na definição dada, fatorial(n) = 1 se n = 0. Esse é o único caso que retorna um valor fixo sem chamar fatorial novamente.
- O outro caso, fatorial(n) = n * fatorial(n-1) se n > 0, é o caso recursivo, pois chama a função com um argumento menor.
- Logo, a condição base é quando n é 0, alternativa B, que coincide com o gabarito oficial.
- A alternativa A está errada, pois n = 1 cai no caso recursivo (n > 0) e não no caso base.
- A alternativa C está errada, pois valores negativos não aparecem como caso de parada na definição, e a função não trata esse caso.
- A alternativa D está errada, pois n = 2 também passa pelo caso recursivo, chamando fatorial(1).
- A alternativa E está errada, pois n maior que 0 corresponde exatamente ao caso recursivo, justamente o oposto da condição base.
💡 Dica: Identifique a condição base da função recursiva.
Alternativa por alternativa
O aluno acha que o caso de parada é o primeiro valor positivo, confundindo o menor número que aparece na conta com a condição de parada.
Por que engana: Confundir a condicao base da recursao, escolhendo um valor diferente de zero como base, o que impede a funcao de terminar corretamente.
A condição base é n = 0, pois retorna 1 e para a recursão.
O aluno associa a parada da recursão a valores inválidos, pensando que a função deve parar quando o argumento sai do domínio, quando na verdade o caso base é o valor que encerra a sequência de chamadas.
O aluno confunde o valor de entrada de um exemplo numérico com a condição base, sem perceber que n = 2 ainda gera uma nova chamada fatorial(1).
O aluno inverte a lógica da recursão, tomando a condição do caso recursivo (n > 0) como se fosse a de parada.
Raio-X da questão
condição base de recursão
avaliacao
conceito de funcao recursiva · definicao de fatorial
Revisar conceitos de funções recursivas e suas condições base.
Confundir a condicao base da recursao, escolhendo um valor diferente de zero como base, o que impede a funcao de terminar corretamente.
pensamento_critico
abstrato
Questões parecidas com resolução
- Considere uma função recursiva que retorna o fatorial de um número. Qual é a base da recursão normalmente utilizada para…
- Identifique a função recursiva correta para calcular o fatorial de um número n.
- Qual das seguintes alternativas é um exemplo de recursão em uma função que calcula o fatorial de um número?
- Como uma função recursiva pode ser utilizada para calcular o fatorial de um número?
- Qual alternativa representa uma função recursiva correta que calcula o fatorial de um número?
- Descreva um algoritmo para calcular o fatorial de um número utilizando recursão.
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
