GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO04Difícil⏱ medio

Dado dois algoritmos de ordenação que usam critérios distintos (por preço e por nome), que mudança permite…

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

Dado dois algoritmos de ordenação que usam critérios distintos (por preço e por nome), que mudança permite criar um algoritmo único que sirva para ambos os critérios usando variável? Indique a modificação na chamada do algoritmo.

  1. A) Alterar assinatura para ordenar sem parâmetros, usando valores padrões.
  2. B) Adicionar uma função para cada critério de ordenação sem parámetro.
  3. C) Usar apenas um critério de comparação fixo: sempre por preço.
  4. D) Alterar somente a estrutura de dados para lista de preços.
  5. E) Introduzir parâmetro comparador e chamar ordenar(lista, comparador), onde comparador define a regra (por preço ou por nome).

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A questão pergunta como unificar dois algoritmos de ordenação que diferem apenas no critério (preço ou nome) em um único algoritmo que receba o critério como variável, e qual seria a mudança na chamada.
  2. A ideia central é a abstração por parâmetro: em vez de escrever a lógica de comparação dentro do algoritmo, ela é recebida de fora. Assim, o mesmo código de ordenação serve para qualquer regra de comparação.
  3. Analisando as alternativas, a E introduz exatamente isso: um parâmetro comparador, que define a regra (por preço ou por nome), e a chamada passa a ser ordenar(lista, comparador). Essa é a modificação na assinatura e na chamada pedida pelo enunciado.
  4. A alternativa A está errada porque valores padrões não permitem escolher dinamicamente entre dois critérios distintos de forma genérica; além disso, não há uma variável que represente o critério.
  5. A alternativa B está errada porque criar uma função para cada critério duplica o código e não cria um algoritmo único, contrariando o objetivo do enunciado.
  6. A alternativa C está errada porque fixar sempre o preço elimina justamente a possibilidade de ordenar por nome.
  7. A alternativa D está errada porque trocar a estrutura de dados não resolve a variação de critério; a lista continuaria exigindo lógica separada para cada ordenação.
  8. Portanto, o gabarito E está correto: a introdução de um parâmetro comparador é a solução que permite um único algoritmo servir a ambos os critérios.

💡 Dica: Considere como a variável pode ser utilizada para diferenciar os critérios.

Alternativa por alternativa

A Erradaerro: Conceituala que mais engana

Acredita que valores padrões em parâmetros bastam para trocar o critério de ordenação, sem perceber que a regra de comparação precisa ser uma entrada explícita.

Por que engana: O aluno pode confundir a necessidade de um parâmetro comparador com a ideia de usar critérios fixos, optando por uma solução que não permite flexibilidade na ordenação.

B Erradaerro: Conceitual

Entende que separar uma função para cada critério resolve o problema, sem notar que isso duplica a lógica e não gera um algoritmo único com variação por variável.

C Erradaerro: Interpretação

Interpreta que basta escolher um único critério fixo para simplificar, ignorando que o enunciado exige suportar ambos os critérios (preço e nome).

D Erradaerro: Conceitual

Acredita que a estrutura de dados define o critério de ordenação, confundindo o tipo de armazenamento dos dados com a regra usada para compará-los.

E Correta

O comparador abstrai o critério de comparação; a mesma rotina de ordenação reaproveita-se para diferentes instâncias apenas trocando o parâmetro.

Raio-X da questão

Dificuldade Difícil
Bloom Analisar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ situacional🧩 progressao
🎯 Conceito central

algoritmos de ordenação

📌 Objetivo

fixacao

🧱 Pré-requisitos

algoritmos de ordenação · variáveis em programação

📚 Reveja

Revisar como variáveis podem ser utilizadas em algoritmos para diferentes critérios.

⚠️ Erro mais comum

O aluno pode confundir a necessidade de um parâmetro comparador com a ideia de usar critérios fixos, optando por uma solução que não permite flexibilidade na ordenação.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

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.