Procedury na rozdíl od funkcí, nevracejí hodnotu, přesněji nepoužíváme je ke konstrukci výrazů, ale jsou to příkazy. Pomáhají nám, aby naše programy mohly být složeny z přehledných částí. Třeba takto:
Program VylepsovacZvuku;
.....
begin
NactiAudiosoubor;
OpravPraskani;
SnizSumeni;
ZapisAudiosoubor;
end.
Teď už jen zbývá napsat ty čtyři procedury. Každou z nich napíšeme jako
posloupnost dostatečně jednoduchých operací, a pokud nebudou v nabídce
jazyka Pascal, vymyslíme vhodný identifikátor nové procedury, která tuto
složitou operaci zařídí a tuto posléze stejným postupem rozepíšeme jako
posloupnost ještě jednodušších příkazů. Takže psát programy je
jednoduché, že.
Toto je velmi zhruba idea psaní program shora dolů. Je dobré ji mít
na paměti, když program píšeme, jakkoli nám nebude při psaní programu
vždy pasovat na naši úlohu. V každém případě stála u kolébky globální
struktury jazyka Pascal jak uvidíme v následujícím:
Připomeňme si nejprve syntaktický diagram pro program:
A takto vypadají diagramy pro proceduru a funkci
Jak vidíme jsou procedury složeny kromě hlavičky opět z bloku a v
něm můžeme kromě proměnných a konstant deklarovat i opět další
procedury a tak by náš program mohl vypadat takto:
Program VylepsovacZvuku;
...
Procedure OpravPraskani;
...
Procedure OdectiPoruchu;
...
begin
...
end;
...
begin
...
OdectiPoruchu;
...
end;
...
begin
...
OpravPraskani;
...
end.
Procedura OdectiPoduchu se nachází uvnitř jiné procedury a ne programu,
říkáme, že je to vnořená procedura (funkce). Upozornění: vnořené
procedury (a funkce) nejsou v některých běžných programovacích jazycích
podporovány, takže pokud si na ně příliš zvykneme hrozí nám dalším
životě riziko, že si budeme muset odvykat.