Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Что за операторы?

Автор: Account 5.07.2010 23:14

Не знал писать сюда или нет.

Вот такая предшествующая теоретическая часть

Код

В данной работе рассматривается связное представление списков.
Для организации связного списка в примере используется два массива и две переменные,
отвечающие за адрес первого элемента информационного списка (first) и
адрес первого элемента списка свободного пространства (avail).
Список свободного пространства занимает все ячейки,
которые не заняты информационными списками внутри массивов.


далее Пример реализации задания



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 6.07.2010 0:09

Цитата
что это за операторы
Это не операторы, а вызовы процедур. Что это за процедуры - надо спросить у автора модуля ds_unit...

Автор: Krjuger 6.07.2010 0:25

Ну это даже не пример а какой то кусок неизвестный.Насчет "красных" процедур как подметил Volvo...Первая это не что иное как read block,тобиш чтение блока,второе write block,оно же запись блока,а третья это escape wait,тобиш ожидание выхода.Я смею предположить что массивы либо описаны внутри первых 2 либо вообще как то вынесены из программы.

Автор: Account 6.07.2010 0:39

Всем спасибо, все нашел, будем разбираться)