- •3.1. Jednoduché datové typy
- •3.1.1. Datový typ integer
- •3.1.2. Datový typ boolean
- •3.1.3. Datový typ char
- •3.1.4. Datový typ výčet
- •3.1.5. Datový typ interval
- •3.1.6. Datový typ real
- •3.2. Strukturované datové typy
- •3.2.1. Datový typ pole
- •3.2.2. Datový typ string - řetězec
- •3.2.3. Datový typ záznam
- •3.2.4. Datový typ množina
- •3.2.5. Datový typ soubor
3.1.2. Datový typ boolean
Tento datový typ je reprezentován dvěma hodnotami true (pravda) a false (nepravda), které slouží k vyjádření logických hodnot. Pro hodnoty typu boolean jsou definovány všechny relační operace (=, <>, <, >, <=, >=). Z toho, že v tomto typu platí uspořádání false < true vyplývá, že i nad tímto typem jsou definovány standardní funkce succ(x), pred(x) a ord(x). Hodnotaord(false) = 0, hodnota ord(true) = 1. A dále jsou zde definovány binární operace konjunkce a disjunkce a unární operacenegace:
and |
konjunkce (logický součin) |
or |
disjunkce (logický součet) |
not |
negace |
Jejich definice jsou uvedeny v tabulce:
x |
y |
x and y |
x or y |
not x |
false |
false |
false |
false |
true |
false |
true |
false |
true |
true |
true |
false |
false |
true |
false |
true |
true |
true |
true |
false |
Z důvodů kompatibility jsou v Pascalu definovány čtyři logické datové typy:
Boolean |
1 byte |
ByteBool |
1 byte |
WordBool |
2 byte |
LongBool |
4 byte |
3.1.3. Datový typ char
Je to takový datový typ, jehož hodnotami jsou znaky. Množina hodnot však není definována tímto typem, ale kódem znaků, který je v počítači implementován. Nejčastěji se používá kód ASCII (American Standard Code for Information Interchange), jeho evropská verze ISO a kód EBCDIC (Extended Binary Coded Decimal Information Code).Každý kód však musí splňovat čtyři základní body:
Musí být definováno zobrazení, které každému znaku přiřadí jeho ordinální číslo. Relace uspořádání mezi každými dvěma znaky pak musí být stejná jako mezi jejich ordinálními čísly.
Podmnožina znaků, reprezentujících číslice 0 až 9, musí být numericky uspořádaná a souvislá.
Podmnožina znaků, reprezentujících velká písmena A až Z, musí být abecedně uspořádaná, nemusí však být souvislá.
Podmnožina znaků, reprezentujících malá písmena a až z, musí být abecedně uspořádaná, nemusí však být souvislá.
Znaky zapisujeme mezi apostrofy ('A', '5' - POZOR, tento zápis označuje znak 5, nikoliv číslo 5). Pokud chceme zapsat apostrof, musíme jeho zápis zdvojit (vypadá takto: '''').
Také na tomto datovém typu jsou definovány standardní funkce:
ord(x) |
vrací ordinální hodnotu znaku x v dané množině znaků (ASCII tabulka, atd.) |
chr(x) |
je inverzní funkce k funkci ord, x je hodnota typu integer, výsledkem je příslušný znak |
succ(x) |
succ(x) = chr(ord(x) + 1) |
pred(x) |
pred(x) = chr(ord(x) - 1) |
