Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FGV 2024

Algoritmos e Estrutura de DadosEstrutura 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
  1. Ainserção na pilha.
  2. Bconsulta da pilha.
  3. Cremoção da pilha.
  4. Destouro por overflow.
  5. 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.

Gabarito: letra C.

Link permanente: /questoes/fg089773