GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO01Difícil⏱ curto

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

Habilidade BNCC EM13CO01

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.

  1. A) quando n é 1
  2. B) quando n é 0
  3. C) quando n é negativo
  4. D) quando n é 2
  5. E) quando n é maior que 0

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. 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.
  2. Na definição dada, fatorial(n) = 1 se n = 0. Esse é o único caso que retorna um valor fixo sem chamar fatorial novamente.
  3. O outro caso, fatorial(n) = n * fatorial(n-1) se n > 0, é o caso recursivo, pois chama a função com um argumento menor.
  4. Logo, a condição base é quando n é 0, alternativa B, que coincide com o gabarito oficial.
  5. A alternativa A está errada, pois n = 1 cai no caso recursivo (n > 0) e não no caso base.
  6. 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.
  7. A alternativa D está errada, pois n = 2 também passa pelo caso recursivo, chamando fatorial(1).
  8. 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

A Erradaerro: Conceituala que mais engana

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.

B Correta

A condição base é n = 0, pois retorna 1 e para a recursão.

C Erradaerro: Conceitual

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.

D Erradaerro: Interpretação

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).

E Erradaerro: Conceitual

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

Dificuldade Difícil
Bloom Analisar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ direta🧩 consolidacao
🎯 Conceito central

condição base de recursão

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de funcao recursiva · definicao de fatorial

📚 Reveja

Revisar conceitos de funções recursivas e suas condições base.

⚠️ Erro mais comum

Confundir a condicao base da recursao, escolhendo um valor diferente de zero como base, o que impede a funcao de terminar corretamente.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.