GeraProva GeraProva Provas com IA para professores do Brasil
Computação3ª sérieBNCC EM13CO04Difícil⏱ 4 a 6 minu

Uma empresa de transporte tem vários programas para calcular trajetos de ônibus. Cada programa considera algo…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO04

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

Uma empresa de transporte tem vários programas para calcular trajetos de ônibus. Cada programa considera algo diferente, como tempo de viagem, gasto de combustível ou número de paradas. Para testar esses programas, a equipe criou outro programa. Ele recebe cada programa de trajetos, adiciona uma parte que registra quanto tempo ele demora para funcionar e cria uma nova versão para teste. Assim, a equipe não precisa adicionar essa mesma parte manualmente em todos os programas. Explique por que o programa criado pela equipe é um exemplo de metaprogramação, como ele evita repetir uma tarefa e uma forma de verificar se as novas versões continuam funcionando corretamente.

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

Resposta esperada

É metaprogramação porque um programa trabalha com outros programas: ele recebe um programa de trajetos, adiciona uma parte para registrar o tempo e cria uma nova versão. Ele evita repetição porque a mesma mudança é feita automaticamente em todos os programas de trajetos. Para verificar se funcionam corretamente, a equipe pode usar os mesmos dados de trajetos no programa original e na versão criada. Os dois devem indicar o mesmo trajeto e o mesmo custo; a nova versão deve apenas registrar também o tempo de funcionamento.

Explicação

A resposta deve reconhecer que há um programa que modifica outros programas, identificar que uma única regra é aplicada a vários casos e propor uma comparação entre a versão original e a versão criada.

Raio-X da questão

Dificuldade Difícil
Bloom avaliar
Leitura Médio
Discriminação Médio
Peso pedagógico Médio-alto
Autonomia do enunciado Alta; apresenta cont
Cobertura da habilidade Cobre meta
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ Dissertativa context🧩 Avalia compreensão c
🎯 Conceito central

Metaprogramação

📌 Objetivo

Reconhecer metaprogr

🧱 Pré-requisitos

Conceito de programa e função · Testes e medição de desempenho

📚 Reveja

Generalização e reutilização de código

⚠️ Erro mais comum

Confundir metaprogramação com apenas executar vários programas ou copiar manualmente o mesmo código.

🌎 Tema transversal

Tecnologia e inovação

🤝 Socioemocional

Pensamento crítico

🏫 Contexto

Automação de testes

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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