GeraProva GeraProva Provas com IA para professores do Brasil
Computação9º anoBNCC EF09CO02Difícil⏱ longo

“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

Habilidade BNCC EF09CO02

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.

  1. A) Manter duas pilhas, transferindo a alteração mais recente entre elas e limpando a de refazer após nova edição.
  2. B) Manter uma lista por data, apagando definitivamente cada alteração desfeita para evitar versões duplicadas.
  3. C) Manter uma matriz de posições do texto, substituindo cada alteração pela coordenada que ela ocupa no documento.
  4. D) Manter um registro único da versão atual, sobrescrevendo o conteúdo sempre que ocorrer uma correção.
  5. 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

  1. 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

A Correta

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.

B Erradaerro: Conceitual

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.

C Erradaerro: Conceitual

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.

D Erradaerro: Conceitual

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.

E Erradaerro: Conceitual

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

Dificuldade Difícil
Bloom Aplicar
Leitura medio
Discriminação medio
Peso pedagógico medio
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ situacional🧩 consolidacao
🎯 Conceito central

estrutura de dados para histórico

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceito de pilha · conceito de lista encadeada

📚 Reveja

Estude pilhas e gerenciamento de histórico de ações.

⚠️ Erro mais comum

Confundir a estrutura que permite desfazer/refazer com uma simples lista linear sem controle de versões.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Programação - Projetos com programaçã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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.