“Uma fala apagada por engano não pode desaparecer do acervo”, observou a responsável pela digitalização de…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir soluções computacionais de problemas de diferentes áreas do conhecimento, de forma individual e colaborativa, selecionando as estruturas de dados e técnicas adequadas, aperfeiçoando e articulando saberes escolares.
Fonte: Base Nacional Comum Curricular (MEC).Questão
“Uma fala apagada por engano não pode desaparecer do acervo”, observou a responsável pela digitalização de depoimentos de antigos moradores. No sistema usado pelo museu, cada correção feita na transcrição — inserir uma palavra, apagar um trecho ou trocar uma grafia — precisa poder ser desfeita várias vezes. Após desfazer correções, o usuário também deve poder refazê-las na ordem inversa. Porém, se ele fizer uma nova correção depois de desfazer alguma ação, as correções que estavam disponíveis para refazer deixam de valer, pois pertencem a uma versão anterior do texto. A equipe precisa definir como guardar o histórico das ações para que essas operações ocorram sem procurar manualmente em todo o documento. Analise as operações exigidas pelo sistema e indique a organização de dados que atende ao desfazer, ao refazer e à criação de uma nova versão.
- A) Manter duas pilhas, transferindo a alteração mais recente entre elas e limpando a de refazer após nova edição.
- B) Manter uma lista por data, apagando definitivamente cada alteração desfeita para evitar versões duplicadas.
- C) Manter uma matriz de posições do texto, substituindo cada alteração pela coordenada que ela ocupa no documento.
- D) Manter um registro único da versão atual, sobrescrevendo o conteúdo sempre que ocorrer uma correção.
- E) Manter uma fila única, retirando a alteração mais antiga para desfazer e recolocando-a ao final para refazer.
✅ Resposta correta: alternativa A
Resolução passo a passo
- O sistema precisa de três operações: desfazer (voltar a uma alteração anterior), refazer (reaplicar, na ordem inversa, as alterações desfeitas) e criar nova versão (uma nova correção que invalida o que estava disponível para refazer). Passo 2: Para desfazer, a alteração mais recente deve ser retirada do topo do histórico, e o acesso ao último item é exatamente o comportamento de uma pilha (último a entrar, primeiro a sair). Passo 3: Ao desfazer, a alteração retirada não se perde: ela vai para uma segunda pilha, de refazer, onde também fica no topo. Assim, refazer apenas retira o topo dessa segunda pilha e o devolve à pilha de desfazer, sem procurar nada no documento. Passo 4: Quando o usuário faz uma nova correção depois de desfazer algo, a pilha de refazer é limpa, pois as ações ali guardadas pertencem a uma versão anterior do texto. Isso cumpre a regra do enunciado. Passo 5: Por que as outras estão erradas: a B apaga as alterações desfeitas, impedindo o refazer; a C usa posições no texto, que não registram a ordem das ações nem permitem voltar no tempo; a D guarda só a versão atual, sem histórico para desfazer; a E usa fila, que remove a alteração mais antiga, quando desfazer exige remover a mais recente. Gabarito oficial A confirmado.
💡 Dica: Pense em estruturas que permitam desfazer e refazer ações sequencialmente.
Alternativa por alternativa
Correta. Pilhas recuperam a última ação registrada; a transferência entre elas permite desfazer e refazer, e uma nova edição invalida o histórico de refazer.
Acredita que o histórico é apenas uma lista cronológica e que apagar as alterações desfeitas evita duplicidade. Não percebe que, ao apagá-las, o refazer fica impossível.
Imagina que guardar a posição de cada alteração no documento basta para voltar e avançar nas ações. Confunde a localização do texto com a ordem cronológica das operações.
Supõe que basta manter a versão atual sobrescrita, sem registrar o que foi feito. Não percebe que sem registro das ações anteriores não há como desfazer nem refazer.
Acredita que a fila, que atende primeiro quem chegou primeiro, serve ao desfazer. Na verdade, desfazer deve retirar a alteração mais recente, o que exige a ordem LIFO da pilha, não a FIFO da fila.
Raio-X da questão
estrutura de dados para histórico
avaliacao
conceito de pilha · conceito de lista encadeada
Estude pilhas e gerenciamento de histórico de ações.
Confundir a estrutura que permite desfazer/refazer com uma simples lista linear sem controle de versões.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- — Se uma doação não for retirada até o fim da feira, precisamos avisar a associação certa — disse a coordenadora do…
- “A estrada entre Vila Nova e Campo Alto foi liberada, mas a ligação de Pedra Branca com o abrigo central continua…
- — O código B-14 não pode entrar na soma das caixas — avisou a responsável pelo recebimento no mercado municipal. Para…
- — Se aparecer contaminação em um lote, a gente precisa descobrir de qual ponto veio e quem recolheu — disse uma das…
- À medida que as boias costeiras enviam medições sobre a qualidade da água, três postos de monitoramento recebem arquivos…
- Projete e descreva com precisão o algoritmo e as estruturas de dados (registros, grafo, hash) para implementar um…
🔎 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
