Por que uma mudança na prioridade de ambulâncias pode produzir conflitos em cruzamentos diferentes? Para…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Reconhecer o conceito de metaprogramação como uma forma de generalização na construção de programas, permitindo que algoritmos sejam entrada ou saída para outros algoritmos.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Por que uma mudança na prioridade de ambulâncias pode produzir conflitos em cruzamentos diferentes? Para examinar esse risco, a central de mobilidade de uma cidade registrou os roteiros de decisão dos semáforos em uma linguagem padronizada. Cada roteiro informa condições, como a aproximação de veículos de emergência, e ações, como interromper ou manter um sinal. O protótipo Verificador não recebe dados de veículos em circulação. Ele recebe os próprios roteiros e produz um novo roteiro capaz de simular combinações de sinais em vários cruzamentos, apontando situações contraditórias. Após a simulação, técnicos analisam os avisos antes de atualizar o controle do trânsito. Analise o funcionamento do protótipo e identifique a ação que evidencia a generalização própria da metaprogramação.
- A) Tratar alertas emitidos como entrada para ordenar mensagens por horário.
- B) Tratar um roteiro aprovado como entrada para alterar manualmente o código do semáforo.
- C) Tratar cada cruzamento como entrada para armazenar seu histórico de passagem.
- D) Tratar o conjunto de roteiros como entrada para gerar um algoritmo que testa suas combinações.
- E) Tratar dados de circulação como entrada para executar um roteiro já definido.
✅ Resposta correta: alternativa D
Resolução passo a passo
- A pergunta pede a ação que mostra a generalização própria da metaprogramação, ou seja, um programa que recebe outros programas (ou roteiros) como dados e produz ou manipula um novo programa. Passo 2: No protótipo Verificador, a entrada são os próprios roteiros de decisão dos semáforos, e a saída é um novo roteiro que simula combinações de sinais em vários cruzamentos. Passo 3: Isso é a generalização típica da metaprogramação, pois o sistema trata código (roteiros) como matéria-prima e gera outro procedimento a partir dele. Passo 4: A alternativa A está errada, pois ordenar mensagens por horário é apenas processamento de dados comum, sem gerar nenhum programa. Passo 5: A alternativa B está errada, pois alterar manualmente o código do semáforo é uma ação humana posterior e não faz parte do funcionamento do protótipo. Passo 6: A alternativa C está errada, pois armazenar histórico de passagem trata cada cruzamento como simples registro de dados, sem gerar novos roteiros. Passo 7: A alternativa E está errada, pois executar um roteiro já definido com dados de circulação é execução comum de programa, justamente o que o protótipo não faz, já que não recebe dados de veículos. Passo 8: Logo, a alternativa correta é a D, que descreve o tratamento do conjunto de roteiros como entrada para gerar um algoritmo que testa combinações.
💡 Dica: Analise como o protótipo usa os roteiros para simular e detectar conflitos.
Alternativa por alternativa
O aluno pode ter entendido que qualquer processamento de saídas do sistema caracteriza metaprogramação, confundindo organização de dados com geração de programas.
O aluno pode ter associado metaprogramação a qualquer modificação do código do sistema, inclusive feita por pessoas, em vez de um programa que gera outro programa automaticamente.
O aluno pode ter focado em armazenar informações sobre cada cruzamento, achando que tratar entidades como dados já é generalização de programas, sem perceber que não há geração de nova lógica.
Correta. O protótipo recebe algoritmos representados por roteiros e produz outro algoritmo de simulação, caracterizando metaprogramação.
O aluno pode ter lido o protótipo como um sistema que executa roteiros sobre dados de tráfego, o que é o funcionamento comum de um programa, e não a geração de um novo roteiro, além de contradizer o enunciado que diz que o protótipo não recebe dados de veículos.
Raio-X da questão
metaprogramação e generalização
diagnostico
conceito de metaprogramação · simulação de sistemas
Estude o conceito de metaprogramação e sua aplicação em simulações.
Confundir metaprogramação com simples programação ou não entender a generalização do protótipo.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Um sistema portátil registra a corrente gerada em um eletrodo de trabalho durante um pulso de 4 segundos. Para comparar…
- Em um protótipo computacional que monitora a salinidade de um tanque, dois eletrodos ficam imersos na água e são usados…
- Em uma lavanderia, uma pessoa instala dois eletrodos próximos ao piso, ligados a uma entrada digital de um controlador…
- Em uma demonstração de interface cérebro-computador, eletrodos colocados sobre o couro cabeludo captam sinais elétricos…
- Em um protótipo de interface computacional controlada por sinais musculares, cada canal utiliza um eletrodo para captar…
- Em uma prótese controlada por sinais musculares, eletrodos na pele captam a atividade elétrica e a enviam ao sistema…
🔎 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
