No terminal de uma biblioteca comunitaria, o cadastro dos visitantes ficou com repeticões porque algumas…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Utilizar algoritmos clássicos de manipulação sobre listas.
Fonte: Base Nacional Comum Curricular (MEC).Questão
No terminal de uma biblioteca comunitaria, o cadastro dos visitantes ficou com repeticões porque algumas pessoas confirmaram a mesma reserva mais de uma vez quando a internet caiu. A equipe anotou a lista na ordem em que as mensagens chegaram: Luiza, Bruno, Ana, Luiza, Carla, Bruno, Diego, Ana, Elisa. Para evitar dois chamados para a mesma pessoa, o sistema precisa gerar uma nova lista com cada nome apenas uma vez, mantendo a primeira aparicao de cada um. Assim, quem entrou antes continua na frente, e os repetidos nao voltam ao final. A programadora explicou que nao basta ordenar os nomes nem apagar todos os que aparecem mais de uma vez, porque isso mudaria a ordem de atendimento ou retiraria nomes validos. O procedimento escolhido deve percorrer a lista original, conferir se o nome ja foi incluido e, so entao, inserir os novos nomes na lista final. Considere a situacao descrita e identifique o procedimento que produz corretamente a lista final de atendimento.
- A) Reverter a lista e copiar apenas os nomes que estiverem no final.
- B) Ordenar a lista e eliminar os nomes que aparecerem depois da primeira posicao.
- C) Eliminar da lista todos os nomes que aparecam mais de uma vez.
- D) Separar a lista em dois grupos e juntar depois os nomes repetidos com os novos.
- E) Percorrer a lista e adicionar cada nome somente se ele ainda nao tiver sido incluido.
✅ Resposta correta: alternativa E
Resolução passo a passo
- O objetivo é gerar uma lista em que cada nome aparece uma única vez, mantendo a ordem da primeira aparição. A lista original é: Luiza, Bruno, Ana, Luiza, Carla, Bruno, Diego, Ana, Elisa.
- Percorrendo a lista do início ao fim e conferindo, a cada nome, se ele já foi incluido na lista final, obtemos: Luiza (entra, pois ainda não está na lista final), Bruno (entra), Ana (entra), Luiza (já incluída, ignorada), Carla (entra), Bruno (já incluído, ignorado), Diego (entra), Ana (já incluída, ignorada), Elisa (entra).
- A lista final resultante é: Luiza, Bruno, Ana, Carla, Diego, Elisa. Ela preserva a ordem de chegada e cada nome aparece só uma vez.
- Por que a alternativa E está correta: ela descreve exatamente esse procedimento, percorrer a lista original e incluir um nome somente se ele ainda não foi incluído.
- Por que as outras estão erradas: A inverte a ordem e copia apenas os nomes do final, o que perderia nomes válidos e mudaria a ordem de atendimento. B ordena a lista, o que a programadora descartou por mudar a ordem de atendimento. C apaga todos os nomes repetidos, retirando também Luiza, Bruno e Ana, que são nomes válidos. D separa os nomes em grupos e os junta depois, o que não garante a primeira aparição nem a ordem de chegada.
💡 Dica: Identifique o método que mantém a ordem e elimina repetições corretamente.
Alternativa por alternativa
O aluno acredita que o último registro de cada pessoa é o que deve valer, ou que basta inverter a lista para reaproveitar a ordem, ignorando que a ordem de chegada deve ser preservada e que a primeira aparição é a relevante.
O aluno supõe que organizar os nomes em ordem alfabética resolve a duplicidade, esquecendo que o enunciado proíbe alterar a ordem de atendimento e que eliminar tudo após a primeira posição descartaria nomes válidos.
Por que engana: Escolher métodos que alteram a ordem original ou removem todos os repetidos erradamente.
O aluno entende que nome repetido é um erro a ser removido por completo, sem perceber que apenas as cópias extras devem sair e que a primeira ocorrência de cada nome precisa ser mantida.
O aluno imagina que dividir a lista em grupos e depois reunir os resultados mantém naturalmente a ordem de chegada e a primeira aparição, sem verificar essa correspondência passo a passo.
Esse procedimento remove repeticoes sem alterar a ordem da primeira aparicao, exatamente como pede o texto-base.
Raio-X da questão
eliminação de repetições mantendo ordem
diagnostico
listas e estruturas de dados · controle de fluxo e condições
estude estruturas de dados para remoção de duplicatas mantendo ordem
Escolher métodos que alteram a ordem original ou removem todos os repetidos erradamente.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Um sistema de uma estufa analisa cinco leituras de umidade do solo: 19, 22, 24, 27 e 20. O algoritmo conta as leituras…
- Na montagem de um boletim digital da escola, as seções estão nesta ordem: capa, entrevista, fotos e agenda. A equipe…
- Em um aplicativo da escola, a lista de representantes da turma aparece nesta ordem: Ana, Bia, Caio, Davi e Elisa. Caio…
- Enquanto agentes de manutenção acompanham pedidos de reparo de bicicletas públicas, o painel registra os chamados em uma…
- — O livro de Marina Souza está disponível? — perguntou uma visitante ao balcão da biblioteca municipal. No computador…
- — O kit 47 já foi devolvido? — perguntou a técnica responsável pela campanha itinerante de vacinação. Antes do uso de…
🔎 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
