Reč nebude o traktoroch a poľnohospodárskych plodinách, ale o dôležitom type premennej. Pole v Pascale je súbor premenných rovnakého typu, ktoré majú svoje číselné indexy.
Ak napríklad potrebujeme zaznamenať 1000 čísel, určite ich nezačneme ukladať do tisícich ručne vytvorených premenných nazvaných prem000, prem001, prem002,... Využijeme pole a jediným riadkom ich deklarujeme. Prístup k prvkom je tiež veľmi jednoduchý. Tak ideme na to.
Tu je schéma:
var názov_poľa: array[začiatok..koniec] of typ_premenných;
Slovo začiatok predstavuje číslo prvého prvku a koniec - posledného. Takto vytvoríme pole celých čísel s prvkami od 1 do 10:
var pole: array[1..10] of integer;
Toto je pole obsahujúce reťazce, ktoré majú indexy od 5 do 123:
var pole: array[5..123] of string;
K prvkom v poli pristupujeme pomocou názvu poľa, za ktorým nasleduje v hranatých zátvorkách index prvku.
ovocie[0] := 'jablko'; ovocie[1] := 'banan'; writeln(ovocie[0],' ', ovocie[1]);
Príklad vypíše:
jablko banan
Nasledujúci príklad ukazuje, ako najprv získame od užívateľa 5 čísel a potom ich vypíšeme v opačnom poradí.
program polia; var c: integer; pole: array[1..5] of integer; begin { ziskavanie } for c := 1 to 5 do begin writeln('Zadajte ', c, '. cislo.'); readln(pole[c]); end; { vypis cez cyklus for..downto } writeln('Opacny vypis:'); for c := 5 downto 1 do write(pole[c],' '); end.
Indexy môžu byť i záporné.
a: array[-10..-5] of string;
Miesto celočíselných indexov existujú aj znakové. Nasledujúca deklarácia je teda tiež správna:
b: array['a'..'n'] of integer;
Od užívateľa získame osem slov. Skúsime ich uložiť do poľa, potom zoradiť podľa abecedy a vypísať.
V jazyku Pascal môžeme reťazce porovnávať podobne ako čísla (znamienkami <, >, =) - ak je jeden reťazec menší ako druhý, nachádza sa v abecedne zoradenom zozname skôr. Musím však poznamenať, že toto porovnávanie nerozpoznáva znaky s mäkčeňmi a dĺžňami (porovnáva sa podľa tabuľky ASCII).
Použijeme metódu „Bubble Sort“, ktorá síce nie je rýchla, ale dá sa pomerne ľahko pochopiť. Budeme prechádzať poľom a vždy pritom navzájom vymeníme dva prvky (nachádzajúce sa vedľa seba), ak sú zle zoradené. To všetko budeme opakovať dovtedy, kým nebude potrebné nič vymeniť, teda prvky sú už zoradené.
Ak ste program dokázali napísať sami, gratulujem. Ak nie, tu je riešenie: bubble.pas