Доклад: Основні принципи модульного програмування та стеки
number:string; {елементданих}
next:ptr; {покажчик на наступний елемент}
end;
var first: ptr; {покажчик на початок списку }
ch: char; { вибiр режиму обробки списку}
newptr, {покажчик на введений елемент}
curr, {покажчик на наступний елемент}
prev: ptr; {покажчик на попереднiй елемент}
reg: string; {значення елемента даних }
done: boolean; {прапорець для пошуку мiсця вставки елемента}
{додавання елементiв до списку }
procedure insert;
begin
write('input elenent:');
readln(reg);
new(newptr); { видiленняпам'ятi пiдновийелемент}
newptr^.number:=reg; { ввiдданихвпам'ять}
if first=nil then { формування першого елемента списку}
begin
first:=newptr; {початковий покажчик на першому елементi}
first^.next:=nil; { покажчик на наступний елемент }
end
else {якщо список не порожнiй
перевiрка впорядкованостi списку}
if reg<=first^. number then {якщо нове значення менше iснуючого}
{вставка нового елемента на початку списку}
begin newptr^.next:=first;
first:=newptr;
end