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
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.
- A) Gerar código-fonte usando um programa que recebe regras como entrada
- B) Executar testes automatizados para verificar se as funções funcionam conforme o esperado
- C) Utilizar bibliotecas externas para simplificar a escrita manual de funções de validação
- D) Configurar um interpretador para executar regras em tempo de execução sem criar novos arquivos
- E) Escrever manualmente cada função de validação a partir do modelo de entrada
✅ Resposta correta: alternativa A
Resolução passo a passo
- 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.
- 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.
- A alternativa A descreve exatamente isso: gerar código-fonte usando um programa que recebe regras como entrada. Por isso ela é a resposta correta.
- A alternativa B está errada porque testes automatizados verificam o comportamento do código, mas não generalizam sua construção.
- A alternativa C está errada porque o texto não menciona bibliotecas externas; a solução é um utilitário próprio da equipe.
- 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.
- A alternativa E está errada porque é justamente o oposto do que a equipe fez: a ideia central é evitar escrever manualmente cada verificador.
- 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
Caracteriza metaprogramação: um algoritmo produz outro algoritmo baseado em configurações.
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.
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.
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.
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
metaprogramação e geração de código
avaliacao
conceito de metaprogramação · geração automática de código
Estude o conceito de metaprogramação e geração automática de código a partir de regras.
Confundir geração automática de código com execução de testes ou uso manual de funções.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Em um projeto de monitoramento de rios, uma boia computacional organiza leituras de sensores antes de enviá-las por…
- Uma biblioteca escolar recebeu caixas de livros doados para uma feira de troca. Para registrar os exemplares, a equipe…
- Um centro cultural público oferece inscrições on-line para atividades com critérios variados. Na oficina de teatro…
- Uma escola está testando dois protótipos de aplicativo para que estudantes consultem mudanças de sala, horários e…
- Uma secretaria municipal de educação está digitalizando pedidos de transporte escolar e de atendimento em contraturno…
- — O cartaz não pode sair duas vezes, pois a feira começa em uma hora — alertou a coordenadora do centro cultural. No…
🔎 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
