— A gente perdeu dois pedidos ontem — reclamou a atendente da padaria, olhando o caderno cheio de recados…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Aplicar a estratégia de decomposição para resolver problemas complexos, dividindo esse problema em partes menores, resolvendo-as e combinando suas soluções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— A gente perdeu dois pedidos ontem — reclamou a atendente da padaria, olhando o caderno cheio de recados. Pela manhã, chegam muitas mensagens: alguns clientes pedem pães diferentes, outros avisam alergias, e às vezes um produto acaba antes do fim da fila. Para diminuir erros, um grupo vai criar um programa simples, em blocos, que ajude no atendimento. O programa precisa: guardar o nome do cliente e os itens pedidos; avisar quando um item estiver esgotado para não aceitar aquele pedido; somar os pedidos do dia para gerar uma lista única para a cozinha; e, no final, montar uma mensagem pronta confirmando o pedido e o horário de retirada. Antes de programar, o grupo discute como dividir essa tarefa grande em partes menores, para depois juntar tudo em um único funcionamento. Com base no texto, identifique a divisão do problema em partes menores que melhor permite programar cada parte separadamente e, depois, combinar tudo no programa final.
- A) Dividir em: criar um programa diferente para cada cliente; salvar em pastas separadas; juntar no fim
- B) Dividir em: criar um bloco único que faça tudo do começo ao fim sem separar etapas
- C) Dividir em: cadastrar pedido; checar estoque do item; gerar lista da cozinha; montar mensagem de confirmação
- D) Dividir em: escolher cores das telas; desenhar botões; testar fontes; só depois pensar nas regras
- E) Dividir em: atendente anota; padeiro confere; caixa recebe; gerente responde mensagens
✅ Resposta correta: alternativa C
Resolução passo a passo
- O enunciado descreve um programa com quatro funções: guardar o nome do cliente e os itens pedidos; avisar se um item estiver esgotado; somar os pedidos do dia para a cozinha; e montar a mensagem de confirmação com o horário de retirada.
- Para programar em partes separadas e depois combinar tudo, cada parte deve corresponder a uma dessas funções. A alternativa C segue exatamente essa lógica: cadastrar pedido (guardar nome e itens), checar estoque do item (avisar esgotamento), gerar lista da cozinha (somar pedidos do dia) e montar mensagem de confirmação (texto final com horário de retirada).
- Cada bloco recebe uma entrada e produz uma saída que alimenta o próximo, o que permite testar cada parte isoladamente e depois juntá-las em um único funcionamento.
- Por que as outras estão erradas:
- A) Criar um programa para cada cliente não corresponde às tarefas do programa e fragmenta o trabalho sem critério funcional.
- B) Um bloco único vai contra o próprio objetivo da questão, que pede separar a tarefa grande em partes menores.
- D) Cores, botões e fontes são aspectos visuais, que não aparecem como exigência no texto.
- E) Atendente, padeiro, caixa e gerente são pessoas e papéis da padaria, não partes do programa a ser programado.
- Conclusão: a resposta correta é a alternativa C, em concordância com o gabarito oficial.
💡 Dica: Identifique as funções necessárias e agrupe-as em etapas que possam ser programadas separadamente.
Alternativa por alternativa
O aluno entende que dividir o problema é separar por cliente, como se cada pedido precisasse de um programa próprio, e não por função do sistema.
O aluno acredita que um bloco único que faz tudo é mais simples de programar, ignorando que o enunciado pede justamente a divisão em partes menores.
Separa por funções do sistema descritas no texto, permitindo resolver cada módulo e integrá-los no fluxo do atendimento.
O aluno confunde programação com design, achando que o primeiro passo é definir a aparência das telas e não as regras do problema descritas no texto.
O aluno toma as pessoas da padaria como etapas do programa, sem perceber que o texto pede a divisão das funções do sistema e não o fluxo de trabalho humano.
Por que engana: Pode confundir decomposição do problema com divisão do trabalho entre pessoas ou com etapas de aparência, sem separar as funções que o programa precisa executar.
Raio-X da questão
Decomposição de problemas em partes
avaliacao
Sequência lógica de instruções · Funções básicas de um programa
Revise decomposição de problemas: dividir uma tarefa complexa em etapas menores e combináveis.
Pode confundir decomposição do problema com divisão do trabalho entre pessoas ou com etapas de aparência, sem separar as funções que o programa precisa executar.
ciencia_tecnologia
tomada_decisao
cotidiano
Questões parecidas com resolução
- — Moça, minha senha é 14, mas a moça do balcão chamou a 15… — reclamou um cliente na fila do ponto de recarga de água…
- A fila na biblioteca do bairro aumentava quando muitas pessoas queriam usar as mesas de estudo. Para organizar as…
- Por que avisos sobre a subida de um rio chegam tarde a alguns moradores? Para responder a esse problema, a Defesa Civil…
- — Se o nome do remédio ficar sem horário, alguém pode deixar de avisar o cuidador — observou Joana, voluntária de um…
- Uma turma vai criar um programa para organizar a lista de tarefas de um evento escolar. Antes de programar, os…
- Em uma tarefa de programação, quais partes podem ser identificadas na decomposição do problema?
🔎 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
