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

Ao generalizar um algoritmo de ordenação para aceitar critérios distintos, que tipo de variável deve ser…

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

Ao generalizar um algoritmo de ordenação para aceitar critérios distintos, que tipo de variável deve ser passada como parâmetro para comparar elementos e qual propriedade do algoritmo deve ser preservada se quisermos manter a ordem relativa de elementos equivalentes?

  1. A) Passar um parâmetro comparador (função comparador(a,b) ? inteiro). Preservar a estabilidade do algoritmo (não trocar elementos considerados iguais pelo comparador).
  2. B) Utilizar uma lista de elementos pré-ordenados como parâmetro.
  3. C) Não é necessário preservar a estabilidade do algoritmo.
  4. D) Passar o tamanho da lista como parâmetro e não um comparador.
  5. E) Passar um parâmetro booleano que define a ordem de ordenação.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Ao generalizar um algoritmo de ordenação para aceitar critérios diferentes (crescente, decrescente, por campo de um registro etc.), o mecanismo padrão é passar como parâmetro uma função comparador(a, b) que retorna um inteiro: negativo se a deve vir antes de b, zero se são equivalentes e positivo caso contrário. Assim, o algoritmo fica independente do critério.
  2. A pergunta também quer saber qual propriedade preservar para manter a ordem relativa de elementos equivalentes. Essa propriedade é a estabilidade: um algoritmo estável não troca de posição elementos que o comparador considera iguais, de modo que, se dois elementos tinham ordem X antes da ordenação, continuam nessa ordem depois.
  3. Comparando com o gabarito oficial, a alternativa A está correta e coincide com a resolução feita de forma independente.
  4. Por que as outras estão erradas: B está errada porque uma lista pré-ordenada não define como comparar elementos em uma nova ordenação; C está errada porque, ao contrário, a estabilidade é justamente o que garante a preservação da ordem relativa pedida; D está errada porque o tamanho da lista não informa critério algum de comparação; E está errada porque um booleano só permite escolher entre duas ordens fixas (por exemplo, crescente ou decrescente), sendo insuficiente para critérios arbitrários.

💡 Dica: Considere as propriedades dos algoritmos de ordenação estável.

Alternativa por alternativa

A Correta

O comparador permite definir qualquer ordem; estabilidade garante que elementos considerados iguais mantenham sua ordem original, importante em várias aplicações compostas.

B Erradaerro: Conceituala que mais engana

O aluno acredita que, para ordenar com outro critério, basta fornecer uma lista já ordenada, como se ela servisse de referência para as comparações. Não percebe que a comparação precisa ser definida explicitamente por uma função.

Por que engana: Confundir a necessidade de um parâmetro comparador com a utilização de uma lista pré-ordenada, levando a uma implementação incorreta do algoritmo.

C Erradaerro: Senso comum

O aluno acha que a estabilidade é um detalhe irrelevante, pois imagina que a ordem entre elementos iguais não importa. Ignora que, em ordenações sucessivas por critérios diferentes, a estabilidade é essencial para preservar a ordenação anterior.

D Erradaerro: Conceitual

O aluno confunde a necessidade de informar o tamanho da lista (um dado de execução) com a necessidade de definir o critério de comparação. O tamanho não diz nada sobre como dois elementos devem ser comparados.

E Erradaerro: Conceitual

O aluno pensa que um parâmetro booleano basta para qualquer critério, como se 'crescente ou decrescente' cobrisse todas as formas de ordenar. Não percebe que critérios como ordenar por um campo específico de um registro exigem uma função de comparação.

Raio-X da questão

Dificuldade Média
Bloom Analisar
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade multipla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

algoritmo de ordenação

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmo de ordenação · funções como parâmetros

📚 Reveja

Revisar os conceitos de algoritmos de ordenação e estabilidade.

⚠️ Erro mais comum

Confundir a necessidade de um parâmetro comparador com a utilização de uma lista pré-ordenada, levando a uma implementação incorreta do algoritmo.

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