Veronika Bartoňková
v.bartonkova@gyvolgova.cz
Datové typy
Rozdělení datových typů- jednoduchý (jeví se jako nedělitelný)
- ordinální
- neordinální
- strukturovaný (složený z dílčích složek)
- pole
- záznam
- množina
- soubor
- řetězec
ordinální datové typy(např. char. integer, boolean, výčtový typ)
- pro každou hodnotu je dán následník a předchůdce
- Pořadové číslo prvku je dáno ordinální hodnotou prvku
- Ord zjistí ordinální hodnoty prvku (počítá se od nuly), např ord(1)=1, ord('A')=65
- Pred vrací hodnotu předcházejícího prvku, např. Pred(1)=0
- Succ vrací hodnotu následovníka, např. Pred(1)=2
- High, Low vrací hodnotu nejvyššího a nejnižšího prvku,např High(byte)=255, Low(byte)=0
neordinální datové typy (např. real, string,...)
Typ řetězec - string
deklarace typu
identifikátor:string;identifikátor:string[cislo]; cislo udává max. délku řetězce
Jednotlivé znaky řetězce jsou přístupné pomocí indexu podobně jako u jednorozměrného pole. V prvku s indexem 0 je uložena skutečná délka řetězce.
Procedury pro práci s řetězci
copy(S.I,K) funkce vrací K znaků z řetězce S
počínaje od I-tého znaku.
delete(S,I,K) procedura odstraní K znaků z řetězce S
počínaje od I-tého znaku.
Insert(s1,S,I) procedura vkládá řetězec S1
do řetězce S na pozici I -tou
Length(S) funkce, která vrací skutečnou délku řetězce
pos(S1.S) funkce hledá podřetězec S1 v podřetězci S a vrací
pozici prvního znaku řetězce S1 v S nebo 0,
pokud S1 nenajde.
Typ záznam
skládá se z určitého počtu pojmenovaných složek, které mohou být různého typu a které se nazývají položky záznamuPoložky záznamu zpřístupňujeme pomocí tečkové konvence nebo pomocí příkazu with (viz příklady)
Příklad deklarace
type Datum= record den :1..31; mesic :1..12; rok :integer; end; Ucastnik= record prijmeni:string; jmeno :string; narozeni:datum; end; var termin:datum; zavodnik:array [1..200] of ucastnik; begin termin.den:=7; termin.mesic:=2; zavodnik[1].jmeno:=pepa; ... with zavodnik[1] do begin jmeno:='Pepa'; narozeni.mesic:=7; narozeni.den:=2; end;