Projete um autômato baseado em eventos e escreva pseudocódigo para um programa que processe uma sequência de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um autômato baseado em eventos e escreva pseudocódigo para um programa que processe uma sequência de eventos 'enter' e 'exit', mantenha a contagem de pessoas presentes em uma sala e, a cada minuto, atualize uma tabela de frequências com o total observado nesse minuto. Explique como tratar eventos inconsistentes (ex.: 'exit' quando contador é zero).
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Modelo de resposta: Autômato simples com um único estado operacional que mantém variável counter = 0; eventos 'enter' incrementam counter, 'exit' decrementam com verificação (se counter>0 então counter-- else ignorar/registar erro). Pseudocódigo (estilo imperativo): contador := 0 tabela := mapa(minuto ? total) para cada evento em sequência: minuto := extrair_minuto(evento.timestamp) se evento.tipo == 'enter' então contador := contador + 1 se evento.tipo == 'exit' então se contador>0 então contador := contador - 1 senão registrar_inconsistencia() tabela[minuto] := contador // registra estado ao final do processamento do evento Ao final de cada minuto, salvar tabela[minuto] com o valor do contador observado. Notas: debouncing de eventos simultâneos pode exigir ordenação por timestamp; inconsistências podem ser registradas para auditoria e não devem produzir contador negativo.
Explicação
O autômato proposto é eficiente na contagem de pessoas, pois utiliza um contador que é incrementado ou decrementado de acordo com os eventos, garantindo que não haja contagem negativa ao tratar saídas inconsistentes. O pseudocódigo apresenta uma lógica clara e direta para processar eventos, registrando a contagem a cada minuto e lidando com erros de forma apropriada. Além disso, a abordagem de registrar inconsistências permite auditoria futura, garantindo a integridade dos dados.
Raio-X da questão
autômato e pseudocódigo
avaliacao
lógica de programação · estruturas de controle
Revisar conceitos de autômatos e manipulação de eventos.
O aluno pode confundir a lógica de contagem, permitindo saídas quando o contador está em zero, resultando em um valor negativo.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Projete um pseudocódigo para um autômato orientado a eventos que conte ocorrências do evento 'sensor' em janelas de 60…
- Projete, em pseudocódigo, um autômato baseado em eventos que: (a) registre timestamps de cada evento 'sensor'; (b) a…
- Projete em pseudocódigo um autômato orientado a eventos que receba eventos do tipo leitura(valor) correspondentes a…
- Projete um autômato baseado em eventos que monitore leituras de um sensor (evento 'leitura' com valor numérico) e emita…
- Considere um fluxo de eventos com carimbo de tempo e tipo {ALARME, FALHA, RESTAURO}. Projete um autômato (diagrama de…
- Projete um fragmento de linguagem baseada em eventos (sintaxe curta) e descreva um algoritmo em pseudocódigo que, ao…
🔎 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
