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
- Um aplicativo de voz transforma fala em texto usando dados e algoritmo. Selecione o exemplo de inteligencia artificial.
- Crie um algoritmo em pseudocódigo que solicite números ao usuário até que digite 0; para cada número conte quantos são…
- Elabore um algoritmo em pseudocódigo que, dado um grafo representado por lista de adjacência e dois vértices (origem…
- Ao decompor um algoritmo que calcula o produto de elementos de uma lista de dados, qual subtarefa isola a inicialização…
- Projete em pseudocódigo um algoritmo que, dada uma lista de leituras (lista[1..n]) e um limiar T, retorne o índice da…
- Projete um autômato baseado em eventos para tocar o sinal de entrada e saída das aulas numa escola: descreva estados…
🔎 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
