Projete um autômato baseado em eventos para controlar o empréstimo de livros em uma biblioteca escolar…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um autômato baseado em eventos para controlar o empréstimo de livros em uma biblioteca escolar. Descreva os estados principais, os eventos que causam transições, as variáveis ou registros necessários e que estruturas de dados (por exemplo, lista ou registro) você usaria para gerenciar reservas e histórico de empréstimos. Explique também como evitar conflitos quando dois usuários solicitam o mesmo livro simultaneamente.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Estados principais: Disponível, Reservado, Emprestado, Atrasado, Perdido. Eventos: solicitar_reserva, confirmar_empréstimo, devolver, renovar, notificar_atraso, registrar_perda. Variáveis/registro: registro_livro{id, título, autor, estado, id_usuário_atual, data_empréstimo, prazo}; registro_usuario{id, nome, contatos, histórico_empréstimos}; lista_de_reserva por livro (fila de espera). Estruturas: usar registro para metadados do livro e do usuário; lista (fila) para gerenciar reservas em ordem; log (lista) para histórico de eventos. Transições exemplo: Disponível + solicitar_reserva ? Reservado (atribuir primeiro da fila); Reservado + confirmar_empréstimo ? Emprestado; Emprestado + devolver ? Disponível (ou notificar próximo na lista). Evitar conflitos: aplicar verificação atômica do estado do registro_livro ao processar um evento (lock/controle transacional ou operação compare-and-swap), processar eventos de reserva em fila única por livro e registrar timestamp; em arquiteturas distribuídas, usar mecanismo de consenso ou bloqueio por chave do livro. Observações: implementar validações (prazos, multas) e notificações por evento para manter consistência e informar usuários.
Explicação
A descrição dos estados e eventos é fundamental para entender o fluxo do sistema de empréstimos, garantindo que cada situação do livro seja adequadamente gerenciada. As variáveis e estruturas de dados propostas permitem um controle eficiente das reservas e do histórico, facilitando o acesso às informações necessárias. A abordagem para evitar conflitos assegura que múltiplas solicitações sejam tratadas de forma ordenada e segura, prevenindo inconsistências no sistema.
Raio-X da questão
autômato de controle de empréstimos
avaliacao
estruturas de dados · programação orientada a eventos
Revisar conceitos de autômatos e estruturas de dados.
Os alunos podem falhar em identificar corretamente os estados e eventos, resultando em um autômato que não reflete a lógica de controle de empréstimos.
ciencia_tecnologia
pensamento_critico
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 coordenar apresentações em uma feira de ciências da escola: descreva…
- Projete um autômato baseado em eventos para tocar o sinal de entrada e saída das aulas numa escola: descreva estados…
- Elabore uma resposta modelando como descreveria a solução de um problema de gerenciamento de estoque de biblioteca…
- Descreva uma solução para criar um programa que ajude a organizar a biblioteca da escola, permitindo o cadastro e a…
- Elabore um algoritmo em passos sequenciais para gerenciar a fila de empréstimo de objetos entre alunos (por exemplo…
🔎 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
