Slovník | Vyhledávání | Mapa webu
 
Základy informatiky pro biologyAlgoritmizace a programování Návrh algoritmů III Datové typy Ordinární datové typy

Logo Matematická biologie

Ordinární datové typy

Ordinální datové typy se vyznačují tím, že jejich hodnoty jsou uspořádány podle velikosti od nemenšího po největší. Je tedy znám počet hodnot ordinálního datového typu, které jsou zobrazitelné na množině celých čísel. Mezi ordinální datové typy patří logická hodnota, znak, celá čísla, výčet a interval.

Celá čísla
Celočíselné datové typy jsou určeny k uložení celých čísel (např. 10, -8946 atd.) a rozlišují se podle velikosti a dále také na znaménkové a neznaménkové. Velikost celočíselného datového typu je daná počtem bajtů, ve kterých je uložen.

Neznaménkové typy využívají všechny bity pro hodnotu, kdežto znaménkové používají (nejčastěji) nejvyšší bit na rozlišení znaménka (0 značí + a 1 značí -). Neznáménkové typy tak mají rozsah od 0. Naproti tomu znaménkové mají 0 uprostřed svého rozsahu. Následují dva přehledy (neznáménkové a znaménkové) celočíselných typů s jejich slovním označením, počtem bajtů, která zabírají a rozsahem:

  • byte - 1 bajt - rozsah 0 až 255
  • word - 2 bajty - rozsah 0 až 65535
  • dword - 4 bajty - rozsah 0 až 4294967295
  • qword - 8 bajtů - 0 až 18446744073709551615
  • short integer (shortint, short) - 1 bajt - rozsah -128 až 127
  • integer (int) - 2 bajty - rozsah -32768 až 32767
  • long integer - 4 bajty - rozsah -2147483648 až 2147483647
  • long long integer - 8 bajtů - rozsah -9223372036854775808 až 9223372036854775807

Označení jak to tak bývá není jediné, takže se můžete setkat s tím, že jménem je označena velikost (např. int) a slovy signed a unsigned se rozlišuje znaménkový a neznáménkový typ. Ne každý programovací jazyk rozeznává všechny typy proměnných z tohoto seznamu, zvláště novější programovací jazyky si mnohdy vystačí s jedním typem pro celočíselnou hodnotu (nejčasteji integer).

Znak
Datový typ znak je v podstatě celočíselný datový typ (short nebo byte), který se nazývá char. Rozdíl proti datovému typu short je v tom, že číselné hodnoty se interpretují jako znaky dle ASCII tabulky (např. číslo 32 značí mezeru, číslo 65 značí znak 'A' atd.).

ASCII tabulka je rozdělena do dvou částí. První část obsahuje řídící kódy, symboly, písmena a číslice. Druhá část obsahuje rozšíření pro další jazyky a liší se použitou kódovou stránkou. Doplňuje tak první část o lokální znaky - v případě češtiny jsou to zejména znaky s diakritikou.

Každá použitá znaková sada má svojí druhou polovinu jinak. Pro češtinu existuje několik nekompatibilních kódování, takže s textem se musí nést informace o použitém kódování. Nejenom tento problém řeší UNICODE, kde na jeden znak jsou použity 2 bajty (jedná se tedy o word). Označení takového datového typu je wchar.

Logická hodnota
Jedná se o nejjednodušší datový typ, který může nabývat pouze dvou hodnot, a to true (1) nebo false (0). Označení tohoto typu je boolean (nebo jen bool). Ač velmi jednoduchý, tak hojně používaný. Například výsledek každého testu v podmínce je logická hodnota.

V některých implementacích zabírá datový typ boolean opravdu jen jeden bit. Zejména ve vysokoúrovňových jazycích se s ním buď již nesetkáme nebo se jeho uložení provádí na více bajtů (jedná se výčtový typ viz dále).

Výčet
Datový typ výčet (jeho množinu hodnot) určujeme seznamem identifikátorů. I tento datový typ je ordinální, jednotlivým identifikátorům jsou přidělena pořadová čísla: první identifikátor má hodnotu 0, druhý identifikátor má hodnotu 1, … atd.

Typický problém řešený pomocí datového typu výčet je takový, že máme množinu přípustných hodnot (např. barvy karet). Mohli bychom je označit čísly, ale program by tak byl mnohem hůře čitelný. Vytvořili bychom si proto datový výčet BarvyKaret, kterému bychom přiřadili položky: srdce, kary, piky, krize. V programu bychom pak místo čísel 0, 1, 2, 3 používali hodnoty srdce, kary piky, krize, což zvyšuje čitelnost programu.

Interval
Jde také o obecný datový typ, jelikož nemá přidělen vlastní identifikátor. Ten opět (jako u datového typu výčet) tvoří uživatel – tedy určuje rozsah hodnot, které patří do tohoto datového typu. Interval vždy vychází z nějakého jiného datového typu, který nazýváme bázový typ. Hodnoty intervalu jsou pak podmnožinou bázového datového typu. Každý datový typ interval je popsán dvojicí konstant, které udávají nejmenší a největší hodnotu intervalu.

Typický příklad použití je takový, že chceme omezit rozsah platných hodnot. Například školní známka má rozsah 1 až 5. Při použití nejmenšího datového typu (byte) bychom dostali rozsah 0 až 255. Vytvořili bychom si proto datový typ interval SkolniZnamka, který by byl v rozsahu 1 až 5 (1..5) a jeho bázový typ by byl byte.

 
vytvořil Institut biostatistiky a analýz Lékařské fakulty Masarykovy univerzity