— Mudou de novo a taxa do marketplace, e agora? — perguntou a tesoureira da cooperativa, que vende artesanato…
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
— Mudou de novo a taxa do marketplace, e agora? — perguntou a tesoureira da cooperativa, que vende artesanato on-line. O técnico explicou que o sistema da loja tem uma parte fixa e uma parte que muda com frequência: a regra de cálculo da taxa. Para evitar editar o programa principal toda semana, ele fez um utilitário interno. Nele, a tesoureira preenche um formulário com condições (por exemplo, tipo de produto e faixa de preço) e percentuais. Ao salvar, o utilitário monta automaticamente um novo arquivo com instruções de cálculo, coloca esse arquivo na pasta do sistema e registra a versão criada. Na próxima execução, o sistema principal passa a usar o arquivo recém-criado para calcular as taxas dos pedidos, sem que alguém escreva manualmente o novo trecho de código. Com base no texto, identifique a ideia de programação que descreve um programa produzir, como resultado, um algoritmo que será executado por outro programa.
- A) Uso de um programa que apenas organiza o código em funções para facilitar a manutenção do sistema.
- B) Uso de um programa que compila o sistema para torná-lo mais rápido, mantendo a mesma regra de cálculo.
- C) Uso de um programa que somente interpreta dados de entrada e calcula a taxa sem alterar o que será executado depois.
- D) Uso de um programa que gera outro trecho de programa a partir de regras preenchidas pelo usuário.
- E) Uso de um programa que repete cálculos em laço para aplicar a mesma taxa a muitos pedidos do mesmo tipo.
✅ Resposta correta: alternativa D
Resolução passo a passo
- O texto descreve um utilitário que, a partir de um formulário preenchido pela tesoureira (condições e percentuais), monta automaticamente um novo arquivo com instruções de cálculo. Esse arquivo é então usado pelo sistema principal na próxima execução, sem que alguém escreva o código manualmente.
- A ideia de programação descrita é a de um programa que gera código (ou um programa que produz outro programa/algoritmo), isto é, a geração automática de código a partir de regras ou dados. O resultado produzido pelo utilitário é justamente um novo trecho executável que outro programa vai rodar.
- Comparando com as alternativas: a alternativa A está errada porque organizar código em funções é refatoração, e não gera um novo algoritmo. A alternativa B está errada porque a compilação traduz o programa para outra forma, mas não cria uma nova regra de cálculo a partir de dados do usuário. A alternativa C está errada porque o texto afirma exatamente o contrário: o novo arquivo altera o que será executado depois. A alternativa E está errada porque repetir cálculos em laço é iteração, e não a produção de um algoritmo novo.
- Portanto, o gabarito D está correto, pois descreve exatamente um programa que gera outro trecho de programa a partir de regras preenchidas pelo usuário.
💡 Dica: Identifique a ideia de programação que permite gerar código automaticamente.
Alternativa por alternativa
Confunde a geração de um novo algoritmo com a simples organização do código existente em funções, que apenas melhora a manutenção sem criar nada novo.
Por que engana: Confundir geração automática de código com interpretação ou organização de código.
Associa o resultado do utilitário à otimização de desempenho por compilação, ignorando que o texto fala em criar novas regras de cálculo a partir de um formulário.
Entende que o utilitário apenas calcula taxas, sem perceber que o arquivo gerado passa a ser usado pelo sistema principal, alterando o que será executado depois.
O utilitário cria um arquivo com instruções de cálculo (algoritmo) que passa a ser usado pelo sistema principal, caracterizando metaprogramação.
Acredita que a ideia central é a repetição de cálculos em laço para muitos pedidos, quando o texto trata da criação de um novo trecho executável, e não da iteração.
Raio-X da questão
programa gera outro programa
avaliacao
conceitos básicos de programação · estrutura de programas
Estude conceitos de metaprogramação e geração automática de código.
Confundir geração automática de código com interpretação ou organização de código.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Diante da crescente personalização de softwares, desenvolvedores criaram um sistema onde um programa lê descrições de…
- Na startup brasileira CodeArt, uma equipe busca reduzir o tempo de desenvolvimento de um sistema de atendimento. Para…
- Por que a escala de voluntários de um evento muda tanto de um ano para outro? Em um festival comunitário, a coordenação…
- — Moça, minha senha é 14, mas a moça do balcão chamou a 15… — reclamou um cliente na fila do ponto de recarga de água…
- Dados ilustrativos: uma equipe criou uma ferramenta de linha de comando que recebe um arquivo contendo a descrição de um…
- Dados ilustrativos: em pesquisa com 50 startups de tecnologia, 30% relataram empregar técnicas em que componentes 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
