Uma cooperativa de entregas está desenvolvendo um aplicativo para conferir os itens de cada pedido. Os…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Uma cooperativa de entregas está desenvolvendo um aplicativo para conferir os itens de cada pedido. Os produtos são armazenados em uma lista na ordem em que foram separados, sem organização alfabética ou numérica. Para verificar se determinado produto está presente, o programa deve examinar os itens um a um, do primeiro ao último, sem reorganizar a lista antes da busca. Com base nessa situação, qual técnica de programação é mais adequada para localizar um produto na lista?
- A) Ordenação por seleção
- B) Busca sequencial
- C) Merge sort
- D) Busca binária
- E) Bubble sort
✅ Resposta correta: alternativa B
Resolução passo a passo
- O enunciado descreve uma lista sem nenhuma ordem (nem alfabética nem numérica) e exige que a verificação seja feita examinando os itens um a um, do primeiro ao último, sem reorganizar a lista antes da busca.
- Essa descrição corresponde exatamente à busca sequencial (também chamada busca linear): percorre-se a lista elemento por elemento até encontrar o produto procurado ou chegar ao fim da lista.
- A busca binária exige que a lista esteja ordenada, condição que o enunciado expressamente nega; por isso não é aplicável sem uma ordenação prévia, que o enunciado também proíbe.
- Por que as outras alternativas estão erradas:
- - A) Ordenação por seleção é um algoritmo para organizar a lista, e o enunciado proíbe reorganizá-la antes da busca.
- - C) Merge sort também é um algoritmo de ordenação, não de localização de itens, e igualmente pressupõe reorganizar a lista.
- - D) Busca binária funciona apenas em listas ordenadas, o que não é o caso aqui.
- - E) Bubble sort é outro método de ordenação, que altera a ordem dos itens e não serve para localizar o produto.
- Conclusão: como a lista não está ordenada e não pode ser reorganizada, a técnica adequada é a busca sequencial, alternativa B, que coincide com o gabarito oficial.
💡 Dica: Observe se a lista está ordenada e se os itens são examinados sequencialmente.
Alternativa por alternativa
O aluno associa a localização de um item à ordenação prévia da lista, achando que é preciso organizar os dados antes de procurar. Ele ignora que o enunciado proíbe reorganizar a lista antes da busca.
A busca sequencial examina os elementos em ordem, comparando cada item com o produto procurado até encontrá-lo ou chegar ao final da lista. Ela é adequada porque a lista não está ordenada e o programa não deve reorganizá-la antes da busca. A busca binária exigiria uma lista previamente ordenada.
O aluno confunde algoritmos de ordenação eficientes com técnicas de busca, supondo que um método 'mais avançado' seja automaticamente a melhor escolha. Não percebe que o merge sort apenas organiza a lista e não localiza o produto.
O aluno sabe que a busca binária é rápida e a associa a qualquer busca, sem lembrar que ela exige lista ordenada. Não verificou a condição de a lista estar sem organização alfabética ou numérica.
Por que engana: Escolher a busca binária por considerá-la mais eficiente, sem perceber que ela exige uma lista previamente ordenada.
O aluno confunde o bubble sort, um algoritmo de ordenação por trocas, com um método de pesquisa, por ser um dos primeiros algoritmos que aprendeu. Não distingue ordenar uma lista de procurar um elemento nela.
Raio-X da questão
Busca sequencial em listas
avaliacao
Percurso sequencial de listas · Noção de ordenação de dados
Revise a diferença entre busca sequencial e busca binária, especialmente quanto à necessidade de ordenação da lista.
Escolher a busca binária por considerá-la mais eficiente, sem perceber que ela exige uma lista previamente ordenada.
ciencia_tecnologia
tomada_decisao
cotidiano
Questões parecidas com resolução
- Ao criar um algoritmo que resolve um problema de busca em uma lista de produtos, qual a abordagem mais eficiente se a…
- Durante a organização das inscrições para uma oficina de programação, uma escola recebeu a lista de participantes na…
- Uma biblioteca pública mantém um cadastro digital com 4.096 nomes de usuários, organizados em ordem alfabética. O…
- Para resolver um problema de busca em uma lista ordenada, qual é a opção mais eficiente?
- Ao resolver um problema de busca em uma lista, qual abordagem recursiva pode ser utilizada?
- Um programador está criando um algoritmo para organizar a lista de compras de um usuário. Qual é a importância 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
