— Quem fica com a chave do galpão de doações neste sábado? — perguntou Júlio no grupo do bairro. Para evitar…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Criar soluções de problemas para os quais seja adequado o uso de listas para descrever suas informações e automatizá-las usando uma linguagem de programação, empregando ou não a recursão como uma técnica de resolver o problema.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— Quem fica com a chave do galpão de doações neste sábado? — perguntou Júlio no grupo do bairro. Para evitar confusão, o combinado foi um rodízio: a pessoa que abre o galpão em um sábado vai para o fim da ordem, e quem estava em seguida passa a ser a próxima. A lista inicial de voluntários, na ordem de revezamento, foi anotada assim: [Aline, Bruno, Cida, Diego]. Como o grupo às vezes esquece de atualizar a ordem, Júlio decidiu fazer um programa simples: ele deve mostrar quem é o próximo a abrir o galpão e, quando essa pessoa for marcada como “já abriu”, a lista precisa ser atualizada para manter o rodízio para os próximos sábados. Com base no texto, identifique a sequência de ações do programa que atualiza a lista após marcar que o primeiro nome “já abriu”, mantendo o rodízio combinado.
- A) Guardar o último nome, remover o último e inserir esse nome na posição 0 da lista
- B) Ordenar a lista em ordem alfabética e marcar como próximo o primeiro nome após a ordenação
- C) Guardar o 1o nome, remover a posição 0 e acrescentar esse nome no fim da lista
- D) Guardar o 1o nome, copiar esse nome no fim da lista e manter o nome também no início
- E) Remover o nome da posição 0 e acrescentar no fim o nome que já estava na posição 1
✅ Resposta correta: alternativa C
Resolução passo a passo
- Identifique a regra do rodízio. Quem abre o galpão vai para o fim da ordem, e o próximo da fila passa a ser o primeiro. Na lista [Aline, Bruno, Cida, Diego], a primeira pessoa é Aline, que é a próxima a abrir o galpão. Passo 2: Ao marcar Aline como “já abriu”, o programa precisa guardar esse nome antes de mexer na lista, pois ele será reinserido no fim. Passo 3: Remova a posição 0 (Aline). A lista fica [Bruno, Cida, Diego], e Bruno passa a ser o próximo. Passo 4: Acrescente Aline no fim da lista, resultando em [Bruno, Cida, Diego, Aline]. Essa sequência é exatamente a alternativa C: guardar o 1o nome, remover a posição 0 e acrescentar esse nome no fim da lista. Por que as outras estão erradas: A insere o último nome no início, o que quebra a ordem do rodízio e não move quem acabou de abrir para o fim. B ordena alfabeticamente, o que ignora completamente a ordem combinada. D copia o nome para o fim e o mantém no início, criando duplicidade, pois Aline apareceria duas vezes. E remove Aline, mas depois coloca no fim o nome que estava na posição 1, que é Bruno, o que altera a fila errado e não registra Aline no fim. O gabarito oficial C está correto.
💡 Dica: Identifique a regra do rodízio e como atualizar a lista após a pessoa abrir o galpão.
Alternativa por alternativa
O aluno entende que o rodízio exige mexer no último nome da lista e trazê-lo para o início, invertendo o sentido da fila. Ele não percebe que quem abriu deve ser deslocado para o fim.
O aluno acredita que a lista deve ser organizada alfabeticamente para definir quem é o próximo, confundindo ordem de revezamento com ordem alfabética. A regra do texto é a sequência combinada, não a ordem das letras.
Isso move quem abriu do início para o final, mantendo a ordem dos demais, como no rodízio descrito.
O aluno entende que o nome deve ser copiado para o fim sem ser removido do início, achando que a pessoa continua na fila. Isso cria uma duplicata e não respeita o fato de que quem abriu sai do começo.
Por que engana: Confundir a posição dos elementos na lista e a ordem correta de remoção e inserção para manter o rodízio.
O aluno remove corretamente o primeiro nome, mas depois acrescenta no fim o nome da posição 1, que é o segundo da lista original. Ele não percebe que deveria acrescentar o nome que foi removido, e não o seguinte.
Raio-X da questão
estrutura de dados lista
avaliacao
manipulação de listas
Estude como manipular listas e operações de remoção e inserção em programação.
Confundir a posição dos elementos na lista e a ordem correta de remoção e inserção para manter o rodízio.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- No terminal de uma biblioteca comunitaria, o cadastro dos visitantes ficou com repeticões porque algumas pessoas…
- — Se a pessoa com senha 12 desistir, a gente precisa tirar essa linha e chamar a proxima sem confundir os pedidos —…
- — Tem audioguia disponível? — perguntou um visitante na entrada de uma mostra interativa. A equipe tem 12 aparelhos de…
- — Tem muita gente chegando ao posto para o mutirão de vacinação — comentou o agente de saúde, olhando o painel de…
- — O painel não pode tratar a mesma ficha duas vezes nem encerrar o atendimento por causa de uma pendência — explicou a…
- — Chegaram mais recados no celular! — disse a apresentadora de uma rádio comunitária, enquanto prepara o programa de…
Todas as questões de Programação - Programação com listas e recursão
🔎 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
