GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO01Fácil⏱ medio

— A proposta sobre a praça recebeu respostas dentro de outras respostas — observou a mediadora da plataforma…

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

— A proposta sobre a praça recebeu respostas dentro de outras respostas — observou a mediadora da plataforma de participação cidadã. Para localizar sugestões repetidas, o sistema deve ler cada mensagem e também todas as respostas ligadas a ela. Como uma resposta pode receber novas respostas, não se sabe antecipadamente quantos níveis haverá em cada conversa. A programadora criou o procedimento verificar(mensagem). Primeiro, ele registra o texto da mensagem recebida. Depois, para cada resposta ligada a ela, executa novamente verificar(resposta). Assim, o mesmo procedimento é usado tanto nas mensagens iniciais quanto nas respostas em qualquer nível da conversa. Analise o procedimento descrito e identifique a regra necessária para que ele percorra todas as conversas sem continuar executando chamadas desnecessárias.

  1. A) Definir que, ao encontrar uma resposta, a função ignore as respostas ligadas a ela.
  2. B) Definir que, após cada resposta, a função retorne à primeira mensagem da conversa.
  3. C) Definir que, após registrar uma mensagem, a função apague as respostas já examinadas.
  4. D) Definir que, sem respostas ligadas, a função conclua aquele caminho de leitura.
  5. E) Definir que, para cada resposta, a função execute duas vezes a mesma leitura.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. O procedimento verificar(mensagem) é recursivo, pois chama a si mesmo para cada resposta ligada à mensagem. Para que uma recursão termine, é preciso uma condição de parada, isto é, um caso em que a função não faça mais chamadas.
  2. No texto, a função registra a mensagem e depois, para cada resposta, executa verificar(resposta). Se uma mensagem ou resposta não tiver nenhuma resposta ligada, o laço não executa nenhuma chamada, mas a função também não tem uma regra explícita que indique que aquele caminho foi concluído.
  3. A regra que resolve isso é a alternativa D: sem respostas ligadas, a função conclui aquele caminho de leitura. Essa é a base da recursão. Ao chegar a um nó sem filhos, a execução volta ao nível anterior e continua com as demais respostas, sem chamadas desnecessárias.
  4. Por que as outras estão erradas: A) ignorar as respostas impediria justamente a leitura de todos os níveis da conversa, que é o objetivo do sistema. B) voltar à primeira mensagem geraria repetição e possivelmente laços infinitos, sem relação com o término do percurso. C) apagar as respostas examinadas destruiria os dados que o sistema precisa para localizar sugestões repetidas. E) executar a mesma leitura duas vezes para cada resposta aumenta as chamadas desnecessárias, o oposto do que a questão pede.
  5. Conclusão: a letra D é a correta e coincide com o gabarito oficial.

💡 Dica: Analise o funcionamento da recursão e a condição de parada do procedimento.

Alternativa por alternativa

A Erradaerro: Interpretação

O aluno acredita que ignorar as respostas ligadas acelera o procedimento, sem perceber que isso deixaria de ler os níveis mais profundos da conversa.

B Erradaerro: Conceitual

O aluno imagina que voltar à primeira mensagem após cada resposta organiza a leitura, sem perceber que isso cria repetições e não define quando o percurso termina.

C Erradaerro: Conceitual

O aluno confunde o controle de execução com a manutenção dos dados, achando que apagar respostas já examinadas evita chamadas, quando na verdade elimina informações necessárias para localizar repetições.

D Correta

Correta. A ausência de respostas funciona como caso-base: encerra a chamada atual, após o registro da mensagem, sem impedir a leitura de outros caminhos.

E Erradaerro: Procedimental

O aluno pensa que repetir a leitura reforça a verificação, sem perceber que isso gera chamadas duplicadas e não resolve a condição de parada da recursão.

Raio-X da questão

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

recursão e condição de parada

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceito de recursão · condição de parada em algoritmos

📚 Reveja

Estude o conceito de recursão e a importância da condição de parada em algoritmos recursivos.

⚠️ Erro mais comum

O aluno pode esquecer de incluir uma condição de parada, causando chamadas infinitas ou desnecessárias.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Programação - Programação com listas e recursão

🔎 Resolver outra questão

Cole o enunciado e veja a resolução passo a passo, a alternativa correta e por que as outras estão erradas.

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.