Em uma escola, você precisa criar um programa que receba uma lista de nomes de estudantes e produza uma lista…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Em uma escola, você precisa criar um programa que receba uma lista de nomes de estudantes e produza uma lista sem duplicatas, em ordem alfabética. Qual estratégia de solução descreve melhor a construção do programa, considerando as estruturas de dados básicas (listas) e um algoritmo de ordenação, para resolver o dilema entre manter duplicatas ou apresentar apenas nomes únicos?
- A) Ler nomes, ordenar a lista e imprimir todos os nomes, sem remover duplicatas.
- B) Ler nomes, para cada item, se já existe na lista, não adiciona; após a leitura, ordenar a lista.
- C) Usar grafos para representar a lista de nomes e determinar a ordem lexicográfica.
- D) Inserir cada nome apenas se não estiver presente na lista; depois, imprimir a lista sem ordenar.
- E) Ler nomes, armazenar numa matriz, ordenar e imprimir mantendo duplicatas.
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado pede um programa que receba nomes, elimine duplicatas e entregue a lista em ordem alfabética, usando listas e um algoritmo de ordenação. A estratégia precisa resolver os dois requisitos, e a ordem das etapas importa.
- A alternativa B descreve o procedimento correto. Ao ler cada nome, o programa verifica se ele já está na lista e só o adiciona se não estiver. Assim, a lista já nasce sem duplicatas. Depois da leitura, aplica-se um algoritmo de ordenação (como bubble sort, insertion sort ou merge sort) para colocar os nomes em ordem alfabética.
- A alternativa A está errada porque mantém todos os nomes, inclusive repetidos, o que contraria o requisito de lista sem duplicatas.
- A alternativa C está errada porque grafos não são a estrutura adequada para uma lista simples de nomes, e a ordem lexicográfica é obtida por ordenação, não por grafos.
- A alternativa D está errada porque evita duplicatas corretamente, mas não ordena a lista, o que descumpre a exigência de ordem alfabética.
- A alternativa E está errada porque usa uma matriz sem necessidade e explicitamente mantém duplicatas, indo contra o objetivo do programa.
- Conclusão: a estratégia correta combina filtragem durante a inserção, para eliminar duplicatas, com ordenação ao final, para garantir a ordem alfabética. Por isso o gabarito B está correto.
💡 Dica: Considere as operações de lista e ordenação necessárias.
Alternativa por alternativa
O aluno acredita que ordenar já resolve o problema e não percebe que o enunciado exige remover duplicatas. Ele pode ter lido apenas a parte da ordenação.
Essa abordagem elimina duplicatas ao inserir apenas itens únicos e, em seguida, ordena a lista resultante.
O aluno associa a ordenação de textos a grafos, confundindo a estrutura de dados necessária com a de um problema de ordem lexicográfica.
O aluno entende corretamente como eliminar duplicatas na inserção, mas esquece que a lista final deve estar em ordem alfabética e acha que a ordenação é opcional.
Por que engana: Confundir a ordem das operações, como ordenar antes de remover duplicatas, ou não verificar duplicatas ao inserir nomes.
O aluno acredita que a matriz é a estrutura adequada para armazenar nomes e que manter duplicatas é aceitável, ignorando o requisito de unicidade.
Raio-X da questão
listas e ordenação
avaliacao
listas e ordenação · remoção de duplicatas em listas
Revisar algoritmos de ordenação e manipulação de listas.
Confundir a ordem das operações, como ordenar antes de remover duplicatas, ou não verificar duplicatas ao inserir nomes.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Descreva como você criaria um algoritmo para organizar uma lista de nomes de alunos por ordem alfabética. Inclua o tipo…
- Projete em pseudocódigo um algoritmo que receba uma lista de nomes de alunos (dados) e retorne a mesma lista sem…
- Descreva como um algoritmo pode ser utilizado para organizar uma lista de alunos por nome. Inclua a estrutura de dados…
- Na escola, um professor quer registrar a presença de alunos durante a entrada: desenvolva uma descrição de solução na…
- Em uma atividade de sala de aula, você precisa descrever com precisão a solucao de um problema: construir o programa que…
- Projete um algoritmo em pseudocódigo que receba uma lista de nomes de alunos (entrada de dados) e retorne uma lista 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
