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.