Uma empresa de transporte tem vários programas para calcular trajetos de ônibus. Cada programa considera algo…
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
Uma empresa de transporte tem vários programas para calcular trajetos de ônibus. Cada programa considera algo diferente, como tempo de viagem, gasto de combustível ou número de paradas. Para testar esses programas, a equipe criou outro programa. Ele recebe cada programa de trajetos, adiciona uma parte que registra quanto tempo ele demora para funcionar e cria uma nova versão para teste. Assim, a equipe não precisa adicionar essa mesma parte manualmente em todos os programas. Explique por que o programa criado pela equipe é um exemplo de metaprogramação, como ele evita repetir uma tarefa e uma forma de verificar se as novas versões continuam funcionando corretamente.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
É metaprogramação porque um programa trabalha com outros programas: ele recebe um programa de trajetos, adiciona uma parte para registrar o tempo e cria uma nova versão. Ele evita repetição porque a mesma mudança é feita automaticamente em todos os programas de trajetos. Para verificar se funcionam corretamente, a equipe pode usar os mesmos dados de trajetos no programa original e na versão criada. Os dois devem indicar o mesmo trajeto e o mesmo custo; a nova versão deve apenas registrar também o tempo de funcionamento.
Explicação
A resposta deve reconhecer que há um programa que modifica outros programas, identificar que uma única regra é aplicada a vários casos e propor uma comparação entre a versão original e a versão criada.
Raio-X da questão
Metaprogramação
Reconhecer metaprogr
Conceito de programa e função · Testes e medição de desempenho
Generalização e reutilização de código
Confundir metaprogramação com apenas executar vários programas ou copiar manualmente o mesmo código.
Tecnologia e inovação
Pensamento crítico
Automação de testes
Questões parecidas com resolução
- Um sistema portátil registra a corrente gerada em um eletrodo de trabalho durante um pulso de 4 segundos. Para comparar…
- Em um protótipo computacional que monitora a salinidade de um tanque, dois eletrodos ficam imersos na água e são usados…
- Em uma lavanderia, uma pessoa instala dois eletrodos próximos ao piso, ligados a uma entrada digital de um controlador…
- Em uma demonstração de interface cérebro-computador, eletrodos colocados sobre o couro cabeludo captam sinais elétricos…
- Em um protótipo de interface computacional controlada por sinais musculares, cada canal utiliza um eletrodo para captar…
- Em uma prótese controlada por sinais musculares, eletrodos na pele captam a atividade elétrica e a enviam ao sistema…
🔎 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
