GeraProva GeraProva Provas com IA para professores do Brasil
Matemática2ª sérieBNCC EM13MAT405Difícil⏱ longo

Projete um autômato baseado em eventos e escreva pseudocódigo para um programa que processe uma sequência de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13MAT405

Utilizar conceitos iniciais de uma linguagem de programação na implementação de algoritmos escritos em linguagem corrente e/ou matemática.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Projete um autômato baseado em eventos e escreva pseudocódigo para um programa que processe uma sequência de eventos 'enter' e 'exit', mantenha a contagem de pessoas presentes em uma sala e, a cada minuto, atualize uma tabela de frequências com o total observado nesse minuto. Explique como tratar eventos inconsistentes (ex.: 'exit' quando contador é zero).

✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.

Resposta esperada

Modelo de resposta: Autômato simples com um único estado operacional que mantém variável counter = 0; eventos 'enter' incrementam counter, 'exit' decrementam com verificação (se counter>0 então counter-- else ignorar/registar erro). Pseudocódigo (estilo imperativo): contador := 0 tabela := mapa(minuto ? total) para cada evento em sequência: minuto := extrair_minuto(evento.timestamp) se evento.tipo == 'enter' então contador := contador + 1 se evento.tipo == 'exit' então se contador>0 então contador := contador - 1 senão registrar_inconsistencia() tabela[minuto] := contador // registra estado ao final do processamento do evento Ao final de cada minuto, salvar tabela[minuto] com o valor do contador observado. Notas: debouncing de eventos simultâneos pode exigir ordenação por timestamp; inconsistências podem ser registradas para auditoria e não devem produzir contador negativo.

Explicação

O autômato proposto é eficiente na contagem de pessoas, pois utiliza um contador que é incrementado ou decrementado de acordo com os eventos, garantindo que não haja contagem negativa ao tratar saídas inconsistentes. O pseudocódigo apresenta uma lógica clara e direta para processar eventos, registrando a contagem a cada minuto e lidando com erros de forma apropriada. Além disso, a abordagem de registrar inconsistências permite auditoria futura, garantindo a integridade dos dados.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
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 e pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

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

📚 Reveja

Revisar conceitos de autômatos e manipulação de eventos.

⚠️ Erro mais comum

O aluno pode confundir a lógica de contagem, permitindo saídas quando o contador está em zero, resultando em um valor negativo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Leitura e interpretação de tabelas e gráficos (de colunas ou barras simples ou múltiplas) referentes a variáveis categóricas e variáveis numéricas

🔎 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.