Para resolver um problema usando recursão, qual é o principal requisito da função recursiva?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções de problemas usando a técnica de recursão e automatizar tais soluções usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Para resolver um problema usando recursão, qual é o principal requisito da função recursiva?
- A) Variáveis globais
- B) Iteração
- C) Condição base
- D) Complexidade alta
- E) Limite de chamadas
✅ Resposta correta: alternativa C
Resolução passo a passo
- Recursão é a técnica em que uma função resolve um problema chamando a si mesma com uma entrada menor, até chegar a um caso simples que pode ser respondido diretamente.
- Para que essas chamadas sucessivas terminem, a função precisa de uma condição base, isto é, um caso de parada em que ela retorna um valor sem fazer novas chamadas.
- Sem a condição base, a função chamaria a si mesma indefinidamente, causando estouro de pilha (stack overflow). Por isso, a condição base é o requisito essencial.
- A alternativa A está errada, pois recursão não exige variáveis globais; o estado pode ser passado por parâmetros.
- A alternativa B está errada, pois iteração é outra técnica de repetição (laços como for e while), não um requisito da recursão.
- A alternativa D está errada, pois complexidade alta é uma característica possível de algumas soluções, não um requisito da função.
- A alternativa E está errada, pois o limite de chamadas é consequência do problema de parada, não o requisito principal; o que garante o término é a condição base.
- Conclusão: o gabarito C está correto, pois a condição base é o principal requisito de qualquer função recursiva.
💡 Dica: Identifique o requisito fundamental da recursão.
Alternativa por alternativa
O aluno pode imaginar que a função recursiva precisa armazenar o estado em variáveis globais para acompanhar as chamadas, confundindo recursão com uso de estado compartilhado.
O aluno pode associar recursão a repetição e achar que iteração é o requisito, sem perceber que iteração é uma técnica alternativa e não uma exigência da recursão.
Uma condição base é essencial para que a função recursiva termine.
O aluno pode supor que a recursão só é válida quando o algoritmo é complexo, confundindo uma característica eventual da solução com um requisito da função.
O aluno pode confundir o limite de chamadas, que é um efeito do término, com o mecanismo que realmente garante o fim das chamadas, que é a condição base.
Por que engana: Confundir a necessidade da condição base para evitar chamadas infinitas com outros conceitos como iteracao ou variaveis globais.
Raio-X da questão
função recursiva
avaliacao
conceito de funcao · conceito de condicao base
Revisar os conceitos de recursão e suas características.
Confundir a necessidade da condição base para evitar chamadas infinitas com outros conceitos como iteracao ou variaveis globais.
pensamento_critico
abstrato
Questões parecidas com resolução
- Em uma função recursiva, qual é o elemento crucial para evitar um loop infinito?
- Em uma função recursiva que processa uma lista, qual é o papel do caso base (base case) na definição da recursão?
- Em um programa, você precisa calcular o fatorial de um número usando recursão. Qual parte do algoritmo é crucial para…
- Em um programa, qual é o uso correto da recursão?
- Explique como a técnica de recursão pode ser utilizada para resolver um problema específico em programação e quais…
- Qual é a principal vantagem de usar recursão em um algoritmo para resolver problemas relacionados a listas?
Todas as questões de Programação - Programação com listas e 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
