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
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.
- A) Criação de funções genéricas que aceitam parâmetros para diferentes cálculos
- B) Uso de bibliotecas externas prontas para ler e gravar arquivos
- C) Uso de um gerador de código que transforma especificações em programas finais
- D) Desenvolvimento de scripts que executam sequências de comandos fixos para cada formato
- E) Emprego de condicionais para tratar casos distintos de processamento de dados
✅ Resposta correta: alternativa C
Resolução passo a passo
- 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.
- 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.
- 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.
- 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
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.
O aluno associa reutilização de código a bibliotecas externas, sem perceber que a metaprogramação envolve programas que produzem outros programas.
Esse gerador trata algoritmos como entrada e produz programas, caracterizando metaprogramaçã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.
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
metaprogramação e generalização
diagnostico
programacao basica · conceito de funcao
Estude o conceito de metaprogramação e geração automática de código.
Confundir uso de bibliotecas ou funções genéricas com metaprogramação que gera código automaticamente.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Dados ilustrativos: em pesquisa com 50 startups de tecnologia, 30% relataram empregar técnicas em que componentes de…
- Vislumbres do backend de uma plataforma de desenvolvimento revelam uma equipe que adotou o AutoDev, uma ferramenta capaz…
- Quando comecei a desenvolver uma ferramenta para automatizar a geração de relatórios, implementei um programa que lê…
- Por que certas ferramentas de desenvolvimento conseguem gerar trechos de código automaticamente, adaptando-se a…
- Dados ilustrativos: 68% das empresas de software empregam geradores automáticos de código para acelerar a construção de…
- Diante da crescente personalização de softwares, desenvolvedores criaram um sistema onde um programa lê descrições de…
🔎 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
