— Por que a tela do totem volta sozinha para o começo? — perguntou um usuário no terminal rodoviário, ao…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Usar autômatos para descrever comportamentos de forma abstrata automatizando-os através de uma linguagem de programação baseada em eventos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— Por que a tela do totem volta sozinha para o começo? — perguntou um usuário no terminal rodoviário, ao tentar recarregar o cartão de transporte. O atendente explicou que o totem foi programado como um conjunto de “estados” (por exemplo: INICIO, CPF, SERVICO, CONFIRMA, IMPRESSAO). Cada ação do usuário gera um evento: tocar na tela, digitar e avançar, escolher o serviço, confirmar, ou apertar “Cancelar”. Há ainda um evento de inatividade: se ninguém tocar por 20 segundos durante o preenchimento, o totem retorna ao início e apaga os dados, para evitar que o próximo usuário veja informações anteriores. Uma regra importante é que, depois que a impressão do comprovante começa, o totem deve concluir a impressão sem interrupção. Por isso, ao apertar “Cancelar” nesse momento, nada deve mudar na tela; o retorno ao início só ocorre ao terminar a impressão. Com base no texto, identifique o tratamento do evento “Cancelar” que implementa corretamente esse comportamento em um programa baseado em eventos.
- A) No evento Cancelar, se estado == INICIO entao estado = INICIO; senao manter estado.
- B) No evento Cancelar, estado = CONFIRMA para permitir que o usuário tente novamente.
- C) No evento Cancelar, estado = INICIO em qualquer estado, inclusive durante IMPRESSAO.
- D) No evento Cancelar, se estado == IMPRESSAO entao estado = INICIO; senao manter estado.
- E) No evento Cancelar, se estado != IMPRESSAO entao estado = INICIO; senao manter estado.
✅ Resposta correta: alternativa E
Resolução passo a passo
- O enunciado pede o tratamento do evento Cancelar que respeita a regra de que, durante a impressão, nada muda na tela. Ou seja, o cancelamento só pode levar ao INICIO quando o totem não estiver imprimindo. Passo 2: Essa condição se traduz em: se estado é diferente de IMPRESSAO, então estado = INICIO; senão, mantém o estado. Passo 3: Verificando a alternativa E, ela faz exatamente isso: fora da impressão, cancelar volta ao início; durante a impressão, o estado é mantido até a impressão terminar. Passo 4: A alternativa A está errada porque só trata o caso em que já estamos no INICIO, deixando o cancelamento sem efeito em CPF, SERVICO e CONFIRMA, o que impediria o usuário de desistir do processo. Passo 5: A alternativa B está errada porque manda o totem para CONFIRMA, o que não é cancelar e ainda avança o fluxo em vez de encerrá-lo. Passo 6: A alternativa C está errada porque volta ao INICIO também durante IMPRESSAO, violando a regra de concluir a impressão sem interrupção. Passo 7: A alternativa D está errada porque inverte a condição: só mantém o estado durante a impressão e, nos demais estados, reinicia, o que faz sentido, mas a condição escolhida faz o cancelamento agir justamente no momento em que deveria ser ignorado. Observação: a D e a E parecem próximas, mas só a E trata corretamente a condição de exceção (impressão). Conclusão: a alternativa correta é a E, de acordo com o gabarito oficial.
💡 Dica: Analise a condição do estado para o evento Cancelar conforme o texto.
Alternativa por alternativa
Acredita que o cancelamento só deve ter efeito quando o totem já está no início, ignorando que o usuário precisa poder desistir em qualquer etapa do preenchimento, como CPF ou SERVICO.
Confunde cancelar com repetir a etapa de confirmação, achando que o evento Cancelar deve levar o fluxo para CONFIRMA para nova tentativa, em vez de encerrar ou reiniciar a operação.
Entende que Cancelar deve sempre reiniciar o totem, ignorando a regra explícita do texto de que a impressão não pode ser interrompida e a tela não deve mudar durante ela.
Inverte a condição lógica: entende que o cancelamento só deve agir durante a impressão, quando justamente deveria ser ignorado, e que nos demais estados não deve haver retorno ao início.
Por que engana: Confundir a condição para o evento Cancelar, aplicando retorno ao início durante a impressão.
Cancela e limpa o fluxo antes da impressão, mas não altera nada durante IMPRESSAO, como exige o texto.
Raio-X da questão
programacao orientada a eventos
avaliacao
conceitos de estados e eventos · estruturas condicionais
Estude tratamento de eventos e estruturas condicionais em programação.
Confundir a condição para o evento Cancelar, aplicando retorno ao início durante a impressão.
pensamento_critico
cotidiano
Questões parecidas com resolução
- — Passei meu cartão duas vezes e o totem “travou”, reclamou um usuário do autoatendimento de uma biblioteca. A equipe…
- Moedas caem no compartimento de uma lavanderia de autosserviço, e o visor de uma lavadora mostra “Pronto”. Ao girar o…
- Em um totem de atendimento da prefeitura, a pessoa toca em um botao grande e colorido. Logo depois, a tela muda e mostra…
- No terminal de bicicletas compartilhadas de uma praça, o painel funciona de modo automático. Quando o usuário aproxima o…
- Pesquisadores testam modelo de semáforo que responde a eventos para estudar fluxo de veículos. Para controlar o…
- Em um centro cultural municipal, um elevador acessível possui botões em braile, avisos sonoros e uma tela que informa…
Todas as questões de Programação - Autômatos e linguagens baseadas em eventos
🔎 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
