Pular para o conteúdo principal

Questão de Algoritmos e Estrutura de Dados — Estrutura de Dados — FCC 2018

Algoritmos e Estrutura de DadosEstrutura de Dados
Código
fc044550
Banca
FCC
Órgão
DPE-AM
Ano
2018
Cargo
Assistente Técnico de Defensoria - Programador
Considere que um Técnico Programador escreveu um programa para ler um número inteiro de 6 dígitos. Após ler o número e se certificar que o mesmo possuía 6 dígitos, os dígitos foram separados. Em seguida, cada um dos dígitos d1, d2, d3, d4, d5 e d6 foram inseridos em uma estrutura de dados. Depois foram retirados um a um da estrutura, multiplicados pelo valor posicional correto e somados, obtendo-se o número invertido. Caso o número de entrada fosse 123456 o resultado seria 654321. A estrutura de dados utilizada foi
  1. Afila circular.
  2. Bfila não circular.
  3. Cpilha.
  4. Dlista linear do tipo FIFO.
  5. Eárvore binária de altura (log₂6 − 1).
Revelar gabarito e comentário

GabaritoC — pilha.

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

Pilha (LIFO) para inversão de dados

Gabarito: letra C. A estrutura que permite inverter a ordem dos dados, retirando o último elemento inserido em primeiro lugar (LIFO), é a pilha. O exemplo dado (entrada 123456 → saída 654321) ilustra exatamente o comportamento de uma pilha: os dígitos são inseridos na ordem d1 a d6 e, ao serem removidos, vêm na ordem inversa, permitindo reconstruir o número invertido.

A questão é puramente conceitual: testa o conhecimento sobre as propriedades básicas das estruturas de dados lineares.

Estruturas de dados lineares
  • 1Pilha (LIFO)
    • Último a entrar → primeiro a sair
    • Inverte a ordem
  • 2Fila (FIFO)
    • Primeiro a entrar → primeiro a sair
    • Mantém a ordem original
      • Fila circular
      • Fila não circular
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Fila circular é uma variação de fila que, ao atingir o final do vetor, retorna ao início. Contudo, a fila (circular ou não) segue o princípio FIFO (First In, First Out): o primeiro a entrar é o primeiro a sair. Isso manteria a ordem original, não invertendo os dígitos.

Alternativa B — ❌ Incorreta

Fila não circular (fila simples) também opera em FIFO. A ausência de circularidade não altera a ordem de saída; portanto, não produziria a inversão desejada.

Alternativa C — ✅ Correta ⟵ GABARITO

A pilha segue o princípio LIFO (Last In, First Out): o último elemento inserido (d6) é o primeiro a ser retirado. Ao retirar um a um, obtém-se a sequência inversa (d6, d5, ..., d1), que, multiplicada pelos valores posicionais adequados, gera o número invertido. É a estrutura clássica para inversão de sequências.

Alternativa D — ❌ Incorreta

“Lista linear do tipo FIFO” é outra denominação para fila. Como visto, fila não inverte a ordem.

Alternativa E — ❌ Incorreta

Árvore binária é uma estrutura hierárquica, não linear, e sua altura (log₂6 − 1 ≈ 1,58) não tem relação com a inversão de uma sequência linear. A operação descrita não utiliza árvore.

PEGA ESSA DICA!

Sempre que a descrição envolver “inserir elementos e depois retirar obtendo a ordem inversa”, a estrutura é uma pilha. Lembre-se da sigla LIFO ( Last In, First Out). Para manter a ordem original, seria uma fila (FIFO).

Gabarito: letra C.

Link permanente: /questoes/fc044550