Pular para o conteúdo principal

Questão de Programação — Programação estruturada — FUNDATEC 2023

ProgramaçãoProgramaçã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:Imagem associada para resolução da questãoCaso 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?
  1. A1 e 1.
  2. B1 e 2.
  3. C2 e 3.
  4. D2 e 1.
  5. 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.

ordemdechegada:1,2,3\boxed{\text{ordem} \text{de} \text{chegada}: 1, 2, 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.

Resposta: 3 e 1 — alternativa B

Link permanente: /questoes/qq890550