GeraProva GeraProva Provas com IA para professores do Brasil
Computação2ª sérieBNCC EM13CO04Média⏱ medio

Por que certas ferramentas de desenvolvimento conseguem gerar trechos de código automaticamente, adaptando-se…

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

Por que certas ferramentas de desenvolvimento conseguem gerar trechos de código automaticamente, adaptando-se a diferentes necessidades a partir de parâmetros simples? Em um projeto, uma equipe criou um script que lê um arquivo de configuração descrevendo estruturas de dados e produz, a partir desse algoritmo, funções prontas para validar, armazenar e recuperar informações em bancos distintos. Com isso, evitaram escrever manualmente código repetido sempre que surgia um novo tipo de dado, acelerando a entrega de funcionalidades sem alterar o gerador principal. Analise o texto-base e identifique um exemplo de metaprogramação descrito.

  1. A) Utilização de script que lê um arquivo de configuração e cria funções de consulta dinamicamente
  2. B) Chamada de API externa para obter dados atualizados e exibir em dashboard
  3. C) Uso de biblioteca de ORM que mapeia classes a tabelas sem gerar código fonte
  4. D) Inserção de dados pelo usuário via formulário web para popular o banco de dados
  5. E) Emprego de framework que fornece estilos CSS padronizados para páginas

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Identifique o conceito cobrado. Metaprogramação é a técnica em que um programa lê, escreve ou gera outro código, ou altera o comportamento de código em tempo de execução ou de geração, a partir de descrições ou parâmetros.
  2. Analise o texto-base. A equipe criou um script que lê um arquivo de configuração com a descrição de estruturas de dados e produz funções prontas para validar, armazenar e recuperar informações. Ou seja, o programa gera código a partir de uma descrição, o que é exatamente metaprogramação.
  3. Compare com as alternativas. A alternativa A descreve esse mesmo mecanismo: um script que lê um arquivo de configuração e cria funções dinamicamente. Por isso ela é a correta, e o gabarito oficial está coerente com essa análise.
  4. Verifique as demais. B está errada porque consumir uma API externa para exibir dados não envolve gerar código. C está errada porque, embora o ORM mapeie classes a tabelas, a alternativa afirma que não há geração de código, o que descaracteriza o exemplo do texto. D está errada porque inserir dados pelo usuário é operação de dados, não de programação sobre código. E está errada porque fornecer estilos CSS padronizados é reutilização de recursos visuais, não geração de código.
  5. Conclusão. O exemplo descrito no texto é a geração automática de código a partir de um arquivo de configuração, caracterizando metaprogramação, e a alternativa A é a única que a representa.

💡 Dica: Identifique no texto o exemplo que mostra geração automática de código via script.

Alternativa por alternativa

A Correta

Correto: o script recebe um algoritmo de configuração e gera código, caracterizando metaprogramação.

B Erradaerro: Interpretaçãoa que mais engana

O aluno associa 'ferramenta de desenvolvimento' e 'dados atualizados' a qualquer integração com serviços externos, sem perceber que o texto trata de geração de código.

Por que engana: Confundir metaprogramação com uso simples de APIs ou frameworks que não geram código.

C Erradaerro: Conceitual

O aluno acredita que ORMs são exemplos típicos de metaprogramação porque mapeiam classes a tabelas, sem notar que a alternativa afirma explicitamente que não há geração de código fonte.

D Erradaerro: Senso comum

O aluno entende que qualquer automação relacionada a banco de dados é metaprogramação, confundindo a inserção manual de dados com a geração de código a partir de configurações.

E Erradaerro: Conceitual

O aluno associa frameworks à padronização e reutilização de recursos e conclui que isso equivale a gerar código adaptável, sem distinguir reutilização de estilos de geração automática de código.

Raio-X da questão

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

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

📌 Objetivo

diagnostico

🧱 Pré-requisitos

conceito de script e automação

📚 Reveja

Estude o conceito de metaprogramação e como scripts podem gerar código automaticamente.

⚠️ Erro mais comum

Confundir metaprogramação com uso simples de APIs ou frameworks que não geram código.

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