Pascal/Turbo Pascal - URGENTE Bucle infinito en while

 
Vista:

URGENTE Bucle infinito en while

Publicado por Daniel (1 intervención) el 18/03/2009 13:58:34
Tengo un programa para calcular la planificación en plazo fijo para un hipermercado. Pero me da un bucle infinito en el primer while. Sé que es en el while porque lo ejecuté con el ddd. Este es es código:

PROCEDURE Planfijo (VAR ListaArray : Lista; NumSuper : integer; VAR SolProb : Solucion);
VAR
i, k, l, r : byte;
BEGIN
ListaArray[0].Plazo := 0;
SolProb[0] := 0;
OrdenarCandidatos (ListaArray, NumSuper);
k := 1;
SolProb[1] := ListaArray[1].Tarea; {La primera tarea siempre se selecciona}
{bucle voraz}
for i := 2 to NumSuper do
begin
r := k;
WHILE (ListaArray[i].Plazo < ListaArray[i-1].Plazo) do
begin
r := r - 1; {Adelantamos la posicion de la tarea i tantas posiciones como sea necesario}
end;
if (Factible (ListaArray, SolProb, i, r) = TRUE) then
begin
for l := k to r + 1 do
begin
if l <= PlazoMax (ListaArray, NumSuper) then
SolProb [l + 1] := SolProb [l];
end;
SolProb [l] := ListaArray[i].Tarea;
k := k + 1;
end;
end;
MostrarSolucion (SolProb, NumSuper);
END;

Es el while en mayúsculas, siempre se queda pensando en la condición del while y no me entra en r := r - 1. La verdad, no tengo ni idea de porque es. Por favor que alguien me ayude es urgente.
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

RE:URGENTE Bucle infinito en while

Publicado por Miguel (159 intervenciones) el 18/03/2009 20:22:58
Pone todo el codigo.
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

RE:URGENTE Bucle infinito en while

Publicado por Arturo Castillo (3 intervenciones) el 23/03/2009 19:53:34
program ciclo_infinito;
uses crt,dos;

var
tecla:char;

begin
repeat
codigo;
codigo;
tecla:=readkey;
until a=chr(27);
end.

este programa sale del ciclo REPEAT con la tecla ESC
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