<< String | Datové typy | Množina >>
Datový typ RECORD - ZÁZNAM
Vlastnosti
- datový typ se skládá z určitého počtu položek
- datové položky mohou být různého typu
- každá položka má přiděleno jméno - identifikátor položky
Deklarace
Pomocí uživatelského datového typu
type Datum = record //uživatelský typ Datum begin den : 1..31; mesic : 1..12; rok : 1..2000 end; Informace = record //uživatelský typ Informace begin jmeno : string [15]; prijmeni: string [15]; datum_narozeni: datum; pohlavi : (muz, zena); stav : (svobodny, zenaty, rozvedeny, vdovec) end; var Osoba : Array [1..100] of Informace; //deklarace proměnné Osoba
- uživatelsky definovaný datový typ Informace využívá uživatelsky definovaný typ Datum
- proměnná Osoba je připravena pro uložení pole 100 záznamů typu Informace
Zpřístupnění položky proměnné typu záznam má na starosti tzv. selektor záznamu a má tvar:
: proměnná_typu_záznam.identifikátor položky
vzhledem k našemu příkladu:
- Osoba.jmeno;
- Osoba.datum_narozeni.mesic;
atd.
V případech, kdy v určité části programu pracujeme s položkami téhož záznamu, přichází nám vhod příkaz with, který nám usnadňuje přístup k jednotlivým položkám. V praxi tento příkaz pracuje takto:
with Osoba do |
begin |
jmeno := 'David'; |
prijmeni := 'Padrta'; |
with datum_narozeni do |
begin |
den := 11; |
mesic := 2; |
rok := 1975 |
end; |
pohlavi := muz; |
stav := svobodny |
end; |
Tak, to byly záznamy. Pokud navíc provedeme malou obměnu této datové struktury, získáme tzv. VARIANTNÍ ZÁZNAMY. Jsou to takové záznamy, které mají ve své struktuře navíc ještě variantní část. Někdy se totiž stane, že definujeme takové typy, které jsou pouze různé varianty téhož typu, a proto je lze napsat do variantní části. Typy, specifikující několik variant záznamu, se nazývají typy variantních záznamů. Samozřejmě nesmí chybět příklad:
type Informace = record |
jmeno, prijmeni: array[1..15]of char; |
datum_narozeni: datum; |
case pohlavi: (muz, zena) of |
muz: (vaha: real; |
vousy: boolean); |
zena: (miry: array[1..3]of integer) |
end; |