Escolar Documentos
Profissional Documentos
Cultura Documentos
GRUPO: 2 INTEGRANTES DO GRUPO: CLUDIO DA SILVA ERNESTO JOO FERREIRA MRCIA MARLIA DE MENEZES N N N A20120750 A20120694 A20120487
Sumrio
Objectivos...................................................................................................................................... 5 Introduo ..................................................................................................................................... 6 Conceito de Filas ........................................................................................................................... 7 TIPOS DE FILA ................................................................................................................................ 8 Fila simples: ............................................................................................................................... 8 Algoritmo em Pseudo-Codigo de uma Fila Simples ................................................................. 9 Teste de Mesa de Filas Simples ............................................................................................... 10 Algoritmo em Pseudo-Codigo de uma fila circular ................................................................. 12 Teste de Mesa de Filas Circulares ........................................................................................... 13 Concluso .................................................................................................................................... 14 Bibliogrfia .................................................................................................................................. 15
Objectivos
O presente trabalho tem como objectivo explanar de forma abrangente os conceitos, estrutura lgica e utilizao de filas. Apresenta as estruturas de uma fila os algoritmos bsicos que servem de alicerce para o estudo e a construo de software.
Introduo
Antes de comear a explanar sobre o conceito de filas importante primeiro definir alguns conceitos que esto intimamente relacionados com o conceito de filas. Estrutura de dados: uma estrutura de dados um modo particular de armazenamento e organizao de dados em um computador de modo que possam ser usados eficientemente. Endereos: memria de qualquer computador uma sequncia de bytes, cada byte pode armazenar um nmero inteiro entre 0 e 255 (ou seja, um caracter). Cada byte tem um endereo (= address) numrico. Ponteiros: um ponteiro nada mais do que uma varivel que guarda o endereo de uma outra varivel.
Tipos de dados abstractos: uma especificao de um conjunto de dados e operaes que podem ser executadas sobre esses dados. Alm disso, uma metodologia de programao que tem como proposta reduzir a informao necessria para a criao/programao de um algoritmo atravs da abstraco das variveis envolvidas em uma nica entidade fechada. Com operaes prprias sua natureza.
Conceito de Filas
Definio de Filas: Uma fila uma estrutura de dados que admite insero de novos elementos e remoo de elementos antigos. Mais especificamente, uma fila (= queue) uma estrutura sujeita seguinte regra de operao: sempre que houver uma remoo, o elemento removido o que est na estrutura h mais tempo. Em outras palavras, o primeiro objecto inserido na fila tambm o primeiro a ser removido. Essa poltica conhecida pela sigla FIFO (= First-In-First-Out). A fila tem como objectivo armazenar dados disponibilizando o critrio de acesso o primeiro que entra o primeiro que sai.
Figura 1.1 Mecanismo de acesso de uma fila Inicio Sadas Fim Chegadas
As principais operaes com uma fila so insero e retirada, tambm chamadas Queue e Dequeue, respectivamente. O conceito de fila dentro do contexto da computao, a operao Queue sempre coloca um novo elemento no fim da fila, e a operao Dequeue sempre retira o elemento mas antigo da fila, isto , o elemento que esta na frente o no inicio da mesma.
TIPOS DE FILA
Fila simples: um tipo de fila com alocao esttica.
A figura 1.1 exibe uma possvel configurao para uma fila com alocao esttica, o vector Q armazena quem est na varivel Inicio indica quem est na frente da fila, e a varivel Fim indica quem est no final da fila. Figura 1.1- fila de alocao esttica.
Estrutura 1 Q 2 3 4 5 6 7 8
Operaes
Uma fila simples utiliza as variveis inicio e fim e um vector V com MAX posies. A varivel inicio armazena no vector V , o ndice do primeiro elemento da fila, e a varivel fim armazena, no mesmo vector , o ndice do ultimo elemento da fila. Inicialmente quando a fila est vazia, inicio contem o valor 1 ,e fim ,o valor 0. A operao Queue primeiro testa se a fila est cheia (fim = MAX) e, em caso afirmativo, acusa fila cheia. Caso contrrio, fim incrementado por 1, e o novo elemento armazenado em V|fim|. Operao Dequeue primeiro testa se a fila est vazia (Inicio> fim) e, em caso afirmativo, acusa Fila Vazia. Caso contrrio, armazena-se o elemento V |incio|em alguma varivel, incio incrementado por 1. As filas simples , implementadas atravs de alocao esttica no permitem a reutilizao de posies liberadas pela operao Dequeue.
Para I Fila_1.inicio ate Fila_1.Fim faa Retirada( Fila_1, estava_no_topo); Escreva( I, , estava_no_topo); Fim para; Para I1 ate 4 faa { exibe o conteudo de Fila_2 } Retirada( Fila_2, estava:no_topo); Escreva( I, , estava_no_topo); Fim para; Fim; Fim.
Inicio 1 1 1 2
Fim 0 1 2 2 3
4 12 4 5 2
10
Filas Circulares
As filas circulares se aproximam da noo popular de uma fila. Como vimos anteriormente, as filas simples, implementadas atravs de alocao esttica, no permitem a reutilizao de posies liberadas pela posio Dequeue. A fig. 1.2 exibe uma possvel configurao para uma fila circular com alocao esttica. Fig. 1.2
Tamanho
Comparando a fila simples com a fila circular da fig. 1.1, Observa-se que foi introduzido o elemento tamanho. Na fila simples, o nmero de elementos em uso era dado por (fim inicio + 1). Na fila circular, o nmero de elementos em uso dado pelo objecto tamanho. A cada operao Queue e Dequeue, tamanho , respectivamente incrementado e decrementado. Para realizar a ideia de circularidade, fim e inicio devem ser ajustados no inicio fsico da fila sempre que seus respectivos valores ultrapassarem o valor de MAX.
11
12
Retirada( Fila_1, estava_no_topo); Escreva( I, , estava_no_topo); Fim para; Para I1 ate 4 faa { exibe o conteudo de Fila_2 } Retirada( Fila_2, estava:no_topo); Escreva( I, , estava_no_topo); Fim para; Fim; Fim.
0 0 ? ? 1 1 4 ? 2 2 4 12 2 1 4 12 3 2 4 12 1 3 2 12 ****************Fila Cheia********************
13
Concluso
Concluindo as filas circulares se aproximam da noo popular de uma fila. As filas simples, implementadas atravs de alocao estatica, no permitem a reutilizao de posies liberadas pela operao Dequeue.
14
Bibliogrfia
Estrutura de dados- Autor (Arthur Vargas Lopes) 1999
15