Не знал писать сюда или нет.
Вот такая предшествующая теоретическая часть
program ds_01;
uses ds_unit;
var first: integer;
len: integer;
procedure lst_len(lst:integer; var len:integer);
{ Входы: lst - указатель списка;
Выходы: len - длина списка;
Гл. имена: link - массив полей связи;
Функция: Определение длины len списка lst.
}
var p: integer;
begin
p:=lst; len:=0;
while p<>0 do begin len:=len+1; p:=link[p]; end;
end; {lst_len}
begin
rdblock;
write('First: '); readln(first);
lst_len(first,len);
writeln('Len: ',len);
wrblock;
writeln('First: ',first);
escwait;
end.
Ну это даже не пример а какой то кусок неизвестный.Насчет "красных" процедур как подметил Volvo...Первая это не что иное как read block,тобиш чтение блока,второе write block,оно же запись блока,а третья это escape wait,тобиш ожидание выхода.Я смею предположить что массивы либо описаны внутри первых 2 либо вообще как то вынесены из программы.
Всем спасибо, все нашел, будем разбираться)