x | ||||||
1 | 2 | 3 | ... | s | ||
1 | ... | |||||
2 | 1 | ... | ||||
R | 3 | 5 | ... | |||
: | : | : | : | : | ||
r | ... |
Definíciadvojrozmerného poľa môže vyzerať nasledovne: TYPE dpole=ARRAY[1..10,1..10] OFINTEGER;VAR a:dpole; Pripoužívaní dvojrozmerného poľa je potrebné dávať si pozor na to, čo námreprezentuje riadky a čo nám reprezentuje stĺpce. Podľa predchádzajúcehoobrázku platí a[i,j]=5, ale a[j,i]=1 (v tomto prípade platí i=2 a j=3).Načítanie prvkov poľa a ich nasledovný výpis vyzerá nasledovne: writeln(’Zadajpocet stlpcov a riadkov’);readln(s,r);writeln(’Zadavajprvky pola’);for y:=1 to r dobegin for x:=1 to s do read(a[x,y]); readln; end;WRITELN(’Vypisprvkov pola:’);for y:=1 to r dobegin for x:=1 to s do WRITE(a[x,y]); WRITEln; end;
Typ záznam: niekedy potrebujemev počítači reprezentovať údaje, ktoré síce nie sú rovnakého typu, ale istýmspôsobom patria k sebe. Napríklad reprezentácia informácií o ľuďoch. Každýčlovek môže byť reprezentovaný nasledujúcimi údajmi: meno : string[20] priezvisko : string[20] pohlavie : (muz,zena) ak pohlavie=muz takvojna : boolean ak pohlavie=zena takrodena : string[20]Typ záznam, record, obsahuje definovaný početpoložiek, hovoríme o položkách záznamu. Položky môžu byť rôznych typov. Pridefinícií typu záznam sa musí definovať identifikátor a typ každej premennej.Definícia premenných môže mať aj premenlivú časť. V našom prípade, ak pohlaviemá hodnotu muz, tak záznam obsahuje položku vojna (áno znamená absolvoval, nieznamená že ho to ešte čaká) a ak pohlavie má hodnotu zena, tak záznam obsahujepoložku rodená (meno za slobodna). Všimnite si ešte (ďalej v texte), žečasť záznamu: a.pohlavie,a.vojnanemôžeme načítať priamo, ale pomocou premennej pom. Typ premennej pohlavie je vymenovaný typ, kde pri deklaráciívymenujeme množinu prípustných hodnôt. type clovek =record meno:string[20]; priezvisko : string[20]; case pohlavie:(muz,zena) of 'muz' : (vojna :boolean); 'zena' : (rodena : string[20]); end;var a :clovek; pom : string;beginwriteln('zadajmeno');readln(a.meno);writeln('zadajpriezvisko');readln(a.priezvisko);writeln('zadajpohlavie');readln(pom);if pom='muz'then begin a.pohlavie := muz; writeln('Absolvoval vojnu'); readln(pom); if pom=’ano’ thena.vojna:=true elsea.vojna:=false; end else begin a.pohlavie := zena; writeln('zadaj rodena'); readln(a.rodena); end;