Projete um algoritmo reativo (autômato) que filtra eventos duplicados recebidos de um sensor; cada evento tem…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Projete um algoritmo reativo (autômato) que filtra eventos duplicados recebidos de um sensor; cada evento tem campos 'id' e 'timestamp'. Descreva variáveis, estados, transições e como descartar duplicatas dentro de uma janela de tempo móvel.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Resposta-modelo: Variáveis — cache: mapa id?último_timestamp; fila de pares (timestamp,id) para expurgo; janela T. Estado único (Idle). Transição ao evento: ler (id,ts); se id ausente em cache ou ts-cache[id]>T ? aceitar: processar, atualizar cache[id]=ts e enfileirar (ts,id); senão ? descartar. Evicção: periodicamente remover da fila entradas com timestamp=agora-T e também remover correspondente do cache se timestamp armazenado coincidir. Concorrência: usar operações atômicas ou bloqueio mínimo ao atualizar cache/fila. Complexidade amortizada O(1) por evento.
Explicação
A solução apresentada utiliza um cache para rastrear os timestamps dos eventos, permitindo identificar rapidamente se um evento é duplicado dentro da janela de tempo móvel. A abordagem de enfileirar os eventos e realizar a limpeza periódica garante que apenas os eventos relevantes sejam mantidos, evitando sobrecarga de memória. Além disso, a complexidade amortizada O(1) por evento assegura eficiência no processamento, mesmo em cenários com alta frequência de eventos.
Raio-X da questão
filtragem de eventos duplicados
avaliacao
algoritmos e estruturas de dados · filtragem de dados
Revisar conceitos de algoritmos reativos e janelas de tempo.
O aluno pode confundir a lógica de filtragem, não considerando corretamente a janela de tempo para descartar duplicatas.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Projete um algoritmo que, a partir de uma sequência de leituras de sensores (cada leitura: timestamp, sensorID, valor)…
- Projete um autômato baseado em eventos que detecta três toques rápidos (evento 'toque') em um sensor e aciona uma saída…
- Projete um algoritmo de alto nível para um dispositivo sensor com armazenamento limitado que colete amostras, processe…
- Projete um autômato baseado em eventos para coordenar apresentações em uma feira de ciências da escola: descreva…
- Projete um algoritmo em pseudocódigo para o receptor que implemente uma janela deslizante: reordena pacotes usando campo…
- Projete um autômato dirigido por eventos para controlar um semáforo em cruzamento urbano com sensores de presença de…
🔎 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
