Questão de Programação — Programação estruturada — FUNDATEC 2023
Programação›Programação estruturada
Código
qq890550
Banca
FUNDATEC
Órgão
CIGA-SC
Ano
2023
Nível
Médio
Cargo
Proramador
A lista de elementos abaixo representa uma estrutura de dados com os elementos inseridos há mais tempo à esquerda e os mais novos mais à direita:Caso fosse implementada uma operação de remoção de um elemento de forma que a estrutura se comporte como uma pilha e posteriormente como uma fila, quais seriam os elementos removidos, respectivamente?
A1 e 1.
B1 e 2.
C2 e 3.
D2 e 1.
E2 e 2.
Revelar gabarito e comentário▾
GabaritoB — 1 e 2.
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”.
Resolução
Gabarito: letra B — a conta chega a 3 e 1 — alternativa B.
A ideia por trás
Pilha e fila são duas formas de organizar uma lista de elementos, e a diferença está em quem sai primeiro. Na pilha, o último a entrar é o primeiro a sair — como uma pilha de pratos, em que você só pega o de cima. Na fila, o primeiro a entrar é o primeiro a sair — como uma fila de banco, em que quem chegou antes é atendido antes.
A regra de remoção é o que define cada estrutura: pilha usa LIFO (Last In, First Out) e fila usa FIFO (First In, First Out). Isso significa que, para saber quem sai, basta olhar a ordem de chegada: na pilha, o último da lista; na fila, o primeiro da lista. Não há fórmula, apenas a leitura da posição na sequência.
A questão dá a lista com os mais antigos à esquerda e os mais novos à direita, então basta aplicar as duas regras: na pilha, remover o elemento mais à direita; na fila, remover o mais à esquerda.
O que a questão dá
lista com elementos 1, 2, 3, da esquerda para a direita
elementos mais antigos à esquerda, mais novos à direita
operação de remoção primeiro como pilha, depois como fila
O que queremos: os elementos removidos, respectivamente, ao usar a estrutura como pilha e depois como fila
Passo 1 — Identificar a ordem de chegada dos elementos
Para saber quem sai em cada estrutura, precisamos saber quem chegou primeiro e quem chegou por último. O enunciado já diz: os mais antigos estão à esquerda e os mais novos à direita, então a ordem de chegada é 1, depois 2, e por último 3.
NÃO CAIA NESSA!
Confundir a ordem e achar que o mais novo está à esquerda — o enunciado é explícito, mas é fácil inverter.
Passo 2 — Remover como pilha: tirar o último
A pilha segue a regra LIFO: o último a entrar é o primeiro a sair. Como o 3 foi o último a chegar, ele é o topo da pilha e deve ser removido primeiro.
elemento removido: 3
NÃO CAIA NESSA!
Remover o primeiro elemento (1) pensando que pilha é igual a fila — a ordem é invertida.
Passo 3 — Remover como fila: tirar o primeiro
A fila segue a regra FIFO: o primeiro a entrar é o primeiro a sair. Como o 1 foi o primeiro a chegar, ele está no início da fila e deve ser removido.
elemento removido: 1
NÃO CAIA NESSA!
Remover o último (3) pensando que fila é igual a pilha — a ordem é invertida.