Dados ilustrativos: em pesquisa com 50 startups de tecnologia, 30% relataram empregar técnicas em que…
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
Dados ilustrativos: em pesquisa com 50 startups de tecnologia, 30% relataram empregar técnicas em que componentes de software geram outros componentes a partir de especificações fornecidas pelos usuários. Um caso típico é um gerador de código que, a partir de um modelo de dados, produz automaticamente funções de acesso a banco. Essa abordagem acelera o desenvolvimento ao permitir aplicar padrões em múltiplos projetos com mínimo esforço manual e menos erros repetitivos, exigindo que desenvolvedores compreendam a estrutura interna dos algorítmos envolvidos. Analise o texto-base e identifique qual prática ilustra metaprogramação, permitindo que um algoritmo seja entrada ou saída para outro.
- A) Utilizar gerador de código que recebe modelos de dados e gera funções de acesso a banco
- B) Usar gerador de relatórios que concatena strings para criar documentos
- C) Empregar funções recursivas para processar coleções de registros
- D) Definir classes abstratas para organizar hierarquia de objetos no design
- E) Carregar bibliotecas externas em tempo de execução para estender o sistema
✅ Resposta correta: alternativa A
Resolução passo a passo
- O texto descreve técnicas em que componentes de software geram outros componentes a partir de especificações, ou seja, programas que produzem ou manipulam outros programas. Esse conceito é a metaprogramação, que permite que um algoritmo seja entrada ou saída de outro.
- Analisando as alternativas, a alternativa A descreve exatamente esse caso: um gerador de código recebe um modelo de dados (entrada) e produz automaticamente funções de acesso a banco (saída de código). O próprio gerador opera sobre código, por isso é metaprogramação.
- Por que as outras estão erradas:
- B) Um gerador de relatórios que concatena strings produz documentos, que são dados, não código executável, então não há um programa gerando outro programa.
- C) Funções recursivas são apenas uma técnica de programação comum; não envolvem um algoritmo gerando ou recebendo outro algoritmo.
- D) Classes abstratas organizam a hierarquia de objetos no design, mas isso é programação orientada a objetos, não geração ou manipulação de código.
- E) Carregar bibliotecas em tempo de execução estende o sistema, mas as bibliotecas são módulos de código já existentes, sem que um algoritmo seja gerado ou transformado por outro.
- Conclusão: o gabarito oficial A está correto, pois a metaprogramação aparece justamente no gerador de código que transforma especificações em código.
💡 Dica: Identifique a prática que exemplifica metaprogramação conforme o texto.
Alternativa por alternativa
Geração automática de código a partir de um modelo exemplifica metaprogramação ao tratar algoritmos como dados de entrada e saída.
O aluno confunde qualquer programa que produz saída textual com metaprogramação, sem perceber que o relatório é dado e não código executável.
Por que engana: Confundir metaprogramação com outras técnicas como recursão ou uso de bibliotecas externas.
O aluno associa metaprogramação a qualquer técnica algorítmica avançada, como recursão, sem entender que o foco é um programa manipular outro programa.
O aluno acredita que organizar código em classes e hierarquias já é metaprogramação, confundindo estrutura de design com geração ou manipulação de código.
O aluno entende que carregar módulos dinamicamente é metaprogramação, mas não percebe que, nesse caso, nenhum código é gerado ou transformado pelo sistema.
Raio-X da questão
metaprogramação em software
avaliacao
conceito de algoritmo · programação orientada a objetos
Estude o conceito de metaprogramação e geração automática de código.
Confundir metaprogramação com outras técnicas como recursão ou uso de bibliotecas externas.
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
