Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FGV 2024
Algoritmos e Estrutura de Dados›Estrutura de Dados
Código
fg089773
Banca
FGV
Órgão
Prefeitura de Caraguatatuba - SP
Ano
2024
Nível
Médio
Cargo
Técnico em Processamento de Dados
Considere a estrutura de dados do tipo pilha. Se a pilha estiver vazia então topo = λ, sabe-se que pt é um ponteiro. Analise o algoritmo abaixose topo ≠ λ entãopt := topotopo := topo ↑.proxvalor- recuperado := pt ↑.infodesocupar(pt)senão underflowO algoritmo descreve a operação de
Ainserção na pilha.
Bconsulta da pilha.
Cremoção da pilha.
Destouro por overflow.
Eestouro por underflow.
Revelar gabarito e comentário▾
GabaritoC — remoção da pilha.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Operação de remoção em pilha (pop)
Gabarito: letra C. O algoritmo descreve a operação de remoção (pop) em uma pilha: verifica se a pilha não está vazia, guarda o ponteiro do topo, avança o topo para o próximo nó, recupera o valor armazenado no nó removido e libera a memória do nó antigo. Se a pilha estiver vazia, sinaliza underflow.
A estrutura de dados pilha segue o princípio LIFO (Last In, First Out). As operações básicas são:
push (inserção): aloca um novo nó e o coloca no topo.
pop (remoção): remove o nó do topo e retorna seu valor.
top (consulta): retorna o valor do topo sem remover.
flowchart TD
A[Início] --> B{topo ≠ λ?}
B -->|sim| C[pt := topo]
C --> D[topo := topo↑.prox]
D --> E[valor_recuperado := pt↑.info]
E --> F[desocupar(pt)]
F --> G[Fim]
B -->|não| H[Underflow]
Alternativa A — ❌ Incorreta
Inserção (push) envolveria alocar um novo nó, apontar seu prox para o atual topo e atualizar topo para o novo nó. O algoritmo dado remove um nó, não insere.
Alternativa B — ❌ Incorreta
Consulta (top) apenas lê o valor do topo sem alterar a estrutura. O algoritmo altera topo e desaloca memória, caracterizando remoção.
Alternativa C — ✅ Correta ⟵ GABARITO
O algoritmo realiza exatamente a remoção: guarda referência ao nó do topo, avança o ponteiro topo para o próximo, extrai o valor e libera o nó. É a implementação clássica da operação pop.
Alternativa D — ❌ Incorreta
Overflow (estouro) ocorre quando se tenta inserir em uma pilha cheia, situação não abordada no algoritmo.
Alternativa E — ❌ Incorreta
Underflow é a condição de erro quando a pilha está vazia e se tenta remover. O algoritmo a detecta (senão underflow), mas a operação descrita é a remoção, não o tratamento de underflow.
NÃO CAIA NESSA!
A banca coloca o senão underflow no algoritmo, tentando fazer o candidato achar que a operação é o tratamento de underflow. Mas a ação principal (quando topo ≠ λ) é justamente a remoção. O underflow é apenas o desvio para pilha vazia. Atenção: a operação é a remoção (pop), e não o erro.