Projete um autômato baseado em eventos para coordenar apresentações em uma feira de ciências da escola…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções de problemas usando a técnica de decomposição e automatizar tais soluções usando uma linguagem de programação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um autômato baseado em eventos para coordenar apresentações em uma feira de ciências da escola: descreva estados, eventos, registros necessários, filas para solicitações e um algoritmo de priorização para interrupções; explique como testar a solução de forma colaborativa.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Estados: Idle (aguardando), Scheduled (pronto), Playing (em apresentação), Paused, HandingOver (troca de equipe), Emergency. Eventos: submit_presentation(registro), start, next_slide, pause, resume, finish, request_interrupt(tipo, prioridade), emergency_alert. Registros: estrutura registro por apresentação com campos {id, autor, duração, ordem, recursos(projetor/microfone)}; lista (vetor) ou fila para a grade. Filas: fila FIFO para pedidos normais; fila de prioridade para interrupções (request_interrupt) onde tipo/urgência definem prioridade. Algoritmo de priorização: ao receber eventos, o dispatcher verifica fila de prioridade; se não vazia, atende interrupção (preempção suave: salva estado de Playing em registro e coloca em Paused), caso contrário, consome próxima apresentação da fila FIFO. Timeouts impedem bloqueio por apresentações longas. Testes colaborativos: criar cenários simulados (sequências de eventos) e executar testes automatizados que validem transições e integridade de registros; usar controle de versão para código e logs para revisar execuções; dividir responsabilidades (um testa handlers, outro testa dados) e realizar revisões de pares.
Explicação
A explicação aborda de forma clara os componentes essenciais de um autômato baseado em eventos, como estados, eventos, registros e filas, que garantem a organização e a fluidez das apresentações. O algoritmo de priorização é fundamental para gerenciar interrupções de forma eficiente, permitindo que situações emergenciais sejam tratadas sem comprometer o fluxo das apresentações. Além disso, a proposta de testes colaborativos assegura que o sistema seja validado de maneira abrangente, envolvendo diferentes perspectivas e garantindo a qualidade da implementação.
Raio-X da questão
autômato baseado em eventos
avaliacao
lógica de programação · estruturas de dados
Revisar conceitos de autômatos e algoritmos de priorização.
Os alunos podem confundir a definição de estados e eventos, não conseguindo diferenciá-los corretamente em seu projeto.
ciencia_tecnologia
colaboracao
cotidiano
Questões parecidas com resolução
- Projete um autômato baseado em eventos para gerenciar reservas de salas multimídia na escola: descreva estados, eventos…
- Projete um autômato baseado em eventos para tocar o sinal de entrada e saída das aulas numa escola: descreva estados…
- Projete um autômato baseado em eventos que valide sequências de comandos de um robô educacional: o comando 'iniciar'…
- Projete um autômato dirigido por eventos para controlar um semáforo em cruzamento urbano com sensores de presença de…
- Projete um autômato baseado em eventos para controlar o empréstimo de livros em uma biblioteca escolar. Descreva os…
- Explique como você descreveria a solução para um problema de organização de eventos escolares utilizando programação.
Todas as questões de Estratégias de solução de problemas - Decomposição
🔎 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
