GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO03Média⏱ medio

Em uma competição de programação, uma equipe precisa ordenar uma lista muito grande de notas. Todas as notas…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO03

Utilizar algoritmos clássicos de manipulação sobre listas.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Em uma competição de programação, uma equipe precisa ordenar uma lista muito grande de notas. Todas as notas são números inteiros de 0 a 10, e o principal objetivo é gastar o menor tempo possível na ordenação. Qual algoritmo é mais adequado para ordenar essa lista com eficiência, aproveitando que existem apenas 11 valores possíveis?

  1. A) Método da bolha (Bubble Sort)
  2. B) Ordenação por contagem (Counting Sort)
  3. C) Seleção simples (Selection Sort)
  4. D) QuickSort
  5. E) Inserção (Insertion Sort)

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. Identifique o dado-chave do enunciado: a lista é muito grande, os valores são inteiros de 0 a 10 (apenas 11 valores possíveis) e o objetivo é ordenar no menor tempo possível.
  2. Lembre que algoritmos por comparação (Bubble, Selection, Insertion e QuickSort) não conseguem, no caso médio, ordenar menos do que n log n comparações, e os quadráticos (Bubble, Selection, Insertion) são lentos para listas grandes.
  3. Perceba que, quando o universo de valores é pequeno e conhecido, é possível contar quantas vezes cada valor aparece e reconstruir a lista na ordem, sem comparar elementos entre si.
  4. Esse método é a ordenação por contagem (Counting Sort). Ele percorre a lista uma vez para contar as ocorrências de cada um dos 11 valores e depois escreve cada valor na quantidade indicada, com complexidade proporcional a n + k, onde k = 11. Logo, é linear no tamanho da lista.
  5. Por que as outras estão erradas: A) o Bubble Sort é quadrático e ineficiente para listas grandes; C) o Selection Sort também é quadrático, fazendo sempre o mesmo número de comparações; D) o QuickSort é eficiente em geral, mas é baseado em comparações e não aproveita a faixa pequena de valores; E) o Insertion Sort é quadrático no caso médio e no pior caso, sendo lento para listas muito grandes.
  6. Conclusão: a alternativa B é a mais adequada, pois explora diretamente a existência de apenas 11 valores possíveis, em conformidade com o gabarito oficial.

💡 Dica: Considere diferentes algoritmos de ordenação e suas eficiências.

Alternativa por alternativa

A Erradaerro: Senso comuma que mais engana

Acredita que o Bubble Sort, por ser o mais conhecido e simples, é a melhor opção, ignorando que sua complexidade quadrática o torna lento para listas muito grandes.

Por que engana: Escolher o método da bolha por ser o mais simples, sem considerar sua ineficiência em listas grandes.

B Correta

A ordenação por contagem registra quantas vezes cada nota aparece. Como os valores possíveis estão limitados de 0 a 10, o algoritmo percorre a lista e depois organiza os resultados em tempo proporcional ao tamanho da lista, sem precisar comparar cada nota com todas as outras. Por isso, é a opção mais adequada para esse caso.

C Erradaerro: Conceitual

Supõe que o Selection Sort, por fazer poucas trocas, seja eficiente, sem perceber que ele realiza sempre cerca de n^2/2 comparações.

D Erradaerro: Conceitual

Considera que o QuickSort é sempre o mais rápido possível e não percebe que, com poucos valores distintos, ele não aproveita essa informação e continua baseado em comparações.

E Erradaerro: Procedimental

Acha que o Insertion Sort é eficiente porque funciona bem em listas quase ordenadas, sem notar que o enunciado trata de uma lista muito grande e arbitrária, com custo quadrático.

Raio-X da questão

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

algoritmos de ordenação

📌 Objetivo

avaliacao

🧱 Pré-requisitos

algoritmos de ordenação · complexidade de algoritmos

📚 Reveja

Revisar os principais algoritmos de ordenação e suas complexidades.

⚠️ Erro mais comum

Escolher o método da bolha por ser o mais simples, sem considerar sua ineficiência em listas grandes.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Programação - Algoritmos clássicos

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