Buscar

Estrutura de dados Ex.7a

Prévia do material em texto

22/03/2017 BDQ: Alunos
http://simulado.estacio.br/alunos/ 1/5
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:
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:
         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.
ESTRUTURA DE DADOS
CCT0260_A7_201401083561_V2   Lupa    
Vídeo PPT MP3
 
Aluno: UBIRATAN MARTINS OLIVEIRA JUNIOR Matrícula: 201401083561
Disciplina: CCT0260 ­ ESTRUT.DE DADOS  Período Acad.: 2017.1 EAD (G) / EX
 
 
Prezado (a) Aluno(a),
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre­se que este exercício é opcional, mas não valerá ponto para sua avaliação.
O mesmo será composto de questões de múltipla escolha (3).
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo de questões que será
usado na sua AV e AVS.
 
1.
D
W
X
A
  C
 Gabarito Comentado  Gabarito Comentado  Gabarito Comentado
2.
II e III estão corretas
Apenas a IV está correta
II e Iv estão corretas
I e III estão corretas
  I e IV estão corretas
 Gabarito Comentado  Gabarito Comentado  Gabarito Comentado
3.
22/03/2017 BDQ: Alunos
http://simulado.estacio.br/alunos/ 2/5
Marque a afirmativa que represente uma Lista Circular Simplesmente Encadeada:
   Considere uma fila simples F  de inteiros,  do 埦�po 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;
 
 
  Fila de arquivos para impressão e buffer para gravação de dados em fila.
Fila de arquivos para impressão e fila de pessoas no caixa de um supermercado.
Buffer para gravação de dados em mídia e fila de pessoas para comprar o 埦�cket do metrô.
Fila de pessoas para 埦�rar o visto e fila de pessoas para usar o caixa eletrônico.
Fila de documentos para xerox e fila de arquivos para impressão.
 Gabarito Comentado
4.
Cada ponteiro possui um só endereço que referencia o "primeiro" nó da lista.
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.
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.
 Gabarito Comentado
5.
 
void desenfileirar(Fila &F)  {
        if (F.fim == ‐1 && F.inicio == 0)
            cout << "Não há agentes para re埦�rar. " << 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‐‐;
 }
 
 
22/03/2017 BDQ: Alunos
http://simulado.estacio.br/alunos/ 3/5
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:
Considere uma fila simples F  de inteiros,  do 埦�po 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; } ;
void desenfileirar(Fila &F)  {
       if (F.inicio > F.fim)
            cout << "Não há agentes para re埦�rar. " << endl;
     else  {
         cout << "Removido o agente " <<     F.v[F.inicio];
     }
}
 
void desenfileirar(Fila  F)  {
       if (F.inicio > F.fim)
            cout << "Não há agentes para re埦�rar. " << 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 re埦�rar. " << endl;
       else  {
             cout <<  "Removido o agente "  <<     F.v[F.inicio];
             F.inicio++;
       }
}
 Gabarito Comentado
6.
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 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.
A estrutra sofrerá do fenômeno esgotamento de memória, mas se os dados estiverem ordenados isto não
afetará a estrutura.
 Gabarito Comentado
7.
22/03/2017 BDQ: Alunos
http://simulado.estacio.br/alunos/ 4/5
Fila F;
F. inicio = 0;
F.fim = ‐1;
 
 
 
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;
}
 
 
 
void enfileirar(Fila &F, int codigo)  {
    F.v[F.fim] = codigo;
     F.fim++;
}
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;
}
 
22/03/2017 BDQ: Alunos
http://simulado.estacio.br/alunos/ 5/5
O que acontece quando se deseja inserir um elemento em uma FILA que já está cheia?
 Gabarito Comentado
8.
Dequeue.
  Overflow.
Underflow.
A inserção é feita sem problema.
Enqueue.

Continue navegando