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
- — Se dois voluntários entregarem o mesmo aparelho, como saberemos onde ele está? — perguntou uma visitante ao chegar à…
- Monitores de um centro esportivo estão testando um placar digital para partidas de futsal, vôlei e basquete. Antes de…
- Por que duas pessoas que leem uma história na tela podem chegar a trechos diferentes? Para uma mostra comunitária…
- Caminhões recolhem livros em uma campanha fictícia para renovar bibliotecas de bairro. Em cada ponto de coleta…
- — Se chegarem novos tipos de objetos, vou precisar copiar tudo outra vez? — perguntou Joana, que ajuda no ponto de…
- — Se enviarmos as caixas sem organização, um abrigo poderá receber itens que não pediu e outro ficará sem produtos…
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
