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

Por que uma mesma rua pode aparecer com 12 reclamacoes de poste apagado em um dia e, no fim, serem apenas 7…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO04

Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Por que uma mesma rua pode aparecer com 12 reclamacoes de poste apagado em um dia e, no fim, serem apenas 7 postes diferentes? Foi essa duvida que surgiu quando moradores de um bairro passaram a registrar falhas na iluminacao publica por um formulario no celular. Em dias de chuva, chegam mais de 150 registros, e muitos se repetem: duas pessoas descrevem o mesmo poste, mudando so a forma de escrever o nome da rua. Para agilizar, o grupo quer automatizar a rotina em um programa simples. A ideia e importar o arquivo exportado pelo formulario, descartar registros sem rua ou sem numero do poste, unificar os repetidos (mesma rua e mesmo poste) e, ao final, produzir (1) um resumo com as 3 ruas com mais postes apagados e (2) uma lista separada dos postes marcados como “perto de escola” para aviso imediato. Com base no texto, identifique a decomposicao mais adequada para transformar essa rotina em um programa, separando partes que possam virar funcoes ou blocos de codigo.

  1. A) Separar em: um grupo importa o arquivo, outro apaga registros ruins, outro confere repetidos, outro escreve o resumo final.
  2. B) Separar em: tratar numeros, tratar textos, tratar marcacoes, tratar nomes de ruas, tratar a lista urgente.
  3. C) Separar em: ler arquivo, validar e padronizar campos, unir repetidos, calcular totais, gerar resumo e lista urgente.
  4. D) Separar em: calcular totais por rua, depois unir repetidos, depois validar campos, por fim gerar resumo e lista.
  5. E) Separar em: criar um modelo de mensagem, escolher formato do resumo, definir cores, depois importar o arquivo e contar.

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Identifique o fluxo descrito no texto: importar o arquivo do formulario, descartar registros sem rua ou sem numero do poste, unificar repetidos (mesma rua e mesmo poste), calcular a contagem de postes apagados por rua, gerar o resumo das 3 ruas com mais ocorrencias e separar a lista de postes perto de escola. Passo 2: Uma boa decomposicao segue essa ordem logica, em que cada etapa recebe a saida da anterior. A alternativa C traz exatamente essas etapas: ler arquivo, validar e padronizar campos, unir repetidos, calcular totais, gerar resumo e lista urgente. Passo 3: A padronizacao dos campos vem antes da uniao dos repetidos porque nomes de rua escritos de formas diferentes (por exemplo, com ou sem abreviacoes e acentos) so podem ser reconhecidos como iguais depois de normalizados. Passo 4: Os totais so fazem sentido depois da unificacao, pois as 12 reclamacoes de uma rua devem ser reduzidas aos postes realmente distintos antes de contar. Passo 5: Por que as outras estao erradas: A divide por tarefas de pessoas (grupos), o que nao descreve funcoes de programa; B separa por tipo de dado e nao por etapa do processo, misturando conceitos; D inverte a ordem, pois calcula totais antes de unir repetidos e validar campos, o que daria contagens erradas; E inclui itens irrelevantes para a logica do programa, como cores e modelo de mensagem. Conclusao: a decomposicao correta e a da alternativa C, que pode virar funcoes como ler_arquivo, validar_campos, unir_repetidos, calcular_totais, gerar_resumo e gerar_lista_urgente.

💡 Dica: Identifique as etapas lógicas para processar os dados do formulário.

Alternativa por alternativa

A Erradaerro: Conceitual

Confunde decomposicao de um programa com divisao de trabalho entre pessoas, tratando cada grupo como um bloco sem definir entradas e saidas claras.

B Erradaerro: Conceituala que mais engana

Agrupa as partes pelo tipo de dado (numeros, textos, marcacoes) em vez da sequencia de etapas do processo, o que nao mostra como os dados fluem do arquivo ate o resumo.

Por que engana: Confundir etapas de processamento e não seguir uma ordem lógica para tratar os dados.

C Correta

Essa divisao segue as dependencias do problema e cria etapas automatizaveis que viram funcoes: entrada, limpeza, unificacao, calculo e saida.

D Erradaerro: Procedimental

Acredita que os totais podem ser calculados antes de unir repetidos e validar campos, ignorando que nomes de rua escritos de formas diferentes e registros sem dados contariam em duplicidade.

E Erradaerro: Interpretação

Se distrai com detalhes de apresentacao, como cores e modelo de mensagem, achando que sao partes centrais da logica do programa descrita no texto.

Raio-X da questão

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

decomposição de problemas computacionais

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceito de função em programação · estrutura de dados básica

📚 Reveja

estude como dividir problemas em funções ou blocos de código

⚠️ Erro mais comum

Confundir etapas de processamento e não seguir uma ordem lógica para tratar os dados.

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Estratégias de solução de problemas - Decomposiçã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.