Logo
Hľadanie
TOP 7 - stránky
Napaľovacie programy - 69 006x
Free Pascal - Úvod - 23 916x
3D grafické programy - 21 041x
Internetové prehliadače - 16 814x
Multimediálne prehrávače - 16 653x
Závodné hry - 15 247x
Download manažéry - 14 690x
Nové v diskusii
HTML - Formuláre - piatok 23.7.
Free Pascal - Začiatky - štvrtok 24.6.
HTML - META informácie - utorok 15.6.
Navigácia: Programovanie > Free Pascal - Polia

Free Pascal - Polia

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.

Využitie

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.

Deklarácia poľa

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;

Práca s prvkami

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.

Špeciality

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;

Príklad

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

Hodnotenie
1 2 3 4 5 (ako v škole)
Priemerná známka: 1,76
Diskusia k tejto stránke Nie je to chyba. Indexy môžu byť napr. znakové, al...
Prejsť do diskusie»
'05-10, Business IT Solutions s.r.o.+Matúš Sulír, matus.sulir (zav) gmail bodka com. Gen.: 0,0232 s. Valid XHTML, CSS.