More Related Content
Similar to Fila de caracteres (20)
More from Elaine Cecília Gatto (20)
Fila de caracteres
- 1. 28/08/2016 11:27:15C:UserselainDocumentsAlgoritmosFilafila.pas
1: //ELAINE CECÍLIA GATTO
2: //27/08/2016
3:
4: program fila_exemplo;
5: uses wincrt, crt;
6:
7: const max=50;
8:
9: type
10: elem = char;
11: fila = record
12: inicio : integer;
13: final : integer;
14: memo: array[1..max] of elem;
15: end;
16:
17: var
18: f : fila;
19: a : elem;
20: opcao : integer;
21: b : boolean;
22: i : integer;
23:
24: //INICIALIZA A FILA
25: procedure Init(var f:fila);
26: begin
27: f.inicio := 1;
28: f.final := 1;
29: end;
30:
31: //VERIRICA SE A FILA ESTÁ VAZIA
32: function isEmpty(var f:fila):boolean;
33: begin
34: isEmpty := (f.inicio = f.final);
35: end;
36:
37: //VERIFICA SE A FILA ESTÁ CHEIA
38: function isFull(var f:fila):boolean;
39: begin
40: isFull := (f.final > max);
41: end;
42:
43: //IMPRIME A FILA
44: procedure imprimir(var f:fila);
45: begin
46: writeln( ' inicio da fila: ' , f.inicio );
47: writeln( ' final da fila: ' , f.final );
48: writeln( ' valores da fila: ', f.memo);
49: end;
50:
51: //INSERE NA FILA
52: procedure enQueue(var f:fila; x:elem);
53: begin
54: if not isFull(f) then
55: begin
56: f.memo[f.final]:=x;
57: f.final:=f.final+1;
58: end
59: else begin
60: writeln(' FILA VAZIA ');
61: end;
62: end;
63:
64: //REMOVE DA FILA
65: function deQueue(var f: fila):elem;
66: begin
1/3
- 2. 28/08/2016 11:27:15C:UserselainDocumentsAlgoritmosFilafila.pas
67: if not isEmpty(f) then
68: begin
69: deQueue:= f.memo[f.inicio];
70: f.inicio := f.inicio + 1;
71: end
72: else begin
73: writeln(' FILA VAZIA ');
74: end;
75: end;
76:
77: //MENU
78: procedure menu;
79: begin
80:
81: repeat
82: writeln(' MENU ');
83: writeln (' 1. Remover na Fila');
84: writeln (' 2. Inserir da Fila ');
85: writeln (' 3. Verificar se a Fila esta Cheia');
86: writeln (' 4. Verificar se a Fila esta Vazia');
87: writeln (' 5. Iniciar a Fila ');
88: writeln (' 6. Imprimir a Fila ');
89: writeln (' 0. SAIR ');
90: writeln('');
91: write(' Digite a opcao desejada: ');
92: readln(opcao);
93: writeln('');
94:
95: Case opcao Of
96: 1 : Begin
97: a:=deQueue(f);
98: writeln(' Removendo: ', a);
99: writeln('');
100: end;
101:
102: 2 : Begin
103: write(' Inserindo: ');
104: readln(a);
105: enQueue(f,a);
106: writeln('');
107: end;
108:
109: 3 : Begin
110: b:=isFull(f);
111: if(b=true)then begin
112: writeln('Fila Cheia');
113: end
114: else begin
115: writeln(' Fila nao Cheia');
116: end;
117: writeln('');
118: end;
119:
120: 4 : Begin
121: b:=isEmpty(f);
122: if(b=true)then begin
123: writeln('Fila Vazia');
124: end
125: else begin
126: writeln(' Fila nao Vazia');
127: end;
128: writeln('');
129: end;
130:
131: 5 : Begin
132: init(f);
2/3