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
- Durante uma campanha de arrecadação, uma escola receberá alimentos e produtos de higiene para montar cestas destinadas a…
- Em um exercício de preparação para períodos de chuva intensa, uma central municipal de Defesa Civil precisa localizar…
- Em ações de fiscalização ambiental no Brasil, imagens de satélite podem ser comparadas em diferentes datas para indicar…
- Uma família criou um programa para organizar as compras do mês. O programa recebe os preços, soma os produtos e…
- — Sem conexão estável no rio, o alerta precisa aparecer no próprio tablet — afirmou a técnica que acompanha sons de aves…
- Falhas em formulários digitais de serviços públicos levaram um setor de tecnologia a testar cinco programas de análise…
🔎 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
