Компьютерные сети. Лабораторные работы



Система дорог - часть 7


For k:=1 to n do

begin

max:=ti[i[k]]+dij[k];

If ti[j[k]]<max then ti[j[k]]:=max

end;

te[j[n]]:=ti[j[n]];

For k:=n downto 1 do

begin

min:=te[j[k]]-dij[k];

If te[i[k]]>min then te[i[k]]:=min

end;

For k:=1 to n do

begin

s1[k]:=ti[i[k]]; f1[k]:=s1[k]+dij[k];

f2[k]:=te[j[k]]; s2[k]:=f2[k]-dij[k];

tf[k]:=f2[k]-f1[k]; ff[k]:=ti[j[k]]-f1[k]

end

END;

{ --- }

BEGIN

Write ('Введите общее количество работ по проекту: ');

ReadLn (n);

For k:=1 to n do

begin

Write ('Вводите начало, конец дуги и продолжительность: ');

ReadLn (i[k],j[k],dij[k])

end;

C_r_i_t_i_c_a_l_P_a_t_h (n,i,j,dij,s1,s2,f1,f2,tf,ff);

{ Вывод результатов }

Write ('Самый ранний срок начала : ');

For k:=1 to n do Write (s1[k]:2,' '); WriteLn;

Write ('Самый поздний срок начала : ');

For k:=1 to n do Write (s2[k]:2,' '); WriteLn;

Write ('Самый ранний срок завершения : ');

For k:=1 to n do Write (f1[k]:2,' '); WriteLn;

Write ('Самый поздний срок завершения: ');

For k:=1 to n do Write (f2[k]:2,' '); WriteLn;

Write ('Свободный резерв времени : ');

For k:=1 to n do Write (ff[k]:2,' '); WriteLn;

Write ('Полный резерв времени : ');

For k:=1 to n do Write (tf[k]:2,' '); WriteLn;

{ Определение критического пути. Критический путь задается }

{ стрелками, соединяющими события, для которых полный ре- }

{ зерв времени равен нулю }

Write ('Критический путь: '); Write (1,' ');

For k:=1 to n do

If tf[k]=0 then Write (j[k],' ')

END.




Содержание  Назад  Вперед