Correccion de Codigo
Publicado por Sky Black (6 intervenciones) el 25/03/2007 05:26:05
Hola les keria enseñar un codigo k encontre en internet sobre Colas Circulares sin embargo el codigo k baje originalmente estaba muy mal en la sintaxis y le hice unas correcciones aun asi despues de estas correcciones el programa solo me muestra la version del pascal, y keria decirles haber k es lo malo k tengo con mi codigo
program Cola;
uses crt;
(*TAMAÑO MAXIMO DE LA COLA*)
uses crt;
var
MemCola : array[1..10] of integer;
Inicio : integer; (* INICIO DE LA COLA*)
Fin : integer; (* FIN DE LA COLA*)
procedure Insertar(dato : integer);
begin
(* LA VARIABLE FIN, APUNTA A LA PRIMERA POSICION
VACIA DE LA COLA *)
MemCola[Fin]:=dato;
Inc(Fin);
if Fin > 10 then
begin
(* SI YA SE LLENO TODA LA MEMORIA HAY QUE
// DAR LA VUELTA *)
Fin:=0;
end;
if Inicio = Fin then begin
(* SI EL FIN ALCANZO AL INICIO, QUIERE DECIR QUE
// DIO TODA LA VUELTA Y YA NO HAY ESPACIOS
// LIBRES, POR LO QUE HAY QUE MARCAR UN ERROR
// DE QUE LA COLA ESTA LLENA *)
end;
end;
function Remover : integer;
begin
if Inicio = Fin then begin
(* // EL INICIO ES IGUAL AL FIN, QUIERE DECIR QUE
// NO HAY DATOS EN LA COLA, POR LO TANTO
// MANDA UN ERROR DE COLA VACIA *)
end
else begin
Remover:=MemCola[Inicio]; (* // EL DATO A DEVOLVER
// ES EL QUE ESTA AL INICIO DE LA COLA *)
Inc(Inicio); (* // MUEVE EL INICIO DE LA COLA *)
if Inicio > 10 then
begin
(* // SI LLEGO AL FINAL, DA LA VUELTA *)
Inicio:=0;
end
end;
end;
begin
Inicio:=0; (* // INICIALIZA EL INICIO DE LA COLA *)
Fin:=0; (* // INICIALIZA EL FINAL DE LA COLA
// AQUI DEBEN DE PONER SU CODIGO PARA USAR LA COLA *)
Readkey;
end.
por cierto si tienen algun programa de colas circulares se los agradeceria mucho, v_v
gracias espero una pronta respuesta
program Cola;
uses crt;
(*TAMAÑO MAXIMO DE LA COLA*)
uses crt;
var
MemCola : array[1..10] of integer;
Inicio : integer; (* INICIO DE LA COLA*)
Fin : integer; (* FIN DE LA COLA*)
procedure Insertar(dato : integer);
begin
(* LA VARIABLE FIN, APUNTA A LA PRIMERA POSICION
VACIA DE LA COLA *)
MemCola[Fin]:=dato;
Inc(Fin);
if Fin > 10 then
begin
(* SI YA SE LLENO TODA LA MEMORIA HAY QUE
// DAR LA VUELTA *)
Fin:=0;
end;
if Inicio = Fin then begin
(* SI EL FIN ALCANZO AL INICIO, QUIERE DECIR QUE
// DIO TODA LA VUELTA Y YA NO HAY ESPACIOS
// LIBRES, POR LO QUE HAY QUE MARCAR UN ERROR
// DE QUE LA COLA ESTA LLENA *)
end;
end;
function Remover : integer;
begin
if Inicio = Fin then begin
(* // EL INICIO ES IGUAL AL FIN, QUIERE DECIR QUE
// NO HAY DATOS EN LA COLA, POR LO TANTO
// MANDA UN ERROR DE COLA VACIA *)
end
else begin
Remover:=MemCola[Inicio]; (* // EL DATO A DEVOLVER
// ES EL QUE ESTA AL INICIO DE LA COLA *)
Inc(Inicio); (* // MUEVE EL INICIO DE LA COLA *)
if Inicio > 10 then
begin
(* // SI LLEGO AL FINAL, DA LA VUELTA *)
Inicio:=0;
end
end;
end;
begin
Inicio:=0; (* // INICIALIZA EL INICIO DE LA COLA *)
Fin:=0; (* // INICIALIZA EL FINAL DE LA COLA
// AQUI DEBEN DE PONER SU CODIGO PARA USAR LA COLA *)
Readkey;
end.
por cierto si tienen algun programa de colas circulares se los agradeceria mucho, v_v
gracias espero una pronta respuesta
Valora esta pregunta


0