QUESTÕES:

10 - (COTEC 2021) As Estruturas de Dados definem a forma como os dados serão armazenados na memória do computador. Duas das estruturas de dados mais utilizadas na computação são a Pilha e a Fila. Considere as afirmativas abaixo que comparam as estruturas de Pilha e Fila:
I-A estrutura chamada Pilha é descrita como uma estratégia last in, first out (o último que entra é o primeiro que sai), isto é, os elementos da pilha só podem ser retirados na ordem inversa à ordem que foram introduzidos.
II - A estrutura chamada Fila é descrita como uma estratégia first in, first out (o primeiro que entra é o primeiro que sai), isto é, os elementos da fila só podem ser retirados na meṣma ordem em que foram inseridos.
III - Uma estrutura que recebe dos dados 10,20,30,40 e 50 nessa ordem e só permite a sua retirada na ordem 50,40,30,20 e 10 é um exemplo de uma Pilha.
IV - Uma estrutura que recebe dos dados 10,20,30,40 e 50 nessa ordem e só permite a sua retirada na ordem 50,40,30,20 e 10 é um exemplo de uma Fila.
V. Um programa que usa apenas estruturas de Pilha recebe os dados 1,2,3,4 e 5 nessa ordem e imprime os dados na ordem 1, 2, 3, 4 e 5 pode ter sido implementado com duas estruturas de Pilha consecutivas.
As afirmativas CORRETAS são:
A) I, III, IV e V, apenas.
B) I, II, III e V, apenas.
C) I, II e III, apenas.
D) II, IV e V, apenas.
E) II, III e IV, apenas.

Passo 1

Beleza, vamos entender direitinho o que o exercício pede. A matéria aqui é Estruturas de Dados, mais especificamente Pilha (stack) e Fila (queue). Eles deram cinco afirmativas (I, II, III, IV, V) sobre como funcionam Pilha e Fila e exemplos de uso. Nosso objetivo é ver, uma a uma, quais estão corretas e depois escolher a alternativa que lista só as corretas.
O que vamos precisar:
  • Saber o que é Pilha (LIFO – last in, first out).
  • Saber o que é Fila (FIFO – first in, first out).
  • Entender exemplos de ordenação de entradas e saídas.
  • Saber que duas pilhas em série podem implementar uma fila (logo, podem devolver na ordem original).

Passo 2

Vamos revisar a teoria básica:
  1. Pilha (stack) funciona como LIFO.
    • Se eu empilhar (push) 10, depois 20, depois 30, o primeiro a sair (pop) é 30.
      Isso é “último a entrar, primeiro a sair”.
  2. Fila (queue) funciona como FIFO.
    • Se eu enfileirar (enqueue) 10, depois 20, depois 30, o primeiro a sair (dequeue) é 10.
      Isso é “primeiro a entrar, primeiro a sair”.
Agora, avaliações:
  • I: “Pilha é LIFO… elementos só podem ser retirados na ordem inversa da entrada.” → Verdadeiro.
  • II: “Fila é FIFO… elementos só podem ser retirados na mesma ordem da entrada.” → Verdadeiro.

Passo 3

Agora, afirmativas III e IV, sobre um exemplo com dados 10, 20, 30, 40 e 50:
Eles dizem que o único modo de retirar nessa ordem 50, 40, 30, 20, 10 (ou seja, exatamente o inverso) é:
  • III: “Isso é exemplo de Pilha.” → Faz sentido, pois retirar tudo em ordem inversa é comportamento de LIFO. Logo, III é verdadeira.
  • IV: “Isso é exemplo de Fila.” → Quebrou a definição de FIFO, porque fila não inverte. Logo, IV é falsa.

Passo 4

Afirmativa V:
“Um programa que usa só Pilhas recebe dados 1, 2, 3, 4, 5 nessa ordem e imprime 1, 2, 3, 4, 5 pode ter sido implementado com duas Pilhas em sequência.”
Explicando:
  • Se eu empilho em Pilha A, e depois passo todos para Pilha B (fazendo pop de A e push em B), a ordem inverte duas vezes.
  • Primeiro empilhar: A = topo [5,4,3,2,1] base.
  • Transferir para B: B = topo [1,2,3,4,5] base.
  • Agora pop em B dá 1,2,3,4,5. Isso reproduz a ordem original.
    Então V é verdadeira.

Passo 5

Resumindo quais estão certas:
I (verdadeira), II (verdadeira), III (verdadeira), IV (falsa), V (verdadeira).
A alternativa que lista I, II, III e V, apenas, é a B.

Resposta

B) I, II, III e V, apenas.

Exercícios relacionados