Курсовая работа: Распределение памяти
for j:=1 to 255 do uzel[i].uk[j]:=0;
uzel[i].count:=0;
write('Введите количество ссылок -');read(m);
for j:=1 to m do
begin
write('ссылка номер ',j,'=');
read(uzel[i].uk[j]);
end;
end;
{прохождение сети. Начинаем работу с первого узла}
tek_index:=1;
repeat
{Поиск последней ссылки содержащей указатель}
m:=1;
while (uzel[tek_index].uk[m]<>0)and(m<255) do m:=m+1;
if m=255 then m:=0 else m:=m-1;
if uzel[tek_index].count<m then {Движение вперёд}
begin
print;
{Мы начинаем обход указателей начиная с последнего. Формула приведённая ниже вычисляет очередной используемый указатель }
m:=m-uzel[tek_index].count;
uzel[tek_index].count:=uzel[tek_index].count+1;
{циклическая перестановка указателей}
c:=tek_index;
tek_index:=uzel[tek_index].uk[m];
if c>1 then uzel[c].uk[m]:=pred_index
else uzel[c].uk[m]:=0;
pred_index:=c;
end