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

Em levantamento interno recente, 85% dos desenvolvedores de uma empresa de software relatou gasto excessivo de…

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

Em levantamento interno recente, 85% dos desenvolvedores de uma empresa de software relatou gasto excessivo de horas adaptando manualmente scripts de processamento de dados para cada novo cliente. Para resolver isso, a equipe criou um gerador de código: um programa que recebe como entrada um arquivo de configuração descrevendo etapas de extração, transformação e carga, e produz automaticamente scripts prontos para diferentes ambientes e linguagens. Com isso, reduziu-se em 60% o tempo de entrega de cada solução e eliminou-se a necessidade de duplicar esforços na codificação manual de cada pipeline. Analise o texto-base e identifique qual prática descrita exemplifica o conceito de metaprogramação como generalização na construção de programas.

  1. A) Criação de funções genéricas que aceitam parâmetros para diferentes cálculos
  2. B) Uso de bibliotecas externas prontas para ler e gravar arquivos
  3. C) Uso de um gerador de código que transforma especificações em programas finais
  4. D) Desenvolvimento de scripts que executam sequências de comandos fixos para cada formato
  5. E) Emprego de condicionais para tratar casos distintos de processamento de dados

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. O texto descreve um gerador de código que recebe um arquivo de configuração com etapas de extração, transformação e carga e produz automaticamente scripts prontos. Isso é um programa que escreve outros programas a partir de uma especificação, que é o núcleo da metaprogramação.
  2. Metaprogramação como generalização significa escrever um programa que opera sobre outros programas, generalizando o trabalho repetitivo de codificação. No texto, a equipe deixou de codificar cada pipeline à mão e passou a gerar os scripts, o que elimina a duplicação de esforço, como o enunciado afirma.
  3. A alternativa C descreve exatamente essa prática: um gerador de código que transforma especificações em programas finais. Por isso, ela é a correta, e coincide com o gabarito oficial.
  4. Por que as outras estão erradas: A) funções genéricas com parâmetros são generalização de código em tempo de execução, não geração de programas. B) bibliotecas prontas reutilizam código existente, mas não produzem novos programas. D) scripts com comandos fixos repetem a mesma sequência, sem generalização nem geração. E) condicionais tratam casos dentro de um único programa, sem gerar código.

💡 Dica: Identifique a prática que exemplifica metaprogramação na descrição.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

O aluno confunde generalização com funções parametrizadas, que reutilizam código dentro do mesmo programa, sem criar novos programas a partir de especificações.

Por que engana: Confundir uso de bibliotecas ou funções genéricas com metaprogramação que gera código automaticamente.

B Erradaerro: Conceitual

O aluno associa reutilização de código a bibliotecas externas, sem perceber que a metaprogramação envolve programas que produzem outros programas.

C Correta

Esse gerador trata algoritmos como entrada e produz programas, caracterizando metaprogramação.

D Erradaerro: Interpretação

O aluno entende que repetir sequências de comandos para cada formato já é generalização, quando na verdade isso é duplicação de esforço que o texto diz ter sido eliminada.

E Erradaerro: Conceitual

O aluno acredita que tratar casos diferentes com condicionais equivale a generalizar a construção do programa, sem notar que não há geração de código no texto.

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 generalização

📌 Objetivo

diagnostico

🧱 Pré-requisitos

programacao basica · conceito de funcao

📚 Reveja

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

⚠️ Erro mais comum

Confundir uso de bibliotecas ou funções genéricas com metaprogramação que gera código automaticamente.

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