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

— De novo apareceu duas vezes o mesmo número! — reclamou a técnica que cuida do sistema de bicicletas…

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

— De novo apareceu duas vezes o mesmo número! — reclamou a técnica que cuida do sistema de bicicletas compartilhadas da cidade. No fim do dia, o aplicativo gera uma lista com os IDs das bikes que foram encaixadas nos pontos de devolução. Às vezes, o sensor lê o mesmo encaixe duas vezes e repete o ID. Para planejar revisões, a equipe precisa de uma nova lista com IDs únicos, mantendo a ordem em que cada bike apareceu pela primeira vez. Em um teste, o registro do dia foi: [12, 12, 7, 12, 7, 9, 9]. O relatório esperado é: [12, 7, 9]. Cinco procedimentos foram sugeridos para transformar a lista original nesse relatório. Com base no texto, identifique o procedimento que atende ao relatório esperado, removendo repetições e preservando a primeira aparição de cada ID.

  1. A) Percorrer por indice e, quando houver repeticao, apagar o primeiro elemento do par repetido na lista original
  2. B) Ordenar a lista e, em seguida, apagar apenas os IDs repetidos que ficarem lado a lado
  3. C) Percorrer a lista e apagar um ID sempre que ele for igual ao ID imediatamente anterior
  4. D) Percorrer a lista e, para cada ID, acrescentar ao resultado apenas se ele ainda nao estiver no resultado
  5. E) Percorrer a lista e usar busca binaria no resultado para decidir se o ID ja apareceu

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Entenda o pedido. Devemos percorrer a lista original [12, 12, 7, 12, 7, 9, 9], manter a ordem e guardar cada ID apenas na sua primeira aparição, obtendo [12, 7, 9].
  2. Analise a alternativa D. Percorremos a lista do início ao fim. Para cada ID, verificamos se ele já está no resultado. Se não estiver, o acrescentamos ao final do resultado. Assim: 12 entra; o 12 seguinte já está, então é ignorado; 7 entra; 12 ignorado; 7 ignorado; 9 entra; 9 ignorado. Resultado: [12, 7, 9]. Esse é o relatório esperado.
  3. Por que as outras estão erradas. A: apagar o primeiro elemento de cada par repetido remove justamente a primeira aparição, o que contraria a exigência de preservar a primeira ocorrência. B: ordenar a lista altera a ordem original; o resultado seria [7, 9, 12], que não respeita a ordem de primeira aparição. C: apagar apenas repetições imediatamente consecutivas deixaria os 12 e 7 que reaparecem depois de outros IDs, produzindo [12, 7, 12, 7, 9]. E: a busca binária exige uma lista ordenada, e o resultado [12, 7, 9] não está ordenado, então a busca binária não funciona nele.
  4. Conclusão. O procedimento correto é o da alternativa D, que coincide com o gabarito oficial, pois é o único que mantém a ordem e a primeira aparição de cada ID.

💡 Dica: Percorra a lista e adicione IDs ao resultado apenas se ainda não estiverem presentes.

Alternativa por alternativa

A Erradaerro: Procedimental

Acredita que basta remover um dos elementos repetidos, sem perceber que apagar o primeiro elemento do par mantém a última ocorrência, e não a primeira, e ainda bagunça os índices durante a remoção.

B Erradaerro: Conceitual

Acredita que ordenar a lista não altera o resultado final e que remover repetições adjacentes é suficiente, sem notar que a ordenação muda a sequência original dos IDs.

C Erradaerro: Interpretaçãoa que mais engana

Entende que repetição significa apenas valores iguais um ao lado do outro, ignorando que o mesmo ID pode reaparecer depois de outros IDs na lista.

Por que engana: Confundir remoção de duplicatas com remoção apenas de elementos adjacentes ou apagar o primeiro elemento repetido.

D Correta

Mantem a ordem de primeira aparicao e evita repeticoes ao testar pertença antes de inserir no resultado.

E Erradaerro: Conceitual

Acredita que a busca binária pode ser usada em qualquer lista, sem perceber que ela exige que os dados estejam ordenados, o que não ocorre com o resultado construído.

Raio-X da questão

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

remover repetições mantendo ordem

📌 Objetivo

avaliacao

🧱 Pré-requisitos

listas e estruturas de dados · controle de fluxo

📚 Reveja

estude estruturas de dados para remoção de duplicatas mantendo ordem

⚠️ Erro mais comum

Confundir remoção de duplicatas com remoção apenas de elementos adjacentes ou apagar o primeiro elemento repetido.

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