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
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.
- A) Separar em: um grupo importa o arquivo, outro apaga registros ruins, outro confere repetidos, outro escreve o resumo final.
- B) Separar em: tratar numeros, tratar textos, tratar marcacoes, tratar nomes de ruas, tratar a lista urgente.
- C) Separar em: ler arquivo, validar e padronizar campos, unir repetidos, calcular totais, gerar resumo e lista urgente.
- D) Separar em: calcular totais por rua, depois unir repetidos, depois validar campos, por fim gerar resumo e lista.
- 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
- 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
Confunde decomposicao de um programa com divisao de trabalho entre pessoas, tratando cada grupo como um bloco sem definir entradas e saidas claras.
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.
Essa divisao segue as dependencias do problema e cria etapas automatizaveis que viram funcoes: entrada, limpeza, unificacao, calculo e saida.
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.
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
decomposição de problemas computacionais
diagnostico
conceito de função em programação · estrutura de dados básica
estude como dividir problemas em funções ou blocos de código
Confundir etapas de processamento e não seguir uma ordem lógica para tratar os dados.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Uma associação de moradores envia, todo sábado, um aviso aos voluntários que participam da coleta de roupas. Ela quer…
- Por que avisos sobre a subida de um rio chegam tarde a alguns moradores? Para responder a esse problema, a Defesa Civil…
- — Se a embalagem estiver suja, ela pode seguir para o mesmo coletor? — perguntou uma estudante durante a criação de um…
- Um programa repetia o mesmo cálculo de média em 3 trechos diferentes. Depois da refatoração, esse cálculo foi colocado…
- Qual técnica facilita testar isoladamente cada função decomposta de um algoritmo que processa arquivos de dados e…
- Projete a decomposição de alto nível de um algoritmo que alimenta um chatbot escolar a partir de múltiplos arquivos de…
Todas as questões de Estratégias de solução de problemas - Decomposiçã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
