150 likes | 371 Views
Datové typy a struktury. Typy dat Datové objekty - konstanty, proměnné, funkce jsou určitého typu typ je množina hodnot, kterých může proměnná nabýt, které funkce generuje…..atd. typ bývá v programu deklarován (deklarace)
E N D
Datové typy a struktury • Typy dat • Datové objekty - konstanty, proměnné, funkce jsou určitého typu • typ je množina hodnot, kterých může proměnná nabýt, které funkce generuje…..atd. • typ bývá v programu deklarován (deklarace) • s každým typem souvisí určité operace, které jsou pro tento typ definovány • stejné operace se provádějí různými algoritmy, např. sčítání celých a reálných čísel
Jednoduché typy dat • Jednoduché typy dat • integer (celá čísla, 2 nebo 4 byty) • real (čísla uložená v pohyblivé řádové čárce, 4 nebo 8 bytů, 8 je tzv. dvojnásobná přesnost, double precision) • boolean (logické hodnoty, typ ano/ne, nebo pravda/nepravda) • char (jednoznakové proměnné) • string (textové řetězce, 1 znak - 1byte)
Jednoduché typy dat • Příklad na uložení max. a min. hodnoty typu Integer na dva byty (krátké celé číslo) • max. kladné číslo by bylo 1111 1111 1111 1111 hexadecimálně: FFFF Převod z dvojkové do desítkové soustavy: 1x215+1x214+1x213+……....+1x21+1x20= =65535 Převod z hexadecimální soustavy - FFFF: 15x163+15x162+15x161+15x160 = 65535 v příkladu zatím neuvažujeme znaménko čísla
Jednoduché typy dat • zobrazení celých záporných hodnot - 2 byty 1. první bit použit na znaménko 2. kód s posunutou nulou 3. doplňkový kód
Datovétypy, hodnoty typu Integer • 1. první bit = znaménko + 0 111 1111 1111 1111 zbývající bity - 1 max. kladné číslo, které lze pomocí nich vyjádřit je: +32767 max. záporné číslo je - 32767 (1x214+1x213+……....+1x21+1x20 ) 16384+8192+4096+2048+1024+512+256+128+64+ 32+16+8+4+2+1 = 32767
Datové typy, hodnoty typu Integer • 2. kód s posunutou nulou 0000 0000 0000 0000 …... 0 (minimum) …atd… 0111 1111 1111 1111 32767 1000 0000 0000 0000 32768 (=215) = posunutá nula0 1111 1111 1111 1111 65535(max.) max. číslo, které lze odečíst od 32768 = -32768 max. číslo >0, které lze přičíst do 65535 = 32767
Datové typy, hodnoty typu Integer • 3. doplňkový kód • kladná čísla jsou v přímém kódu až do 0111 1111 1111 1111, tj. max. kladná hodnota = 32767 záporná se odečítají od maxima, až k 1000 0000 0000 0000, tj. max. záporná hodnota = -32768 65535 - 32768 = 32767
Datové typy, hodnoty typu Real • Čísla typu Real, plovoucí řádová čárka, 4 byty • číslo tvoří mantisa a exponent • mantisa = 6 hexadecimálních znaků, tj. dekadicky max. 7 číslic • exponent v kódu s posunutou nulou • znaménko čísla je první bit prvního bytu • větší počet číslic mantisy lze uložit na dvojnásobné délce slova, tj. pomocí 8 bytů = dvojnásobná přesnost (double precision)
Datové typy, hodnoty typu Real • .12345E+9 .12345 x 109 • .12345E-4 .12345 x 10-4
Datové typy a struktury • Strukturované typy dat - charakteristiky: • typ struktury - homogenní - tvoří ji stejný typ prvků heterogenní - prvky jsou různého typu • označení struktury - A(I,J) prvek dvourozm. pole • typ prvků (jednoduché, strukturované) • operace s prvky • uspořádání prvků - statické - nemění se počet prvků struktury
Datové typy a struktury dynamické - počet prvků struktury se mění • při práci se strukturovanými typy dat se abstrahuje od toho jak jsou data fyzicky uložena, proto je též nazýváme • abstraktní datové typy
Datové typy a struktury • Standardní strukturované typy dat • pole (homogenní, statická struktura) • záznam (heterogenní, statická struktura) • množina (homogenní, statická struktura) • soubor (homogenní, dynamická struktura) • Pole jednorozměrné (vektor) A(5) označení prvku vektoru, index = pořadové číslo dvourozměrné (matice), 2 indexy vícerozměrné (3 rozm., kubická matice)
Datové typy a struktury • záznam - angl. record, větanapř. řádek databázové tabulky, složený z řady údajů různého typu, proto heterogenní • nebo prvek souborusoubor tvoří záznamy
Datové typy a struktury • Abstraktní strukturované typy dat • lineární seznam zásobník, LIFO (Last In First Out) fronta, FIFO (First In First Out) jsou homogenní, dynamické • nelineární tabulka (homogenní, dynamická) graf (orientovaný, neorientovaný)
Datové typy a struktury • Abstraktní strukturované typy dat • implementace často pomocí pole • tabulky se používají v relačním databázovém modelu • nevýhoda: strukturovaný pohled na data • dnes jsou větší nároky na uložení nestrukturovaných dat (text, grafika, zvuk - MM) • řeší se to použitím BLOBs (Binary Large Objects -velké binární objekty)) • problém je manipulace nad nimi