GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO01Média⏱ medio

Quando utilizar recursão ao invés de iteração em um algoritmo?

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO01

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

Quando utilizar recursão ao invés de iteração em um algoritmo?

  1. A) Quando o problema é simples
  2. B) Quando há muitos dados
  3. C) Quando o problema pode ser dividido
  4. D) Quando a performance é prioridade
  5. E) Quando não se usa listas

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. A recursão é uma técnica em que uma função chama a si mesma para resolver um problema. Ela é indicada quando o problema pode ser dividido em subproblemas menores do mesmo tipo, que se resolvem da mesma forma, e cujas soluções parciais se combinam para formar a solução final. Exemplos clássicos são fatorial, Fibonacci, percurso em árvores e algoritmos de divisão e conquista como o merge sort.
  2. Analisando a alternativa C, 'Quando o problema pode ser dividido', ela descreve exatamente essa condição. Por isso, C é a resposta correta, e ela coincide com o gabarito oficial.
  3. A alternativa A está errada porque problemas simples costumam ser resolvidos de forma direta, com iteração, sem necessidade de chamadas recursivas.
  4. A alternativa B está errada porque a quantidade de dados, por si só, não determina o uso de recursão; grandes volumes são frequentemente tratados com laços iterativos.
  5. A alternativa D está errada porque a recursão tende a consumir mais memória, pois cada chamada ocupa espaço na pilha de execução, e geralmente é menos eficiente que a iteração equivalente; portanto, ela não é escolhida por performance.
  6. A alternativa E está errada porque o uso ou não de listas não tem relação com a escolha entre recursão e iteração; listas podem ser percorridas das duas formas.
  7. Conclusão: a recursão se justifica pela estrutura do problema, que pode ser decomposto em partes semelhantes, e não pelo tamanho dos dados, pela simplicidade ou pela eficiência.

💡 Dica: Considere as vantagens e desvantagens de cada abordagem.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno associa recursão a problemas simples, talvez por confundir a ideia de caso base com simplicidade do problema. Na prática, a recursão se fundamenta na decomposição do problema, não na sua simplicidade.

Por que engana: Confundir a aplicabilidade da recursao, pensando que ela e sempre melhor para problemas simples ou com muitos dados.

B Erradaerro: Conceitual

O aluno acredita que recursão serve para lidar com grandes volumes de dados, confundindo a escala dos dados com a estrutura do problema. Grandes volumes costumam favorecer soluções iterativas, que não acumulam chamadas na pilha.

C Correta

Recursão é útil para problemas que se podem dividir em subproblemas.

D Erradaerro: Senso comum

O aluno supõe que recursão é mais rápida ou mais otimizada, o que é um senso comum equivocado, pois cada chamada gera custo extra de pilha e de execução. A iteração costuma ser preferida quando desempenho é prioridade.

E Erradaerro: Conceitual

O aluno enxerga uma relação inexistente entre o uso de listas e a escolha da técnica, possivelmente por associar recursão a estruturas de dados encadeadas. Listas podem ser percorridas tanto por recursão quanto por iteração.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 progressao
🎯 Conceito central

recursão e iteração

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de recursao · conceito de iteracao

📚 Reveja

Revisar as características de algoritmos recursivos e iterativos.

⚠️ Erro mais comum

Confundir a aplicabilidade da recursao, pensando que ela e sempre melhor para problemas simples ou com muitos dados.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

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

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.