Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — UFLA 2025

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
qg620161
Banca
UFLA
Órgão
UFLA
Ano
2025
Nível
Médio
Cargo
Técnico em Tecnologia da Informação
Segundo Ziviani (2012, p. 98), “uma fila é uma estrutura de dados em que todas as inserções são realizadas em uma de suas extremidades (final da fila), enquanto que todas as retiradas e acessos são realizados na outra extremidade da estrutura (início da fila)”.ZIVIANI, N. Projeto de algoritmos: com implementações em JAVA e C++. Porto Alegre: +A Educação – Cengage Learning Brasil, 2012.O conjunto básico de operações de uma fila é: • criar (): cria uma fila vazia; • enfileirar (f, x): enfileira o item x no final da fila f; • desenfileirar (f): desenfileira o item do início da fila f e o retorna; • inicio(f): retorna o item do início da fila f, sem retirá-lo. Considere a seguinte sequência de operações sobre uma fila f vazia: enfileirar(f, 4); enfileirar(f, 7); enfileirar(f, 2); desenfileirar(f); enfileirar(f, 9); inicio(f); desenfileirar(f); enfileirar(f, 5); enfileirar(f, 6); desenfileirar(f); enfileirar(f, inicio(f)). Assinale a alternativa que representa CORRETAMENTE o conteúdo fila, do início para o final, após a execução de todas as operações acima:
  1. A[2, 5, 6, 9]
  2. B[6, 5, 9]
  3. C[9, 5, 6, 9]
  4. D[5, 6, 9]
Revelar gabarito e comentário

GabaritoC — [9, 5, 6, 9]

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

Filas – Simulação de operações

Gabarito: letra C. Após executar a sequência de operações sobre uma fila vazia, o conteúdo final, do início para o final, é [9, 5, 6, 9]. Vamos passo a passo.

NÃO CAIA NESSA!

A banca testa se o candidato confunde inicio(f) com desenfileirar(f). A operação inicio(f) apenas retorna o valor do início sem removê-lo, diferentemente de desenfileirar(), que retorna e remove. A última operação enfileira o valor retornado por inicio(f) (que é 9), gerando um segundo 9 no final.

Passo a passo

  1. enfileirar(f, 4) → f = [4]

  2. enfileirar(f, 7) → f = [4, 7]

  3. enfileirar(f, 2) → f = [4, 7, 2]

  4. desenfileirar(f) → remove 4 → f = [7, 2]

  5. enfileirar(f, 9) → f = [7, 2, 9]

  6. inicio(f) → retorna 7 (sem remover) → f = [7, 2, 9]

  7. desenfileirar(f) → remove 7 → f = [2, 9]

  8. enfileirar(f, 5) → f = [2, 9, 5]

  9. enfileirar(f, 6) → f = [2, 9, 5, 6]

  10. desenfileirar(f) → remove 2 → f = [9, 5, 6]

  11. enfileirar(f, inicio(f))inicio(f) retorna 9, enfileira 9 → f = [9, 5, 6, 9]

Resultado final: [9, 5, 6, 9] = alternativa C.

  1. 1enfileirar(4)
  2. 2enfileirar(7)
  3. 3enfileirar(2)
  4. 4desenfileirar() → remove 4
  5. 5enfileirar(9)
  6. 6inicio() → retorna 7
  7. 7desenfileirar() → remove 7
  8. 8enfileirar(5)
  9. 9enfileirar(6)
  10. 10desenfileirar() → remove 2
  11. 11enfileirar(inicio()=9)
LEVEL · soulevel.com.br

Verificação das alternativas

  • A) [2, 5, 6, 9] – Incorreta. O 9 aparece no final, mas o 2 já foi removido no passo 10.

  • B) [6, 5, 9] – Incorreta. Falta um 9 no final e a ordem está trocada (o 6 deveria estar após o 5).

  • C) [9, 5, 6, 9] – ✅ Correta.

  • D) [5, 6, 9] – Incorreta. Faltam o 9 do início (do passo 11) e um 9 a mais? Na verdade, a sequência correta tem dois 9s.

Gabarito: letra C

Link permanente: /questoes/qg620161