SlideShare une entreprise Scribd logo
1  sur  11
Estrutura de dados para sistemas de informação i Universidade Federal de Sergipe Centro de Ciências Exatas e da Terra Departamento de Computação
Apresentação Tema:  Utilização da estrutura fila Dupla:  João Victor Soares de Vasconcelos Felipe Marques Fontes
Definição Filas são estruturas lineares nas quais os itens são inseridos em uma extremidade.     Para esta extremidade, dar-se o nome        INÍCIO DA FILA. F.I.F.O.
Ilustrando filas
Aplicação Software para simular o comportamento de filas em um caixa de um supermercado.
Definições Fila de espera para cada caixa Capacidade máxima da fila No limite: próxima fila
Algoritmo do problema	 Algoritmo 	1 .   Para o TempoAtual até o TempoTotal faça 	1.1 Se  chegou algum cliente então     Se a fila do caixa estiver cheia Então 	        Incremente 1 ao número de desistências 	     Senão 	        Cliente entra na fila gravando informações relevantes 	1.2  Se o caixa estiver vazio e tiver clientes na fila Então 	        Remova o cliente da fila verificando o tempo que ele chegou 	        Determine o tempo que o cliente ficou na fila 	        Adicione 1 ao número de clientes atendidos 	        Acumule o tempo que o cliente ficou na fila 	        Tempo que o caixa ficará ocupado = tempo de atendimento ao cliente 	1.3  Se o caixa estiver ocupado Então 	     Subtraia 1 do tempo que o caixa ficará ocupado 2.   Fim do Para 3.   Imprima os resultados
Trecho de código Procedure para inicializar fila procedure iniciafila(var fila:tipofila);	  var   	  aux: apontador;        begin            new (aux);            fila.frente:= aux;            fila.tras:= fila.frente;            fila.tras^.prox:= nil;end;
Trecho de código Inserir cliente na fila 	Procedure inserir (x: integer; var fila: tipofila);var    aux: apontador;begin   new (aux);   fila.tras^.prox:= aux;   aux^.prox := nil;   aux^.item := x;   fila.tras := aux;end;
Trecho de código		 Retirar cliente na fila Procedure retirar (var x: integer; var fila: tipofila);   var  aux: apontador;    begin      aux:= fila.frente^.prox;      x:= aux^.item;      fila.frente^.prox := aux^.prox;if(fila.frente^.prox = nil ) then fila.tras := fila.frente;dispose(aux);end;
Considerações Finais

Contenu connexe

Tendances

ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaFelipe J. R. Vieira
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5engenhariadecomputacao
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6engenhariadecomputacao
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício respostaHercules Santhus
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5PeslPinguim
 
Relatorio de Estrutura de Dados
Relatorio de Estrutura de DadosRelatorio de Estrutura de Dados
Relatorio de Estrutura de DadosViviane Araujo
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch caseAlessandra Sra JM
 
Conceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios iiConceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios iiRobson Ferreira
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoElaine Cecília Gatto
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02André Phillip Bertoletti
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para FaçaEder Samaniego
 
Algoritmo e lógica de programação - aula 3
 Algoritmo e lógica de programação - aula 3 Algoritmo e lógica de programação - aula 3
Algoritmo e lógica de programação - aula 3engenhariadecomputacao
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoJosé Araújo
 

Tendances (20)

ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saídaICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
ICC - Aula 04 - Expressões literais, comando de atribuição e de entrada/saída
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5
 
Lista Exercicios 01
Lista Exercicios 01Lista Exercicios 01
Lista Exercicios 01
 
Algop - aula 06
Algop - aula 06Algop - aula 06
Algop - aula 06
 
Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6Algoritmo e lógica de programação - aula 6
Algoritmo e lógica de programação - aula 6
 
Lista Exercicios 05
Lista Exercicios 05Lista Exercicios 05
Lista Exercicios 05
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5
 
Relatorio de Estrutura de Dados
Relatorio de Estrutura de DadosRelatorio de Estrutura de Dados
Relatorio de Estrutura de Dados
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Conceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios iiConceitos e técnicas de programação lista de exercícios ii
Conceitos e técnicas de programação lista de exercícios ii
 
Algoritmos - Comandos de Repetição
Algoritmos - Comandos de RepetiçãoAlgoritmos - Comandos de Repetição
Algoritmos - Comandos de Repetição
 
Pcd lista5
Pcd lista5Pcd lista5
Pcd lista5
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02Lógica de Programação - Unimep/Pronatec - Aula02
Lógica de Programação - Unimep/Pronatec - Aula02
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Algoritmo e lógica de programação - aula 3
 Algoritmo e lógica de programação - aula 3 Algoritmo e lógica de programação - aula 3
Algoritmo e lógica de programação - aula 3
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 

Estrutura De Dados Para Sistemas De Informação I

  • 1. Estrutura de dados para sistemas de informação i Universidade Federal de Sergipe Centro de Ciências Exatas e da Terra Departamento de Computação
  • 2. Apresentação Tema: Utilização da estrutura fila Dupla: João Victor Soares de Vasconcelos Felipe Marques Fontes
  • 3. Definição Filas são estruturas lineares nas quais os itens são inseridos em uma extremidade. Para esta extremidade, dar-se o nome INÍCIO DA FILA. F.I.F.O.
  • 5. Aplicação Software para simular o comportamento de filas em um caixa de um supermercado.
  • 6. Definições Fila de espera para cada caixa Capacidade máxima da fila No limite: próxima fila
  • 7. Algoritmo do problema Algoritmo 1 . Para o TempoAtual até o TempoTotal faça 1.1 Se chegou algum cliente então Se a fila do caixa estiver cheia Então Incremente 1 ao número de desistências Senão Cliente entra na fila gravando informações relevantes 1.2 Se o caixa estiver vazio e tiver clientes na fila Então Remova o cliente da fila verificando o tempo que ele chegou Determine o tempo que o cliente ficou na fila Adicione 1 ao número de clientes atendidos Acumule o tempo que o cliente ficou na fila Tempo que o caixa ficará ocupado = tempo de atendimento ao cliente 1.3 Se o caixa estiver ocupado Então Subtraia 1 do tempo que o caixa ficará ocupado 2. Fim do Para 3. Imprima os resultados
  • 8. Trecho de código Procedure para inicializar fila procedure iniciafila(var fila:tipofila); var   aux: apontador; begin   new (aux);   fila.frente:= aux;   fila.tras:= fila.frente;   fila.tras^.prox:= nil;end;
  • 9. Trecho de código Inserir cliente na fila Procedure inserir (x: integer; var fila: tipofila);var aux: apontador;begin   new (aux);   fila.tras^.prox:= aux;   aux^.prox := nil;   aux^.item := x;   fila.tras := aux;end;
  • 10. Trecho de código Retirar cliente na fila Procedure retirar (var x: integer; var fila: tipofila); var  aux: apontador; begin aux:= fila.frente^.prox; x:= aux^.item; fila.frente^.prox := aux^.prox;if(fila.frente^.prox = nil ) then fila.tras := fila.frente;dispose(aux);end;