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

O que acontece quando uma função recursiva não possui uma condição de parada?

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

O que acontece quando uma função recursiva não possui uma condição de parada?

  1. A) A função executa normalmente e retorna um valor.
  2. B) A função vai executar apenas uma vez.
  3. C) A função gera um erro de stack overflow.
  4. D) A função não tem efeito e termina imediatamente.
  5. E) A função retorna o valor padrão 0.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Uma função recursiva é aquela que chama a si mesma. Para que essas chamadas terminem, ela precisa de um caso base, ou seja, uma condição de parada em que a função devolve um valor sem chamar a si mesma novamente.
  2. Sem condição de parada, cada chamada gera outra chamada, e essas chamadas se acumulam na pilha de execução (stack, ou pilha de chamadas), que guarda o contexto de cada chamada ainda não finalizada.
  3. Como a memória reservada para a pilha é limitada, a sucessão de chamadas eventualmente a esgota, e o programa encerra com um erro de estouro de pilha, o chamado stack overflow. Portanto, a alternativa C está correta.
  4. A alternativa A está errada, pois a função nunca chega a retornar um valor, já que nunca termina as chamadas.
  5. A alternativa B está errada, pois sem condição de parada a função executa repetidamente, e não apenas uma vez.
  6. A alternativa D está errada, pois a função não termina imediatamente; ela continua chamando a si mesma até falhar.
  7. A alternativa E está errada, pois não há retorno de valor padrão 0; o que ocorre é a falha de execução por falta de memória.

💡 Dica: Pense sobre o conceito de recursão e suas implicações.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno imagina que a recursão, por ser uma repetição de chamadas, sempre se resolve sozinha e devolve um resultado. Não percebe que sem caso base nunca há um retorno.

B Erradaerro: Conceitual

O aluno confunde a chamada recursiva com uma execução única, supondo que a função roda uma vez e para. Não percebe que a auto-chamada se repete indefinidamente.

C Correta

Sem uma condição de parada, a função continuará chamando a si mesma até esgotar a pilha de chamadas.

D Erradaerro: Conceitual

O aluno acredita que a ausência de condição de parada faz a função simplesmente não produzir efeito e encerrar logo. Não entende que a função continua se chamando sem fim.

E Erradaerro: Conceituala que mais engana

O aluno associa o fim da função a um valor padrão, como 0, imaginando que o programa devolve um valor default quando não há parada. Não sabe que a falha ocorre por esgotamento de memória.

Por que engana: Achar que a funcao recursiva sempre termina ou retorna valor padrao sem condicao de parada.

Raio-X da questão

Dificuldade Média
Bloom Lembrar
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

função recursiva

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceito de funcao · recursao basica

📚 Reveja

Revisar as condições de parada em funções recursivas.

⚠️ Erro mais comum

Achar que a funcao recursiva sempre termina ou retorna valor padrao sem condicao de parada.

🌎 Tema transversal

ciencia_tecnologia

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