В разделе описания типов объявлен тип Zveno, содержащий следующие поля: Elem – элемент звена (информационное поле), Next – указатель на следующее звено.
Формирование списка из двух звеньев по принципу стека (процедура Form):
а) X:=Nil; в) New(L1);
New(L1); Readln(L1^.Elem);
Readln(L1^.Elem);

б) L1^.Next:=X; г) L1^.Elem:=X;
X:=L1; X:=L1;

В процедуре Form вначале рабочая переменная Х полагается равной Nil. С помощью процедуры New выделяется динамическая память под первое звено (переменная L1 – указатель на 1-ое звено) и в поле Elem этого звена с клавиатуры вводится 1-й элемент. В поле Next 1-ого звена копируется значение переменной Х, т.е. в поле Next 1-ого звена заносится указатель Nil. После этого в переменной Х запоминается указатель на 1-е звено. Далее формируется второе звено (переменная L1 – указатель на 2-ое звено). В поле Next 2-ого звена копируется значение переменной Х, т. е. в это поле заносится указатель на 1-ое звено. После этого в переменной Х запоминается указатель на 2-ое звено.
Этот процесс повторяется до тех пор, пока все звенья не будут сформированы. Таким образом, список будет содержать звенья, связанные между собой, причем последнее звено будет стоять в начале списка, а первое – в конце. В переменной L1 будет находиться указатель на начало списка.
В процедуре Search осуществляется последовательный перебор элементов списка, пока не будет найден искомый элемент или не достигнут конец списка. В конце процедуры на экран выводится соответствующее сообщение.
Процедура Wywod выводит элементы всех звеньев списка до и после удаления. Для вывода списка используется переменная L1, при этом адрес начала не изменяется, т. к. L1 – параметр–значение.