— Se o nome do remédio ficar sem horário, alguém pode deixar de avisar o cuidador — observou Joana, voluntária…
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
— Se o nome do remédio ficar sem horário, alguém pode deixar de avisar o cuidador — observou Joana, voluntária de um abrigo de animais. Para reduzir esse risco, estudantes vão criar um programa de alertas. Em cada ficha digital, constam o nome do animal, o medicamento, o horário previsto e a informação “aplicado” ou “pendente”. A cada hora, o programa deve verificar todas as fichas. Quando o horário registrado coincide com a hora da verificação e o remédio ainda está pendente, deve aparecer um aviso com o nome do animal e do medicamento. Fichas de remédios já aplicados ou marcados para outros horários não devem gerar aviso. Antes de programar, o grupo discutiu como dividir essa tarefa em partes menores. Avalie as formas de dividir a tarefa descrita e identifique a que permite construir o programa sem deixar de verificar nenhuma condição necessária.
- A) Obter a hora atual, percorrer as fichas, mostrar todos os medicamentos e depois conferir a situação.
- B) Obter a hora atual, percorrer as fichas, conferir o horário e mostrar aviso para remédios aplicados.
- C) Obter a hora atual, percorrer as fichas, conferir horário e situação e mostrar os avisos necessários.
- D) Obter a hora atual, escolher uma ficha, conferir horário e situação e mostrar um único aviso.
- E) Obter a hora atual, selecionar fichas pendentes e mostrar aviso para todos os animais selecionados.
✅ Resposta correta: alternativa C
Resolução passo a passo
- O enunciado exige que o programa, a cada hora, percorra todas as fichas e mostre aviso apenas quando duas condições são verdadeiras ao mesmo tempo: o horário registrado coincide com a hora da verificação e o remédio está pendente. Por isso, a divisão correta precisa incluir a obtenção da hora atual, a varredura de todas as fichas, a conferência do horário e da situação e a exibição dos avisos necessários.
- A alternativa C contém exatamente essas etapas: obter a hora atual, percorrer as fichas, conferir horário e situação e mostrar os avisos necessários. Nenhuma condição fica de fora e nenhuma etapa é desnecessária.
- A alternativa A está errada porque mostra todos os medicamentos sem filtrar, deixando a conferência para depois e, na prática, gerando avisos indevidos para remédios já aplicados ou marcados para outros horários.
- A alternativa B está errada porque manda mostrar aviso justamente para remédios aplicados, o oposto do que o enunciado pede, e não exige que o remédio esteja pendente.
- A alternativa D está errada porque escolhe uma única ficha, quando o programa deve verificar todas as fichas a cada hora.
- A alternativa E está errada porque filtra apenas as fichas pendentes e ignora a comparação entre o horário registrado e a hora atual, o que faria avisos aparecerem em horários que não são os previstos.
- O gabarito oficial C está correto. A decomposição que preserva todas as condições é a da alternativa C.
💡 Dica: Analise as condições para gerar avisos e como dividir a tarefa em partes que cubram todas elas.
Alternativa por alternativa
O aluno acredita que basta mostrar todos os medicamentos e só depois verificar a situação, como se a conferência pudesse ser feita por último ou pelo usuário. Assim, ignora que a condição de horário e de pendência deve filtrar os avisos antes de exibi-los.
O aluno inverte a regra de situação, achando que o aviso deve ser mostrado para remédios aplicados, e não para pendentes. Também deixa de conferir a situação de forma correta.
Correta: reúne entrada, repetição, verificação das duas condições e saída, atendendo a todas as regras descritas.
O aluno entende que o programa trata uma ficha por vez, como se a verificação pudesse ser feita para um único animal. Ele não percebe que o enunciado exige verificar todas as fichas a cada hora.
O aluno acredita que selecionar apenas as fichas pendentes já basta para gerar o aviso, sem comparar o horário registrado com a hora atual. Com isso, avisos seriam mostrados em horários que não coincidem com o previsto.
Raio-X da questão
divisao de tarefas em programacao
diagnostico
logica de programacao basica · condicoes e estruturas de decisao
estude como decompor problemas em partes menores e verificar condicoes em programacao
ignorar alguma condicao importante ao dividir a tarefa, resultando em programa incompleto ou incorreto.
pensamento_critico
cotidiano
Questões parecidas com resolução
- — O caminhão não pode ir a uma rua em dia errado — explicou a agente de limpeza durante a reunião do bairro. O município…
- A fila na biblioteca do bairro aumentava quando muitas pessoas queriam usar as mesas de estudo. Para organizar as…
- — A gente perdeu dois pedidos ontem — reclamou a atendente da padaria, olhando o caderno cheio de recados. Pela manhã…
- — 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 rua da ponte precisa aparecer antes das demais no mapa de vistoria — observou a agente da Defesa Civil após uma…
- Por que avisos sobre a subida de um rio chegam tarde a alguns moradores? Para responder a esse problema, a Defesa Civil…
🔎 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
