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

Vislumbres do backend de uma plataforma de desenvolvimento revelam uma equipe que adotou o AutoDev, uma…

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

Vislumbres do backend de uma plataforma de desenvolvimento revelam uma equipe que adotou o AutoDev, uma ferramenta capaz de ler especificações e gerar automaticamente módulos de código. Os desenvolvedores alimentam a plataforma com algoritmos genéricos e regras de negócio; em seguida, ela produz funções específicas prontas para uso. Além disso, é possível inserir novos scripts de geração para estender as capacidades do AutoDev, sem alterar seu núcleo. A equipe afirma que, assim, reduz o tempo de implementação e garante consistência entre projetos distintos. Analise o texto-base e identifique qual prática descrita exemplifica metaprogramação como generalização na construção de programas.

  1. A) Uso de uma ferramenta que gera módulos de código a partir de regras e algoritmos genéricos.
  2. B) Uso de frameworks para estilizar interfaces de usuário.
  3. C) Uso de funções que chamam outras funções em tempo de execução.
  4. D) Uso de scripts de teste escritos manualmente para validar o programa.
  5. E) Uso de bibliotecas externas para padronizar chamadas de rede.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. O texto descreve o AutoDev, uma ferramenta que recebe algoritmos genéricos e regras de negócio e produz automaticamente funções e módulos de código. O programa escreve programa, e isso é o núcleo da metaprogramação. Passo 2: O termo generalização aparece porque a entrada são algoritmos genéricos, que valem para muitos casos, e não código específico. Assim, a mesma ferramenta gera soluções para projetos distintos, o que a equipe apresenta como garantia de consistência. Passo 3: A alternativa A descreve exatamente essa prática, o uso de uma ferramenta que gera módulos de código a partir de regras e algoritmos genéricos. Passo 4: A alternativa B está errada, pois frameworks de estilização tratam da aparência da interface e não da geração de código. Passo 5: A alternativa C está errada, pois chamar funções em tempo de execução é apenas o uso comum de sub-rotinas, sem gerar código novo. Passo 6: A alternativa D está errada, pois testes escritos manualmente são o oposto da geração automática de código descrita no texto. Passo 7: A alternativa E está errada, pois bibliotecas de rede reutilizam código pronto, mas não produzem código a partir de regras. Conclusão: o gabarito oficial A está correto e coincide com a resolução feita independentemente.

💡 Dica: Identifique a prática que exemplifica metaprogramação como generalização.

Alternativa por alternativa

A Correta

A ferramenta recebe algoritmos como entrada e produz outros, caracterizando metaprogramação.

B Erradaerro: Conceituala que mais engana

O aluno associa a palavra 'ferramenta' a qualquer recurso de desenvolvimento e entende que frameworks de interface são exemplos de metaprogramação. Não percebe que o texto trata de geração automática de código.

Por que engana: Confundir metaprogramação com uso comum de frameworks ou funções simples.

C Erradaerro: Conceitual

O aluno confunde metaprogramação com a simples chamada de funções entre si em tempo de execução. Não nota que o texto fala de código que gera outro código, e não de execução de sub-rotinas.

D Erradaerro: Conceitual

O aluno foca na ideia de validação presente no texto (consistência, verificação) e supõe que testes manuais representam a prática descrita. Não percebe que a escrita manual de testes é justamente o oposto da geração automática.

E Erradaerro: Senso comum

O aluno se deixa levar pela ideia de padronização e consistência entre projetos, que é intuitiva no dia a dia, e supõe que bibliotecas que padronizam chamadas representam metaprogramação. Não distingue reutilizar código pronto de gerar código a partir de regras.

Raio-X da questão

Dificuldade Média
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

conceitos de programação · metaprogramação básica

📚 Reveja

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

⚠️ Erro mais comum

Confundir metaprogramação com uso comum de frameworks ou funções simples.

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