Za hlavným begin:
begin
clrscr;
a:=memavail;
new(zac);
new(kon);
zac:=nil;
kon:=nil;
repeat
clrscr;
writeln('1-vloz na koniec');
writeln('2-vloz na zaciatok');
writeln('3-vypis');
Uprav to takto:begin
clrscr;
a:=memavail;
zac:=nil;
kon:=nil;
new(zac);
new(kon);
repeat
clrscr;
writeln('1-vloz na koniec');
writeln('2-vloz na zaciatok');
writeln('3-vypis');
A toto je vlastne zbytočné: zac:=nil;
kon:=nil;
Ešte sa pozriem na ten zvyšok.Edit: Ešte som zabudol: Keď vytvoríš pamäťové miesto (funkcia New()), tak nesmieš priradiť premennej inú hodnotu, lebo to miesto ostane v pamäti alokované, ale nepoužiteľné a v prípade behu skopilovaného programu mimo Pascal sa ti môže po čase zrútiť systém na nedostatok pamäti v prípade veľký pamäťových blokov.