GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO04Difícil⏱ medio

Linhas de código percorriam as telas dos participantes durante uma maratona de desenvolvimento, enquanto vozes…

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

Linhas de código percorriam as telas dos participantes durante uma maratona de desenvolvimento, enquanto vozes trocavam ideias: “E se criarmos um utilitário para gerar automaticamente funções de validação a partir de um modelo de regras?” “Assim, não precisaríamos escrever manualmente cada verificador; bastaria mudar o modelo de entrada.” No fim, a equipe entregou um programa que recebe um arquivo de configuração com definições de campos e produz, como saída, um módulo completo de código-fonte contendo todas as funções de validação específicas. Analise o texto e, com base no conceito de metaprogramação, identifique a abordagem empregada pela equipe para generalizar a construção das funções de validação.

  1. A) Gerar código-fonte usando um programa que recebe regras como entrada
  2. B) Executar testes automatizados para verificar se as funções funcionam conforme o esperado
  3. C) Utilizar bibliotecas externas para simplificar a escrita manual de funções de validação
  4. D) Configurar um interpretador para executar regras em tempo de execução sem criar novos arquivos
  5. E) Escrever manualmente cada função de validação a partir do modelo de entrada

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. O texto descreve um utilitário que recebe um arquivo de configuração com definições de campos e produz como saída um módulo completo de código-fonte com as funções de validação. Ou seja, o programa escreve código, e não apenas executa regras.
  2. Metaprogramação é a técnica em que um programa manipula ou gera outros programas (código) como dados. Aqui, o gerador é o metaprograma, e as funções de validação finais são o produto dele.
  3. A alternativa A descreve exatamente isso: gerar código-fonte usando um programa que recebe regras como entrada. Por isso ela é a resposta correta.
  4. A alternativa B está errada porque testes automatizados verificam o comportamento do código, mas não generalizam sua construção.
  5. A alternativa C está errada porque o texto não menciona bibliotecas externas; a solução é um utilitário próprio da equipe.
  6. A alternativa D está errada porque o texto fala de gerar um módulo completo de código-fonte em arquivo, e não de interpretar regras em tempo de execução sem criar arquivos.
  7. A alternativa E está errada porque é justamente o oposto do que a equipe fez: a ideia central é evitar escrever manualmente cada verificador.
  8. Conclusão: o gabarito oficial (A) está correto e coincide com a resolução feita de forma independente.

💡 Dica: Identifique a técnica de metaprogramação descrita no texto.

Alternativa por alternativa

A Correta

Caracteriza metaprogramação: um algoritmo produz outro algoritmo baseado em configurações.

B Erradaerro: Conceituala que mais engana

O aluno associa a ideia de 'garantir que as funções funcionam' ao conceito de generalização da construção, confundindo verificação de comportamento com geração de código.

Por que engana: Confundir geração automática de código com execução de testes ou uso manual de funções.

C Erradaerro: Interpretação

O aluno supõe que qualquer ferramenta que facilite o trabalho manual seja uma biblioteca externa, sem notar que o texto descreve um utilitário criado pela própria equipe.

D Erradaerro: Interpretação

O aluno entende que 'regras como entrada' sempre significa interpretação em tempo de execução, ignorando que o texto fala explicitamente em produzir um módulo de código-fonte.

E Erradaerro: Atenção

O aluno lê a frase 'não precisaríamos escrever manualmente cada verificador' de forma invertida, achando que a abordagem adotada foi escrever manualmente a partir do modelo.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
Leitura medio
Discriminação alto
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 consolidacao
🎯 Conceito central

metaprogramação e geração de código

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de metaprogramação · geração automática de código

📚 Reveja

Estude o conceito de metaprogramação e geração automática de código a partir de regras.

⚠️ Erro mais comum

Confundir geração automática de código com execução de testes ou uso manual de funções.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cientifico

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.