— Moça, minha senha é 14, mas a moça do balcão chamou a 15… — reclamou um cliente na fila do ponto de recarga…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Descrever com precisão a solução de um problema, construindo o programa que implementa a solução descrita.
Fonte: Base Nacional Comum Curricular (MEC).Questã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. Para evitar confusão, o dono decidiu usar um tablet com um programa simples. Ele explicou as regras: ao tocar em “Nova senha”, a pessoa informa o nome e escolhe entre galão de 10 L ou 20 L. O programa deve gerar o próximo número disponível e guardar o pedido na ordem em que chegou. Ao tocar em “Chamar”, o atendente deve ver na tela qual é o próximo pedido e marcar que ele foi atendido, sem pular ninguém. No fim do dia, o dono quer ver quantos pedidos foram de 10 L e quantos foram de 20 L. No dia seguinte, a numeração deve recomeçar do 1. Com base no texto, identifique a decomposição em partes do programa que permite implementar as regras descritas, mantendo cada parte com uma tarefa principal.
- A) Separar o programa em funções para registrar pedido, enfileirar por chegada, chamar o próximo e fechar o dia com totais e reinício
- B) Separar o programa em funções para guardar só a última senha, chamar qualquer senha digitada e somar os totais no começo do dia
- C) Separar o programa em funções para ordenar nomes em ordem alfabética, chamar o primeiro da lista e somar quantos litros foram vendidos
- D) Separar o programa em funções para registrar pedido e já chamar o próximo, salvar tudo em um arquivo e apagar o arquivo no fim do dia
- E) Separar o programa em funções para desenhar a tela, escolher cores dos botões, tocar um som ao chamar e imprimir o relatório final
✅ Resposta correta: alternativa A
Resolução passo a passo
- O problema pede a decomposição do programa em partes, cada uma com uma tarefa principal, capazes de cumprir as regras do texto: gerar senhas sequenciais sem repetição, guardar os pedidos na ordem de chegada, chamar o próximo sem pular ninguém, contar pedidos de 10 L e 20 L e reiniciar a numeração no dia seguinte.
- Identificamos as tarefas exigidas pelo texto. (a) Registrar o pedido: receber nome e tamanho do galão e gerar o próximo número. (b) Manter a fila: guardar os pedidos na ordem de chegada. (c) Chamar o próximo: mostrar o primeiro pedido da fila e marcá-lo como atendido, sem pular ninguém. (d) Fechar o dia: contar pedidos de 10 L e de 20 L e reiniciar a numeração do 1.
- A alternativa A associa exatamente essas tarefas: registrar pedido, enfileirar por chegada, chamar o próximo e fechar o dia com totais e reinício. Cada parte tem uma responsabilidade principal, e o conjunto cobre todas as regras do texto. Portanto, A é a correta, coincidindo com o gabarito oficial.
- Por que as outras estão erradas: B guarda só a última senha e chama qualquer senha, o que contraria a ordem de chegada. C ordena por nome, o que faria o programa pular a ordem de chegada e não controla a numeração. D chama o próximo dentro do registro e apaga o arquivo no fim do dia, perdendo os dados necessários para os totais e misturando tarefas. E trata de aspectos visuais e de impressão, que não são exigidos pelas regras do programa.
💡 Dica: Identifique as funções principais do programa conforme as regras descritas.
Alternativa por alternativa
Atende às regras: entrada do pedido, controle de fila, atendimento sem pular, totais por tipo e reinício diário, cada função com papel claro.
O aluno acha que basta guardar a última senha e chamar qualquer número digitado, ignorando que os pedidos devem ser atendidos na ordem de chegada sem pular ninguém.
O aluno imagina que os pedidos devem ser organizados por ordem alfabética de nome, o que não aparece no texto, que exige ordem de chegada.
O aluno mistura registro e chamada numa mesma tarefa e acha que apagar o arquivo no fim do dia é adequado, sem perceber que isso eliminaria os dados necessários para contar os pedidos de 10 L e 20 L.
O aluno confunde a decomposição de um programa com a descrição de elementos visuais e periféricos, como cores, sons e impressão, que não são regras pedidas no enunciado.
Raio-X da questão
decomposição de programa, funções, tarefas
diagnostico
conceito de função em programação · estrutura de dados básica
Estude decomposição de problemas e funções em programação.
Confundir as funções do programa ou não separar claramente as tarefas principais na decomposição.
pensamento_critico
cotidiano
Questões parecidas com resolução
- — A gente perdeu dois pedidos ontem — reclamou a atendente da padaria, olhando o caderno cheio de recados. Pela manhã…
- — Se a gente separar errado, perde tempo na hora de arrumar as prateleiras — reclamou uma voluntária ao receber caixas…
- 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…
- Na porta de um centro comunitário, voluntários recebem pedidos de doação e querem reduzir erros na hora de separar e…
🔎 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
