1 program seznam; 2 3 type ukazatel=^uzel; 4 uzel=record 5 cislo:integer; 6 jmeno:string[20]; 7 dalsi:ukazatel; 8 end; 9 10 var prvni,pracov,aktualni:ukazatel; 11 p:char; 12 13 begin 14 prvni:=nil; 15 write('chces vlozit ? A/N ');readln(p); 16 while (p='A') or (p='a') do begin 17 new(pracov); {alokuje paměť} 18 write('Cislo ? ');readln(pracov^.cislo); {načte proměnné} 19 write('Jmeno ? ');readln(pracov^.jmeno); 20 pracov^.dalsi:=prvni; {Nově načtenou proměnnou zařadí na začátek seznamu} 21 prvni:=pracov; 22 write('Chces pokracovat ? A/N ');readln(p); 23 end; 24 25 {Výpis seznamu} 26 aktualni:=prvni; 27 while (aktualni <> nil) do begin 28 writeln(' ',aktualni^.cislo,' ',aktualni^.jmeno); 29 aktualni:=aktualni^.dalsi; 30 end; 31 32 {Uvolnění proměnných z paměti} 33 aktualni:=prvni; 34 while (aktualni <> nil) do begin 35 pracov:=aktualni; 36 aktualni:=aktualni^.dalsi; 37 dispose(pracov); 38 end; 39 40 end.