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

— Percebi que escrever manualmente rotas e controladores para cada novo recurso torna o desenvolvimento lento…

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

— Percebi que escrever manualmente rotas e controladores para cada novo recurso torna o desenvolvimento lento, comentou Ricardo. Em resposta, Lina criou uma ferramenta que lê um arquivo de configuracao com definicoes de recursos (nome, campos e operacoes) e gera automaticamente o codigo dos endpoints correspondentes. O time integrou essa ferramenta ao fluxo de trabalho: sempre que um novo recurso e definido, seu algoritmo transforma essa especificacao em funcoes prontas para compilacao, reduzindo repeticao e erros. Analise o texto-base e identifique a prática que exemplifica metaprogramacao como generalizacao na construcao de programas.

  1. A) Leitura de um arquivo de configuracao e geracao automatica de codigo dos endpoints
  2. B) Aplicacao de teste unitario para validar funcoes de cada modulo
  3. C) Depuracao de codigo com uso de breakpoint em ambiente de desenvolvimento
  4. D) Criacao manual de rotas e controladores no codigo-fonte para cada recurso
  5. E) Uso de biblioteca de funcoes predefinidas para operacoes matematicas

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. O texto descreve uma ferramenta que lê um arquivo de configuração com a definição de recursos (nome, campos e operações) e gera automaticamente o código dos endpoints. Isso é metaprogramação: um programa que produz ou manipula outros programas. Passo 2: Na metaprogramação como generalização, escreve-se uma regra geral (um gerador) que serve para muitos casos semelhantes, em vez de codificar cada caso à mão. Aqui, a especificação de cada novo recurso vira código pronto para compilação, reduzindo repetição e erros, exatamente o que o texto destaca. Passo 3: A alternativa A é a correta, e o gabarito oficial está certo. Passo 4: Por que as outras estão erradas: B trata de testes, que validam código mas não geram código; C trata de depuração, que localiza falhas e não produz programas; D é justamente o oposto do descrito, pois é a escrita manual repetitiva que o time quis eliminar; E usa funções prontas de biblioteca, o que é reutilização, não geração de código a partir de uma especificação.

💡 Dica: Identifique a prática que automatiza a geração de código a partir de especificações.

Alternativa por alternativa

A Correta

Esta pratica utiliza um algoritmo para gerar codigo a partir de especificacoes, caracterizando metaprogramacao.

B Erradaerro: Conceitual

O aluno pode associar automação de qualidade de software a metaprogramação, achando que qualquer prática automatizada no desenvolvimento a caracteriza. Testes unitários verificam código existente, sem gerá-lo.

C Erradaerro: Conceitual

O aluno pode pensar que ferramentas de apoio ao programador, como depuradores, já são metaprogramação, por manipularem o código em tempo de desenvolvimento. A depuração apenas examina a execução de um programa, sem gerar outros programas.

D Erradaerro: Interpretaçãoa que mais engana

O aluno pode ter lido apenas a frase sobre rotas e controladores escritos manualmente e tomado essa prática como exemplo. O texto, porém, descreve justamente a substituição dessa escrita manual por geração automática.

Por que engana: Confundir metaprogramação com testes ou depuração, não reconhecendo a geração automática de código.

E Erradaerro: Conceitual

O aluno pode confundir reutilização de código de bibliotecas com metaprogramação, achando que usar funções prontas já generaliza a construção do programa. Bibliotecas fornecem funções prontas, mas não geram código a partir de especificações.

Raio-X da questão

Dificuldade Média
Bloom Aplicar
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✍️ situacional🧩 consolidacao
🎯 Conceito central

metaprogramação e automação de código

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de funções e módulos · automação de tarefas em programação

📚 Reveja

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

⚠️ Erro mais comum

Confundir metaprogramação com testes ou depuração, não reconhecendo a geração automática de 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.