Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — CESGRANRIO 2021

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
cg016234
Banca
CESGRANRIO
Órgão
Banco do Brasil
Ano
2021
Nível
Médio
Cargo
Agente de Tecnologia
Uma das formas de o gerente de uma agência bancária acompanhar a qualidade dos serviços prestados aos seus clientes é verificar o estado da ordem de atendimento em vários instantes ao longo do expediente. O sistema que a gerência utiliza para tal fim é a estrutura de dados conhecida como FILA, que mostra a situação da ordem de atendimento no instante da verificação.Nesse contexto, implementa-se uma estrutura de FILA de números inteiros com suas duas operações tradicionais: ENFILEIRAR(Z), que ocorre no instante em que um cliente recebe uma senha Z e entra na FILA; e DESENFILEIRAR( ), que ocorre quando um cliente sai da FILA, caso em que DESENFILEIRAR( ) retorna o número da senha. Sabe-se, também, que a representação do estado da FILA em um instante qualquer é realizada listando os elementos, de forma que o primeiro elemento, da esquerda para a direita, é o mais antigo presente na FILA.Nas condições apresentadas, considere uma FILA que começa vazia e realiza as seguintes operações:ENFILEIRAR(8) → ENFILEIRAR(9) → DESENFILEIRAR( ) → ENFILEIRAR(10) → ENFILEIRAR(11) →ENFILEIRAR(DESENFILEIRAR ( )) → ENFILEIRAR(12) → DESENFILEIRAR( ) → ENFILEIRAR(13) → DESENFILEIRAR( )Após realizar as operações acima, a FILA estará no estado
  1. A10 – 11 – 12
  2. B9 – 12 – 13
  3. C9 – 10 – 11
  4. D8 – 10 – 11
  5. E8 – 9 – 10
Revelar gabarito e comentário

GabaritoB — 9 – 12 – 13

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”.

Fila (Queue): Simulação de operações

Gabarito: letra B. Após a sequência de operações, a fila contém os elementos na ordem [9, 12, 13] (da esquerda para a direita: o mais antigo é o 9, depois 12, depois 13).

A fila (queue) é uma estrutura FIFO (First In, First Out): o primeiro elemento inserido é o primeiro a ser removido. As operações são ENFILEIRAR (insere no final) e DESENFILEIRAR (remove do início). Vamos simular passo a passo, indicando o estado da fila após cada operação (lista com o mais antigo à esquerda).

Operação

Estado da fila (após)

Inicial

[]

ENFILEIRAR(8)

[8]

ENFILEIRAR(9)

[8, 9]

DESENFILEIRAR() → remove 8

[9]

ENFILEIRAR(10)

[9, 10]

ENFILEIRAR(11)

[9, 10, 11]

ENFILEIRAR(DESENFILEIRAR()) → remove 9, depois insere 9

[10, 11] → [10, 11, 9]

ENFILEIRAR(12)

[10, 11, 9, 12]

DESENFILEIRAR() → remove 10

[11, 9, 12]

ENFILEIRAR(13)

[11, 9, 12, 13]

DESENFILEIRAR() → remove 11

[9, 12, 13]

Ao final, a fila é [9, 12, 13].

Alternativa A — ❌ Incorreta

Apresenta [10, 11, 12]. Essa ordem não corresponde ao resultado final. O 9 está presente, e o 10 já foi removido no passo 8.

Alternativa B — ✅ Correta ⟵ GABARITO

Exibe exatamente [9, 12, 13], conforme simulação.

Alternativa C — ❌ Incorreta

Mostra [9, 10, 11]. O 10 foi removido, e o 13 não aparece; portanto incorreta.

Alternativa D — ❌ Incorreta

Mostra [8, 10, 11]. O 8 foi removido no passo 3, e o 9 não aparece; incorreta.

Alternativa E — ❌ Incorreta

Mostra [8, 9, 10]. O 8 foi removido, e os elementos finais são outros.

Conclusão: A única alternativa que reflete corretamente o estado final da fila é a B.

Link permanente: /questoes/cg016234