Buscar

LINGUAGEM DE PROGRAMAÇÃO

Prévia do material em texto

4.0- Tarefa 4: Linguagens de Programação e Estruturas de Dados
Ao realizar esse trabalho consideramos a utilização da estrutura de dados em fila (First In First Out – o primeiro que entra é o primeiro que sai). Pois ela é a que mais se adequa as necessidades da empresa. Nesse caso, podemos imaginar a fila de um atendimento qualquer onde todas as pessoas que chegam vão sendo posicionadas no final da fila (as inserções são feitas no final) e o primeiro dessa fila será sempre o que tiver no início e receberá o atendimento (as retiradas são feitas no inicio).
Figura 5 – Esquema de funcionamento de uma fila FIFO
A “Fila” tem diversas aplicações que podem ser usadas no dia-a-dia da empresa, entre elas controle de pedido da compra que deve obedecer a ordem o que estiver na frente receber o produto antes de quem está no final. Em as outras aplicações podemos citar: Atendimento de processos requisitados a um S.O, à ordenação de encaminhamento de pacotes de um roteador etc.
Basicamente o que diferencia a fila da pilha é a ordem de saída dos elementos. Enquanto na pilha o elemento retirado é sempre o último a entrar (o do topo da pilha), na fila sempre é retirado o primeiro elemento a entrar na estrutura.
A estrutura do tipo fila pode ser declarada como aquela que possui três
partes:
*Um vetor vet de tamanho N,
*Um índice ini para o início da fila (marca a posição do próximo elemento a ser retirado da fila.)
*Um índice fim para o fim da fila (marca a posição (vazia), onde será inserido o
próximo elemento.
#define N 100 struct fila { int ini, fim; float vet[N];
};
Quadro 1 – Estrutura de fila em C#
E por fim, podemos citar a função insere que adiciona um novo elemento ao final da fila, seguindo a lógica já citada anteriormente, devemos sempre observar se ainda existe espaço para a adição de novos elementos, pois o vetor possui
capacidade limitada.
Quadro 2 – Exemplo de inserção de fila em C#
void insere (Fila* f, float v)
{if (incr(f->fim) == f->ini){ // fila cheia printf("Capacidade da fila estourou"); exit(1); //aborta o programa
}
// insere elemento na próxima posição livre f->vet[f->fim] = v;
f->f

Continue navegando

Outros materiais