— Anota na lista por voz: banana, leite, banana, pão — pediu o pai, que prefere ouvir e falar os itens porque…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Comparar diferentes casos particulares (instâncias) de um mesmo problema, identificando as semelhanças e diferenças entre eles, e criar um algoritmo para resolver todos, fazendo uso de variáveis (parâmetros) para permitir o tratamento de todos os casos de forma genérica.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— Anota na lista por voz: banana, leite, banana, pão — pediu o pai, que prefere ouvir e falar os itens porque tem baixa visão. No fim, o aplicativo mostrou exatamente na ordem dita: banana, leite, banana, pão. Na semana seguinte, outra compra começou assim: arroz, feijão, arroz, arroz, café. De novo, a tela repetiu os nomes, e a família esqueceu que “arroz” tinha sido pedido 3 vezes. O desenvolvedor propôs uma melhoria: manter uma única linha por produto e indicar a quantidade ao lado, como “arroz (3)”. A ideia é que o mesmo procedimento funcione para qualquer lista falada, com itens diferentes e com repetições em posições variadas. Analise os dois casos descritos e identifique o algoritmo que permite transformar qualquer lista falada em uma lista sem nomes repetidos, registrando a quantidade correta de cada item.
- A) Para cada item falado, contar quantas palavras foram ditas ao todo e salvar somente esse número como resumo da lista.
- B) Para cada item falado, adicionar uma nova linha na lista, mantendo a ordem em que os itens foram ditos.
- C) Para cada item falado, registrar tudo e, ao final, apagar as linhas repetidas, mantendo apenas a primeira ocorrência.
- D) Para cada item falado, verificar se já existe; se existir, não registrar de novo; se não, criar o item sem quantidade.
- E) Para cada item falado, verificar se já existe; se existir, aumentar 1 na quantidade; se não, criar o item com 1.
✅ Resposta correta: alternativa E
Resolução passo a passo
- Observe os dois casos. Na primeira lista (banana, leite, banana, pão) a tela repete o nome banana, e na segunda (arroz, feijão, arroz, arroz, café) o nome arroz aparece três vezes. O problema é que o aplicativo registra cada fala como uma nova linha, sem reconhecer que o produto já existe.
- O objetivo do desenvolvedor é ter uma única linha por produto com a quantidade ao lado, como 'arroz (3)'. Para isso, o algoritmo precisa, para cada item falado, verificar se ele já está na lista e, conforme o resultado, atualizar ou criar a entrada.
- Aplique a alternativa E ao segundo caso. Começa vazio. 'arroz' não existe: cria arroz com 1. 'feijão' não existe: cria feijão com 1. 'arroz' já existe: aumenta arroz para 2. 'arroz' já existe: aumenta para 3. 'café' não existe: cria café com 1. Resultado: arroz (3), feijão (1), café (1), com a quantidade correta de cada item, sem repetição.
- Por que as outras estão erradas. A conta palavras ao todo e não identifica itens nem quantidades por produto. B mantém a ordem e as repetições, que é exatamente o problema original. C deixa a primeira ocorrência, mas perde a contagem de quantas vezes o item foi falado. D elimina a repetição, porém não registra a quantidade, que é o que a família esqueceu.
- Conclusão: a alternativa E é a única que combina verificação de existência com contagem, resolvendo o problema para qualquer lista falada, independentemente da ordem das repetições.
💡 Dica: Identifique o algoritmo que conta e agrupa itens repetidos em uma lista.
Alternativa por alternativa
O aluno acha que a quantidade de itens pode ser obtida contando palavras da fala, ignorando que cada produto precisa ser identificado individualmente.
O aluno entende que basta manter a ordem de registro, sem perceber que a repetição de nomes é justamente o problema a ser resolvido.
O aluno acredita que eliminar duplicatas ao final resolve o problema, mas com isso perde a informação de quantas vezes o item foi pedido.
O aluno percebe a necessidade de verificar se o item já existe, mas esquece que o objetivo inclui registrar a quantidade, descartando a contagem das repetições.
Resolve os dois casos: repetições em qualquer posição viram um único item com contagem acumulada.
Raio-X da questão
algoritmo de contagem e agrupamento
diagnostico
estrutura de dados lista
estude algoritmos para contar e agrupar elementos repetidos em listas
O aluno pode confundir a repetição de itens com a necessidade de manter a ordem original sem agrupar.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Projete em pseudocódigo um algoritmo que receba uma lista de nomes de alunos (dados) e retorne a mesma lista sem…
- Cerca de 300 sacos de lixo foram recolhidos em um mutirão de limpeza na orla. Para registrar a coleta, cada saco recebeu…
- Problema de programação: dada uma lista de nomes, crie um programa que conte a frequência de cada nome e apresente em…
- Considere um programa que precisa contar quantas vezes cada item aparece em uma lista. Qual técnica de programação seria…
- Projete um algoritmo em pseudocódigo que receba uma lista de nomes de alunos (entrada de dados) e retorne uma lista de…
- Dada uma lista de dados com repetições, qual método preservando a ordem dos primeiros aparecimentos tem complexidade…
Todas as questões de Estratégias de solução de problemas - Generalização
🔎 Resolver outra questão
Cole o enunciado e veja a resolução passo a passo, a alternativa correta e por que as outras estão erradas.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
