Pascal/Turbo Pascal - Ayuda con una cola circular en pascal

 
Vista:

Ayuda con una cola circular en pascal

Publicado por pamela gomez (17 intervenciones) el 28/09/2012 07:57:32
hola perdonen si los molesto pero necesito un ejemplo simple d una cola circular en pascal, no tiene que ser muy elaborado con que utilice un vector y haga la funcion de cola circular esta bien, si alguien puede ayudarme con esto se los agradeco.De antemano gracias por su ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda con una cola circular en pascal

Publicado por ramon (2158 intervenciones) el 29/09/2012 18:03:47
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
{A ver  sera esto lo que pides o en punteros}
 
program colacircular;
 uses
   crt;
  const
     maxcolas = 10;
  type
     arraycolas = array[1..maxcolas] of integer;
   var
     col : arraycolas;
     nn, pp : integer;
     inicio, final : integer;
 
 
  procedure iniciacolas;
  begin
      inicio := 1;
      final := 1;
  end;
 
  function arrayvacio : boolean;
  begin
      arrayvacio := (inicio = final);
  end;
 
  function arraylleno : boolean;
  begin
      arraylleno := (final = maxcolas);
  end;
 
  procedure insertacola(valor : integer);
  begin
      col[final] := valor;
      final := (final mod maxcolas) + 1;
  end;
 
  procedure sacacola;
  begin
      col[inicio] := 0;
      inicio := (inicio mod maxcolas) + 1;
  end;
 
  begin
      clrscr;
      iniciacolas;
      nn := 1;
    repeat
    insertacola(nn);
    nn := nn + 1;
    until nn > maxcolas;
    writeln('**** Valores del Arraycola ****');
    writeln;
    for pp := 1 to maxcolas do
      write('   ',col[pp]);
   sacacola;
   writeln;
   writeln;
   writeln('>>> Despues de Sacar 1 Queda <<<');
   writeln;
   for pp := 1 to maxcolas do
   write('   ',col[pp]);
   writeln;
   writeln;
   writeln('### Entrando 1 Queda ###');
   writeln;
   insertacola(12);
   for pp := 1 to maxcolas do
   write('   ',col[pp]);
   writeln;
   writeln;
   sacacola;
   writeln(' Sacamos Otro Queda ');
   writeln;
   for pp := 1 to maxcolas do
   write('   ',col[pp]);
   writeln;
   writeln;
   insertacola(13);
   writeln('%%% Insertamos Otro Queda %%%');
   writeln;
   for pp := 1 to maxcolas do
   write('   ',col[pp]);
   writeln;
   writeln;
   writeln('@@@@ Cola Circular @@@@');
 
   readln;
  end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar