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

Por que uma lâmpada apagada pode continuar sem reparo por vários dias? Na central de atendimento de um…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO02

Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Por que uma lâmpada apagada pode continuar sem reparo por vários dias? Na central de atendimento de um município, moradores enviam avisos sobre falhas na iluminação pública. Em uma sexta-feira, chegaram 18 avisos; na segunda-feira, foram 47. Cada aviso informa o bairro, o número do poste, o tipo de falha e se a vistoria já ocorreu. Ao fim do expediente, o sistema deve separar os avisos ainda sem vistoria e encaminhá-los ao setor responsável pelo tipo de defeito. Como a quantidade de avisos muda diariamente, estudantes foram convidados a propor uma forma de organizar os dados e executar essa tarefa sem reescrever o programa a cada novo aviso. Identifique a estratégia de programação que permite atender à necessidade da central, mesmo quando varia a quantidade de avisos recebidos.

  1. A) Guardar os avisos sem verificar a vistoria e interromper a leitura após encontrar o primeiro pendente.
  2. B) Guardar os avisos em uma lista, percorrê-la e encaminhar os pendentes conforme o tipo de falha.
  3. C) Guardar somente o total diário de avisos e encaminhar todos os bairros ao mesmo setor.
  4. D) Guardar um aviso por vez e substituir o anterior sempre que chegar uma nova mensagem.
  5. E) Guardar cada aviso em uma variável de nome fixo e criar novas variáveis manualmente.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. O problema exige guardar um número variável de avisos (18, 47, e outros valores no futuro) e, ao final do expediente, separar os que ainda não tiveram vistoria e encaminhá-los ao setor do tipo de defeito, sem reescrever o programa a cada novo aviso.
  2. A estratégia adequada é usar uma estrutura de dados que cresce conforme necessário, como uma lista. Cada aviso é adicionado à lista ao chegar, e o programa percorre todos os elementos com uma repetição (laço), verificando o campo de vistoria. Como o laço percorre a lista inteira, a mesma lógica funciona com 18, 47 ou qualquer quantidade de avisos.
  3. Para cada aviso pendente encontrado, o programa usa o campo do tipo de falha para decidir para qual setor enviá-lo. Assim a separação e o encaminhamento são feitos de forma automática e genérica.
  4. Analisando as alternativas erradas: A interrompe a leitura no primeiro pendente, o que impediria encaminhar os demais avisos pendentes. C guarda apenas um total, perdendo os dados de bairro e tipo de falha necessários para o encaminhamento, e envia tudo ao mesmo setor, contrariando o enunciado. D substitui o aviso anterior a cada chegada, perdendo dados que ainda precisam ser processados. E cria variáveis manualmente, o que exigiria alterar o programa a cada novo aviso, justamente o que o enunciado quer evitar.
  5. Portanto, a resposta correta é a alternativa B, pois a lista permite armazenar quantidades variáveis de avisos e percorrê-la com uma repetição que trata todos os casos da mesma forma.

💡 Dica: Pense em estruturas de dados que se adaptam a quantidades variáveis de informações.

Alternativa por alternativa

A Erradaerro: Procedimental

O estudante acredita que basta encontrar o primeiro aviso sem vistoria para concluir a tarefa, ignorando que todos os pendentes precisam ser encaminhados.

B Correta

A lista reúne uma quantidade variável de avisos, e sua leitura permite selecionar os que não tiveram vistoria e automatizar o encaminhamento.

C Erradaerro: Interpretação

O estudante entende que um simples total diário resolve o problema, sem perceber que o encaminhamento depende do bairro e do tipo de falha de cada aviso individual.

D Erradaerro: Conceitual

O estudante imagina que guardar apenas o último aviso é suficiente, pois não percebe que cada aviso precisa ser armazenado até ser processado ao fim do expediente.

E Erradaerro: Conceitual

O estudante pensa que criar variáveis separadas para cada aviso é uma forma válida de lidar com quantidades variáveis, sem notar que isso exige alterar o programa a cada novo aviso.

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 unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ situacional🧩 progressao
🎯 Conceito central

estrutura de dados dinâmica

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceito de estrutura de dados · variáveis e tipos de dados

📚 Reveja

Estude estruturas de dados que permitem armazenamento flexível, como listas encadeadas.

⚠️ Erro mais comum

Confundir estruturas estáticas com dinâmicas, achando que arrays fixos resolvem o problema.

🤝 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

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