Logo Passei Direto
Buscar

Estrutura de Dados - Exercicio Aula 07

Ferramentas de estudo

Questões resolvidas

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

void desenfileirar(Fila &F) { if (F.inicio > F.fim) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; } }
void desenfileirar(Fila &F) { if (F.fim == -1 && F.inicio == 0) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } }
void desenfileirar(Fila F) { if (F.inicio > F.fim) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } }
void desenfileirar(Fila &F) { if (F.inicio > F.fim) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } }
void desenfileirar(Fila F) { cout << "Removido o agente " << F.v[F.inicio]; F.inicio--; }

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. struct Fila { in t v[100], inicio, fim; } ; Fila F; F. inicio = 0; F.fim = -1; void enfileirar(Fila F, int codigo) { F.fim++; F.v[F.fim] = codigo; } void enfileirar(Fila &F, int codigo) { if (F.fim == 99) cout << 'Não há espaço na firma para mais agentes. ' << endl; else { F.fim++; F.v[F.fim] = codigo; } } void enfileirar(Fila &F, int codigo) { F.v[F.fim] = codigo; F.fim++; } void enfileirar(Fila &F, int codigo) { if (F.fim == 99) cout << 'Não há espaço na firma para mais agentes. ' << endl; else F.fim++; F.v[F.fim] = codigo; } void enfileirar(Fila F, int codigo) { if (F.fim == 100) cout << 'Não há espaço na firma para mais agentes. ' << endl; else { F.fim++; F.v[F.fim] = codigo; } }

A estrutura sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. A solução é o uso da fila circular.
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o algoritmo LIFO.
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais.
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como esgotamento de memória.
A estrutura sofrerá do fenômeno de esgotamento de memória, mas se os dados estiverem ordenados isto não afetará a estrutura.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo.

void desenfileirar(Fila &F) { if (F.inicio > F.fim) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; } }
void desenfileirar(Fila &F) { if (F.fim == -1 && F.inicio == 0) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } }
void desenfileirar(Fila F) { if (F.inicio > F.fim) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } }
void desenfileirar(Fila &F) { if (F.inicio > F.fim) cout << "Não há agentes para retirar. " << endl; else { cout << "Removido o agente " << F.v[F.inicio]; F.inicio++; } }
void desenfileirar(Fila F) { cout << "Removido o agente " << F.v[F.inicio]; F.inicio--; }

Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. struct Fila { in t v[100], inicio, fim; } ; Fila F; F. inicio = 0; F.fim = -1; void enfileirar(Fila F, int codigo) { F.fim++; F.v[F.fim] = codigo; } void enfileirar(Fila &F, int codigo) { if (F.fim == 99) cout << 'Não há espaço na firma para mais agentes. ' << endl; else { F.fim++; F.v[F.fim] = codigo; } } void enfileirar(Fila &F, int codigo) { F.v[F.fim] = codigo; F.fim++; } void enfileirar(Fila &F, int codigo) { if (F.fim == 99) cout << 'Não há espaço na firma para mais agentes. ' << endl; else F.fim++; F.v[F.fim] = codigo; } void enfileirar(Fila F, int codigo) { if (F.fim == 100) cout << 'Não há espaço na firma para mais agentes. ' << endl; else { F.fim++; F.v[F.fim] = codigo; } }

A estrutura sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. A solução é o uso da fila circular.
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o algoritmo LIFO.
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais.
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como esgotamento de memória.
A estrutura sofrerá do fenômeno de esgotamento de memória, mas se os dados estiverem ordenados isto não afetará a estrutura.

Prévia do material em texto

ESTRUTURA DE DADOS 
7a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: GDU0412_EX_A7_201602020752_V1 Matrícula: 201602020752 
Aluno(a): JOÃO LÚCIO ALMEIDA DA SILVA Data: 23/10/2017 01:29:45 (Finalizada) 
 
 
 1a Questão (Ref.: 201602639243) Fórum de Dúvidas (0) Saiba (0) 
 
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D, 
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e 
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova 
operação de remoção, o elemento que será removido desta fila sera o: 
 
 
 
X 
 
D 
 C 
 
W 
 
A 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 
 2a Questão (Ref.: 201602641904) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de 
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 void enfileirar(Fila F, int codigo) { 
 if (F.fim == 100) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 void enfileirar(Fila F, int codigo) { 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 
void enfileirar(Fila &F, int codigo) { 
 F.v[F.fim] = codigo; 
 F.fim++; 
} 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 
 Gabarito Comentado 
 
 
 
 
 3a Questão (Ref.: 201602641942) Fórum de Dúvidas (0) Saiba (0) 
 
 Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código 
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 
 
void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 } 
} 
 
 
void desenfileirar(Fila &F) { 
 if (F.fim == -1 && F.inicio == 0) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
 
void desenfileirar(Fila F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio--; 
 } 
 
 
 Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201602050943) Fórum de Dúvidas (0) Saiba (0) 
 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores 
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa 
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover 
os elementos a sua frente, é chamada de: 
 
 
 
Struct 
 Fila 
 
Pilha 
 
Bolha 
 
Matriz 
 
 Gabarito Comentado 
 
 
 
 
 5a Questão (Ref.: 201602050963) Fórum de Dúvidas (0) Saiba (0) 
 
Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado. 
 
 
 
Struct 
 
Pilha 
 
Matriz 
 Fila 
 
Hash 
 
 Gabarito Comentado 
 
 
 
 
 6a Questão (Ref.: 201602263062) Fórum de Dúvidas (0) Saiba (0) 
 
Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho 
do programa abaixo em uma apostila. 
 
Como não estava com seu micro, começou a analisar a função entra(...), ficando 
atento a alguns membros da struct. 
Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito 
feliz por ter identificado a estrutura 
Assinale a alternativa onde está presente a resposta correta. 
 
 
 Fila 
 Fila Circular 
 Lista Linear 
 Pilha 
 Lista simplesmente encadeada 
 
 Gabarito Comentado 
 
 
 
 
 7a Questão (Ref.: 201602664509) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser 
utilizada. A solução é o uso da fila circular. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
 
 
 
 
 
 8a Questão (Ref.: 201602639245) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
 
ESTRUTURA DE DADOS 
7a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: GDU0412_EX_A7_201602020752_V2 Matrícula: 201602020752 
Aluno(a): JOÃO LÚCIO ALMEIDA DA SILVA Data: 23/10/2017 01:40:22 (Finalizada) 
 
 
 1a Questão(Ref.: 201602050757) Fórum de Dúvidas (0) Saiba (0) 
 
Marque a afirmativa que represente uma Lista Circular Simplesmente Encadeada: 
 
 
 O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
Cada ponteiro possui um só endereço que referencia o "primeiro" nó da lista. 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "último" nó da lista, formando 
um ciclo. 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros, 
 
 Gabarito Comentado 
 
 
 
 
 2a Questão (Ref.: 201602050916) Fórum de Dúvidas (0) Saiba (0) 
 
Qual das alternativas a seguir pode definir uma estrutura de fila? 
 
 
 
Entrada e saída de dados em qualquer local. 
 
Entrada de dados pelo início e saída pelo final. 
 Entrada de dados pelo final e saída pelo início. 
 
Entrada e saída de dados pelo final. 
 
Entrada e saída de dados pelo início. 
 
 Gabarito Comentado 
 
 
 
 
 3a Questão (Ref.: 201602641878) Fórum de Dúvidas (0) Saiba (0) 
 
 Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o 
critério de inserções e remoções que rege tal estrutura. 
 
 
 Fila de documentos para xerox e fila de arquivos para impressão. 
 Fila de arquivos para impressão e buffer para gravação de dados em fila. 
 Buffer para gravação de dados em mídia e fila de pessoas para comprar o ticket do metrô. 
 Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado. 
 Fila de pessoas para tirar o visto e fila de pessoas para usar o caixa eletrônico. 
 
 Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201602050447) Fórum de Dúvidas (0) Saiba (0) 
 
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e que 
DEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações: 
ENQUEUE(1) 
ENQUEUE(2) 
DEQUEUE() 
ENQUEUE(3) 
ENQUEUE(4) 
DEQUEUE() 
DEQUEUE() 
ENQUEUE(5) 
Ao final da sequencia, a soma dos elementos de que (Q) será? 
 
 
 
6 
 
15 
 
0 
 5 
 9 
 
 Gabarito Comentado 
 
 
 
 
 5a Questão (Ref.: 201602639246) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se citar os seguintes exemplos de aplicação da estrutura fila: Fila de arquivos para impressão: 
 Atendimento de processos requisitados a um sistema operacional. 
 Buffer para gravação de dados em mídia. 
 O tratamento do armazenamento das teclas que estão sendo digitadas antes da tecla enter ser 
pressionada. 
Agora analise as seguintes afirmativas: 
 I- Uma fila guarda a ordem direta em que os elementos foram armazenados. 
 II- Uma fila guarda a ordem reversa em que os elementos foram armazenados. 
 III- O algoritmo que é implementado em uma fila é baseao no princípio: " O último a entrar é o primeiro a 
sair". 
IV- O algoritmo que é implementado em uma fila é baseao no princípio: " O primeiro a entrar é o primeiro a 
sair". 
 Marque a alternativa correta: 
 
 
 
II e Iv estão corretas 
 
I e III estão corretas 
 
II e III estão corretas 
 I e IV estão corretas 
 
Apenas a IV está correta 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 
 6a Questão (Ref.: 201602673333) Fórum de Dúvidas (0) Saiba (0) 
 
Assumindo que estamos com uma estrutura de dados do tipo FIFO, as operações abaixo vão resultar em que 
elementos na mesma: ENFILEIRAR(4), ENFILEIRAR(5), ENFILEIRAR(6), DESENFILEIRAR(), DESENFILEIRAR(), 
ENFILEIRAR(5), ENFILEIRAR(7), DESENFILEIRAR() 
 
 
 5 7 
 
4 5 
 
4 5 6 
 
7 5 
 
4 6 7 
 
 
 
 
 
 
 7a Questão (Ref.: 201602253219) Fórum de Dúvidas (0) Saiba (0) 
 
 As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de 
processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita 
movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem 
levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir 
a fila sequencial por: 
 
 
 fila circular 
 
pilha circular 
 
lista circular 
 
pilha sequencial 
 
lista sequencial 
 
 Gabarito Comentado 
 
 
 
 
 8a Questão (Ref.: 201602050455) Fórum de Dúvidas (0) Saiba (0) 
 
Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende 
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com 
atendimento prioritário. Nessa situação, 
 
 
 
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de 
dados. 
 
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO. 
 
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO. 
 
Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados. 
 Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados. 
 
 
ESTRUTURA DE DADOS 
7a aula 
 
 Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: GDU0412_EX_A7_201602020752_V3 Matrícula: 201602020752 
Aluno(a): JOÃO LÚCIO ALMEIDA DA SILVA Data: 23/10/2017 01:48:36 (Finalizada) 
 
 
 1a Questão (Ref.: 201602636070) Fórum de Dúvidas (0) Saiba (0) 
 
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia? 
 
 
 Overflow. 
 
A inserção é feita sem problema. 
 
Underflow. 
 
Dequeue. 
 
Enqueue. 
 
 Gabarito Comentado 
 
 
 
 
 2a Questão (Ref.: 201602639245) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
 Gabarito Comentado 
 
 
 
 
 3a Questão (Ref.: 201602641904) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de 
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 void enfileirar(Fila F, int codigo) { 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim]= codigo; 
 } 
} 
 
 
 
void enfileirar(Fila &F, int codigo) { 
 F.v[F.fim] = codigo; 
 F.fim++; 
} 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 void enfileirar(Fila F, int codigo) { 
 if (F.fim == 100) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 
 Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201602641942) Fórum de Dúvidas (0) Saiba (0) 
 
 Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código 
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 
 
void desenfileirar(Fila &F) { 
 if (F.fim == -1 && F.inicio == 0) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio--; 
 } 
 
 
 
void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 } 
} 
 
 Gabarito Comentado 
 
 
 
 
 5a Questão (Ref.: 201602050943) Fórum de Dúvidas (0) Saiba (0) 
 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores 
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa 
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover 
os elementos a sua frente, é chamada de: 
 
 
 
Matriz 
 
Struct 
 
Pilha 
 Fila 
 
Bolha 
 
 Gabarito Comentado 
 
 
 
 
 6a Questão (Ref.: 201602050963) Fórum de Dúvidas (0) Saiba (0) 
 
Analisando a figura abaixo, marque a alternativa correta que apresenta o tipo de estrutura de dados utilizado. 
 
 
 
 
Matriz 
 
Struct 
 Fila 
 
Hash 
 
Pilha 
 
 Gabarito Comentado 
 
 
 
 
 7a Questão (Ref.: 201602263062) Fórum de Dúvidas (0) Saiba (0) 
 
Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho 
do programa abaixo em uma apostila. 
 
Como não estava com seu micro, começou a analisar a função entra(...), ficando 
atento a alguns membros da struct. 
Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito 
feliz por ter identificado a estrutura 
Assinale a alternativa onde está presente a resposta correta. 
 
 
 Fila 
 Lista simplesmente encadeada 
 Pilha 
 Lista Linear 
 Fila Circular 
 
 Gabarito Comentado 
 
 
 
 
 8a Questão (Ref.: 201602664509) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
 
 
ESTRUTURA DE DADOS 
7a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: GDU0412_EX_A7_201602020752_V4 Matrícula: 201602020752 
Aluno(a): JOÃO LÚCIO ALMEIDA DA SILVA Data: 23/10/2017 01:50:04 (Finalizada) 
 
 
 1a Questão (Ref.: 201602639243) Fórum de Dúvidas (0) Saiba (0) 
 
Ao inserirmos em uma estrutura de dados do tipo fila sequencial os seguintes elementos: A, B, C, D, 
exatamente nesta ordem. E em seguida realizarmos duas operações consecutivas de remoção na fila e 
imediatamente inserirmos dois novos elementos o X e o W. Podedmos afirmar que se realizarmos uma nova 
operação de remoção, o elemento que será removido desta fila sera o: 
 
 
 
W 
 
D 
 
X 
 C 
 
A 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 
 2a Questão (Ref.: 201602050757) Fórum de Dúvidas (0) Saiba (0) 
 
Marque a afirmativa que represente uma Lista Circular Simplesmente Encadeada: 
 
 
 
Além do campo relativo ao dado, cada nó possui dois ponteiros, 
 O ponteiro do "último" nó não é NULL, mas sim aponta de volta para o "primeiro" nó da lista. 
 
Cada nó possui um só ponteiro que referencia o próximo nó da lista. 
 
Cada ponteiro possui um só endereço que referencia o "primeiro" nó da lista. 
 
O ponteiro do "primeiro" nó não é NULL, mas sim aponta de volta para o "último" nó da lista, formando 
um ciclo. 
 
 Gabarito Comentado 
 
 
 
 
 3a Questão (Ref.: 201602050916) Fórum de Dúvidas (0) Saiba (0) 
 
Qual das alternativas a seguir pode definir uma estrutura de fila? 
 
 
 
Entrada de dados pelo início e saída pelo final. 
 
Entrada e saída de dados pelo final. 
 Entrada de dados pelo final e saída pelo início. 
 
Entrada e saída de dados em qualquer local. 
 
Entrada e saída de dados pelo início. 
 
 Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201602641878) Fórum de Dúvidas (0) Saiba (0) 
 
 Assinale a opção que, corretamente, mostra exemplos em que a estrutura de dados fila é usada, de acordo com o 
critério de inserções e remoções que rege tal estrutura. 
 
 
 Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado. 
 Fila de documentos para xerox e fila de arquivos para impressão. 
 Fila de pessoas para tirar o visto e fila de pessoas para usar o caixa eletrônico. 
 Fila de arquivos para impressão e buffer para gravação de dados em fila. 
 Buffer para gravação de dados em mídia e fila de pessoas para comprar o ticket do metrô. 
 
 Gabarito Comentado 
 
 
 
 
 5a Questão (Ref.: 201602050447) Fórum de Dúvidas (0) Saiba (0) 
 
Seja Q uma estrutura de dados do tipo fila, em que ENQUEUE(X) significa a adição do elemento X à Q e queDEQUEUE(), a retirada de um elemento. Q está inicialmente vazia e sofre a seguinte sequencia de operações: 
ENQUEUE(1) 
ENQUEUE(2) 
DEQUEUE() 
ENQUEUE(3) 
ENQUEUE(4) 
DEQUEUE() 
DEQUEUE() 
ENQUEUE(5) 
Ao final da sequencia, a soma dos elementos de que (Q) será? 
 
 
 
6 
 
15 
 9 
 
0 
 
5 
 
 Gabarito Comentado 
 
 
 
 
 6a Questão (Ref.: 201602639246) Fórum de Dúvidas (0) Saiba (0) 
 
Pode-se citar os seguintes exemplos de aplicação da estrutura fila: Fila de arquivos para impressão: 
 Atendimento de processos requisitados a um sistema operacional. 
 Buffer para gravação de dados em mídia. 
 O tratamento do armazenamento das teclas que estão sendo digitadas antes da tecla enter ser 
pressionada. 
Agora analise as seguintes afirmativas: 
 I- Uma fila guarda a ordem direta em que os elementos foram armazenados. 
 II- Uma fila guarda a ordem reversa em que os elementos foram armazenados. 
 III- O algoritmo que é implementado em uma fila é baseao no princípio: " O último a entrar é o primeiro a 
sair". 
IV- O algoritmo que é implementado em uma fila é baseao no princípio: " O primeiro a entrar é o primeiro a 
sair". 
 Marque a alternativa correta: 
 
 
 
II e Iv estão corretas 
 
Apenas a IV está correta 
 
II e III estão corretas 
 I e IV estão corretas 
 
I e III estão corretas 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 
 7a Questão (Ref.: 201602673333) Fórum de Dúvidas (0) Saiba (0) 
 
Assumindo que estamos com uma estrutura de dados do tipo FIFO, as operações abaixo vão resultar em que 
elementos na mesma: ENFILEIRAR(4), ENFILEIRAR(5), ENFILEIRAR(6), DESENFILEIRAR(), DESENFILEIRAR(), 
ENFILEIRAR(5), ENFILEIRAR(7), DESENFILEIRAR() 
 
 
 
4 6 7 
 5 7 
 
7 5 
 
4 5 6 
 
4 5 
 
 
 
 
 
 
 8a Questão (Ref.: 201602253219) Fórum de Dúvidas (0) Saiba (0) 
 
 As filas sequenciais são estruturas de dados utilizadas em diversas aplicações, tais como fila de 
processo, fila de impressão, sistemas de senha etc. Entretanto, nas aplicações onde há muita 
movimentação de dados, inserções e remoções de dados na fila, surgem espaços ociosos que podem 
levar ao fenômeno chamado de esgotamento de memória. Para sanar este problema pode-se substituir 
a fila sequencial por: 
 
 
 
pilha circular 
 
pilha sequencial 
 
lista circular 
 
lista sequencial 
 fila circular 
 
 
ESTRUTURA DE DADOS 
7a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: GDU0412_EX_A7_201602020752_V5 Matrícula: 201602020752 
Aluno(a): JOÃO LÚCIO ALMEIDA DA SILVA Data: 23/10/2017 01:51:23 (Finalizada) 
 
 
 1a Questão (Ref.: 201602050455) Fórum de Dúvidas (0) Saiba (0) 
 
Um banco adotou dois sistemas de senhas para atender os cidadãos na ordem de chegada. O sistema I atende 
todas pessoas que não possuem atendimento prioritário. O sistema II atende somente pessoas com 
atendimento prioritário. Nessa situação, 
 
 
 
O sistema I adota o esquema FIFO de organização de dados e o II, o esquema LIFO. 
 
O sistema I adota o esquema LIFO de organização de dados e o II o esquema FIFO. 
 
Tanto o sistema I, quanto o II, adota o esquema LIFO de organização de dados. 
 
Tanto o sistema I, quanto o II, adota o esquema lista duplamente encadeada de organização de 
dados. 
 Tanto o sistema I, quanto o II, adota o esquema FIFO de organização de dados. 
 
 
 
 
 
 
 2a Questão (Ref.: 201602639245) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO. 
 
 Gabarito Comentado 
 
 
 
 
 3a Questão (Ref.: 201602641904) Fórum de Dúvidas (0) Saiba (0) 
 
Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente enfileira o código de 
um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 
 
void enfileirar(Fila &F, int codigo) { 
 F.v[F.fim] = codigo; 
 F.fim++; 
} 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 
 void enfileirar(Fila F, int codigo) { 
 if (F.fim == 100) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 void enfileirar(Fila F, int codigo) { 
 F.fim++; 
 F.v[F.fim] = codigo; 
} 
 
 void enfileirar(Fila &F, int codigo) { 
 if (F.fim == 99) 
 cout << "Não há espaço na firma para mais agentes. " << endl; 
 else { 
 F.fim++; 
 F.v[F.fim] = codigo; 
 } 
} 
 
 
 Gabarito Comentado 
 
 
 
 
 4a Questão (Ref.: 201602050943) Fórum de Dúvidas (0) Saiba (0) 
 
As estruturas de dados podem ser do tipo estática e dinâmica. As listas são estruturas parecidas com vetores 
podendo ser do tipo dinâmica. Entretanto, existem várias implementações de estruturas do tipo listas. Dessa 
forma, a estrutura que para o acesso de um dado, este precisa estar na saída, caso contrário, precisa remover 
os elementos a sua frente, é chamada de: 
 
 
 
Matriz 
 
Bolha 
 
Pilha 
 Fila 
 
Struct 
 
 Gabarito Comentado 
 
 
 
 
 5a Questão (Ref.: 201602641942) Fórum de Dúvidas (0) Saiba (0) 
 
 Considere uma fila simples F de inteiros, do tipo Fila definido abaixo. Tal fila deverá armazenar códigos de agentes de uma 
firma de espionagem, desde que haja espaço para um novo agente. Assinale a opção que corretamente desenfileira o código 
de um agente, sabendo que a fila F foi inicializada de acordo com o trecho de código abaixo. 
struct Fila { in t v[100], inicio, fim; } ; 
Fila F; 
F. inicio = 0; 
F.fim = -1; 
 
 
 
 
 void desenfileirar(Fila &F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
void desenfileirar(Fila &F) { 
 if (F.fim == -1 && F.inicio == 0) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 
 
void desenfileirar(Fila &F) {if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 } 
} 
 
 
void desenfileirar(Fila F) { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio--; 
 } 
 
 
 
void desenfileirar(Fila F) { 
 if (F.inicio > F.fim) 
 cout << "Não há agentes para retirar. " << endl; 
 else { 
 cout << "Removido o agente " << F.v[F.inicio]; 
 F.inicio++; 
 } 
} 
 
 Gabarito Comentado 
 
 
 
 
 6a Questão (Ref.: 201602636070) Fórum de Dúvidas (0) Saiba (0) 
 
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia? 
 
 
 
Enqueue. 
 
Dequeue. 
 Overflow. 
 
A inserção é feita sem problema. 
 
Underflow. 
 
 Gabarito Comentado 
 
 
 
 
 7a Questão (Ref.: 201602263062) Fórum de Dúvidas (0) Saiba (0) 
 
Um aluno do EAD estava estudando para a prova de Estrutura quando viu o trecho 
do programa abaixo em uma apostila. 
 
Como não estava com seu micro, começou a analisar a função entra(...), ficando 
atento a alguns membros da struct. 
Quando finalizou, virou a página da apostila e viu a resposta. Então, ficou muito 
feliz por ter identificado a estrutura 
Assinale a alternativa onde está presente a resposta correta. 
 
 
 Fila Circular 
 Lista Linear 
 Lista simplesmente encadeada 
 Pilha 
 Fila 
 
 Gabarito Comentado 
 
 
 
 
 8a Questão (Ref.: 201602664509) Fórum de Dúvidas (0) Saiba (0) 
 
Usa-se um vetor para se implementar uma fila sequencial, entretanto se nesta estrutura ocorrer diversas 
operações de remoção e inserção podemos afirmar que: 
 
 
 A estrutra sofrerá do fenômeno chamado esgotamento de memória e logo não poderá mais ser utilizada. 
A solução é o uso da fila circular. 
 
Um vetor é uma estrutura base correta para esta implementação, já que está imune a fenômenos como 
esgotamento de memória. 
 
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto 
não afetará a estrutura. 
 
Um vetor não pode ser usado na implementação de uma fila sequencial apenas em pilhas sequenciais. 
 
A estrutura fila não sofre esgotamento de memória, isto ocorre com as pilhas já que implementam o 
algoritmo LIFO.

Mais conteúdos dessa disciplina