GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF06CO04Difícil⏱ longo

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

Habilidade BNCC EF06CO04

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

Dificuldade Difícil
Bloom Criar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

autômato baseado em eventos

📌 Objetivo

avaliacao

🧱 Pré-requisitos

lógica de programação · estruturas de dados

📚 Reveja

Revisar conceitos de autômatos e algoritmos de priorização.

⚠️ Erro mais comum

Os alunos podem confundir a definição de estados e eventos, não conseguindo diferenciá-los corretamente em seu projeto.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

colaboracao

🏫 Contexto

cotidiano

Questões parecidas com resoluçã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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.