Sortowanie trzech liczb
Program demonstruje sortowanie 3 liczb. Warto zwrócić uwagę na definicję procedury podmień.
procedure podmien (var l1,l2:integer);
Gdyby nie poprzedzaj±ce słowo var dwie zmienne, procedura nie spełniłaby swojego założenia, ponieważ jej zadaniem jest zamiana obydwu warto¶ci, tzn, do zmiennej l1 wstawić to co w l2 i na odwrót.
Gdy normalna procedura (bez słowa var) jest wywoływana, komputer tworzy w pamięci kopię fragmentu pamięci gdzie s± parametry. Nawet gdy zamienimy je miejscami, nie zmieni± się prawdziwe zmienne l1 i l2 bo operowali¶my na kopiach. Gdy korzystamy z var, mamy dostęp do oryginałow.
program sortowanie;
procedure podmien (var l1,l2:integer);
var tmp :byte;
begin
tmp := l1;
l1 := l2;
l2 := tmp;
end;
procedure wyswietl (l1,l2,l3:integer);
begin
writeln(l1, ' ' , l2 , ' ' , l3);
end;
var l1, l2, l3 : integer;
begin
l1:=4;
l2:=6;
l3:=2;
wyswietl(l1,l2,l3);
if (l1>l2) then podmien(l1,l2);
if (l2>l3) then podmien(l2,l3);
if (l1>l2) then podmien(l1,l2);
wyswietl(l1,l2,l3);
end.