Professional Documents
Culture Documents
Jednorozmerné Pole: Troška Teórie
Jednorozmerné Pole: Troška Teórie
Na minulej hodine sme sa naučili čítať údaje z textového súboru. Predstavte si, že si
chcete vytvoriť aplikáciu, ktorá Vám spracuje namerané údaje z laboratórneho cvičenia
z fyziky. Meranie ste opakovali 10-krát. Potrebujeme pre uloženie jednej veličiny meranej 10-
krát 10 rôznych premenných? Samozrejme, že nie. Pre takéto situácie je tu zložený údajový
typ jednorozmerné pole.
Troška teórie:
Jednorozmerné pole patrí medzi zložené typy údajov. Zložené typy údajov sú také,
ktorých hodnoty môžu byť zložené z viacerých jednoduchých hodnôt (položiek).
Definícia poľa:
premenná : array[1..n] of typ;
Premenná sa skladá z n zložiek(okienok):
1 2 3 4 . . . . . . n
Hodnota n predstavuje maximálny počet položiek poľa.
Poradovým číslam okienok hovoríme indexy a pomocou nich sa odvolávame
na konkrétne okienko, napr. ak máme pole ceny[1..5], tak na cenu v 3. chate sa odvoláme
ceny[3]. Index i je celé číslo, definujeme ho takto: i:Integer; Na cenu v i-tej chate sa
odvoláme ceny[i].
Zbierame skúsenosti:
Vytvor v Lazaruse aplikáciu, ktorá vypíše do súboru loto.txt 5 vyžrebovaných čísel hry
Loto 5 z 35. Nezabudni si po kliknutí na obslužné tlačidlo pozrieť obsah súboru.
Vyskúšaj nasledujúci obsah procedúry pre tlačidlo:
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile;
a:array[1..5] of integer;
i:integer;
begin
randomize;
for i:=1 to 5 do a[i]:=random(35)+1;
SaveDialog1.Execute;
AssignFile(f,SaveDialog1.FileName);
rewrite(f);
write(f,'Vyžrebované čísla hry LOTO 5 z 35: ');
for i:=1 to 4 do write(f,a[i],', ');
writeln(f,a[5]);
closefile(f);
end;
Vytvor v Lazaruse aplikáciu, ktorá prečíta zo súboru labak1.txt 10 hodnôt (v jednom
riadku jedno desatinné číslo) nameranej dĺžky dráhy a vypíše načítané čísla
do komponentu Label. Nezabudni si pred kliknutí na obslužné tlačidlo pripraviť
vstupný súbor. Vyskúšaj nasledujúci obsah procedúry pre tlačidlo:
procedure TForm1.Button1Click(Sender: TObject);
var f:textfile;
a:array[1..10] of real;
i:integer;
begin
OpenDialog1.Execute;
AssignFile(f,OpenDialog1.FileName);
reset(f);
for i:=1 to 10 do readln(f,a[i]);
closefile(f);
Zisti, či to už vieš:
1. Čo je jednorozmerné pole?
2. Aké sú to zložené údajové typy?
3. Aké druhy zložených údajových typov poznáme?
4. Z čoho sa skladá pole?
5. Z čoho sa skladá záznam?
6. Napíš všeobecnú definíciu jednorozmerného poľa.
7. Ako si predstavujeme premennú typu jednorozmerné pole?
8. Čo predstavuje hodnota n v definícii poľa?
9. Ako hovoríme poradovým číslam jednotlivých položiek poľa?
10. Na čo slúžia indexy?
11. Akého typu sú indexy poľa?