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
- No bairro do cais, a prefeitura recebeu muitas mensagens sobre postes apagados, buracos nas ruas e lixo acumulado. Como…
- Cerca de 300 sacos de lixo foram recolhidos em um mutirão de limpeza na orla. Para registrar a coleta, cada saco recebeu…
- Na porta de um centro comunitário, voluntários recebem pedidos de doação e querem reduzir erros na hora de separar e…
- Na organização de uma feira de troca de livros e brinquedos do bairro, quatro estudantes ficaram responsáveis por…
- "Por que a inscricao do doador da erro, mas a do entregador passa?" perguntou Joao, enquanto o grupo cadastrava pessoas…
- No fim de semana da feira de ciências do bairro, a equipe de organização percebeu um problema repetido: dezenas de…
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
