4 Datové struktury. Datové struktury. Zobrazení dat v počítači

Rozměr: px
Začít zobrazení ze stránky:

Download "4 Datové struktury. Datové struktury. Zobrazení dat v počítači"

Transkript

1 4 Datové struktury Zobrazení dat v počítači Každá hodnota v paměti počítače je zakódovaná do posloupnosti bitů. Využívá se přitom dvojková (binární) soustava, která používá dva znaky, 1 (nebo I ) a 0, k vyjádření dvou možných stavů, ve kterých se mohou nacházet příslušné paměťové nebo počítací obvody počítače. Dvojková číslice, jako nejmenší zobrazitelná jednotka informace, jako jedna ze dvou možností, se nazývá bit (binary digit). Bit je technicky vyjádřen dvěma různými úrovněmi napětí (výskyt nebo absence impulsu), či jako různé hodnoty magnetizace na magnetických médiích. Pro kódování základní sady znaků v počítači se bity seskupují do vyšší jednotky, zvané byte. Byte je nejmenší adresovatelná jednotka paměti. Každý byte je označen pořadovým číslem (adresa bytu). 1 byte = 8 bitů = 1 znak Těchto 8 bitů dává 256 možných kombinací nul a jedniček, které se používají ke kódování znaků. Vzniká tak 8bitový znakový kód. Kombinace 8 bitů (v jednom bytu) jsou očíslovány od 0 do 255 (celkem 256 kombinací), seřazeny do tzv. ASCII tabulky (American Standard Code for Information Interchange) a je jim přiřazen význam (znak). Znaky ASCII tabulky: 0-31 speciální znaky, neviditelné, např. ovládání periferií (např. znak s kódem 10 je přiřazen příkazu přechodu na novou řádku) anglická abeceda, číslice prostor pro tzv. národní abecedy s odlišnými znaky, např. znakové sady LATIN2, ISO 1250, Windows CE pro jazyky střední a východní Evropy. Obdobný znakový kód u sálových počítačů (mainframes) se nazýval EBCDIC (Extended Binary Coded Decimal Interchange Code). Tyto dva znakové kódy byly nekompatibilní, tzn. přenos dat mezi těmito dvěma typy počítačů - PC a sálovými - nebyl možný bez speciálního hardwaru a softwaru. Ani standardní kód ASCII není ustálen v oblasti , kde jsou právě znaky národních abeced. 95

2 Příklad na odlišnost obou kódů: Písmeno A v ASCII v EBCDIC V bytech a vyšších jednotkách se měří kapacita vnitřní paměti a paměťových médií. Vyšší jednotky než byte jsou: KB kilobyte = 210 bytů (1024 bytů) MB megabyte = 220 bytů ( bytů) GB gigabyte = 230 bytů (1, bytů) TB terabyte = 240 bytů (1, bytů) Pomocí bytů se dál tvoří různě dlouhá slova, 2, 4, 8 bytů, která se zpracovávají jako celek a mohou obsahovat číslo, text nebo instrukci strojového kódu. Unicode Od roku 1991 prosazuje a vyvíjí Unicode Consorcium šestnáctibitové kódování pro znaky všech hlavních světových jazyků. Prakticky se zde projevuje vliv Internetu a potřeba volné elektronické výměny dokumentů bez závislosti na zdrojovém nebo cílovém prostředí. Unicode je šestnáctibitová kódovací tabulka, konstantní šířky, která vychází z ASCII. Zahrnuje znaků světových abeced, jako je např. ruština, arabština, anglosaština, řečtina, hebrejština, Thai a Sanskrit. Podmnožina Han představuje národní a průmyslové standardy Číny, Japonska, Korey a Tajwanu znaků je vyhrazeno pro potřeby aplikací. Nevýhody kódování v Unicode jsou dvojnásobná délka textu než při osmibitovém kódování, fonty (sady znaků) obsahují 256 krát více znaků než osmibitové sady a problematická bude i kompatibilita s osmibitovým prostředím, některé programové kódy by se musely od základů přepsat. Standard ISO/IEC Tento znakový kód o šířce 4 byty může kódovat přes 2 miliardy znaků. Představuje snad již konečné schéma pro všechny možné znaky. Skládá se z řady kódovacích schémat. Schémata UCS (Universal Character Set) používají pevný počet bytů pro reprezentaci každého znaku: UCS-2 2-bytové schéma UCS-4 4-bytové schéma 96

3 Kódování češtiny Kódových tabulek pro češtinu vzniklo hned několik a různě se označují. Existují tabulky prakticky pro každou platformu (operační systém) a navíc se v našem prostředí uchytil kód bratří Kamenických v době, kdy se tyto standardy teprve tvořily. Kódové tabulky: PC LATIN2 (CP 852) kód Kamenických tabulka pro MS DOS alternativa pro MS DOS, (KEYBCS2, CP 895) ISO LATIN2 (ISO ) norma ISO (podle IBM i CP 912) standard pro UNIX a pro Internet MS Windows (CP 1250) vznikla z ISO záměnou několika znaků Poznámka: CP - code page (kódová stránka). 4.1 Způsoby uložení čísel v počítači Čísla, se kterými probíhají výpočty, nejsou takto dvojkově kódována, používá se jiný způsob uložení, který se ještě liší podle typu číselné hodnoty. S určitým typem hodnot bývají pak spjaty určité typy operací. Je třeba minimálně rozlišovat čísla celá (čísla typu integer) a čísla reálná (čísla typu real), dále ještě čísla s větším počtem platných číslic, pro jejichž uložení se volí tzv. dvojnásobná délka slova (double precision). Celá a reálná čísla jsou zcela odlišně zobrazena a základní operace s nimi jsou prováděny různými algoritmy, přesto, že je vyjadřujeme stejným znakem. Reálná čísla jsou zobrazena zaokrouhleně, přesnost se udává počtem platných cifer. Každé reálné číslo je totiž reprezentantem celého intervalu blízkých reálných čísel, kterých je v každém intervalu nekonečně mnoho. Výpočty s některými z nich (např. s iracionálními čísly) jsou zatíženy chybou v důsledku omezeného počtu platných číslic. Čísla celá se ukládají binárně v tzv. pevné řádové čárce. Detailněji viz dále u jednoduchých typů dat. Čísla desetinná jsou uložena v pohyblivé řádové čárce, (tzv. plovoucí čárka - floating point) ve formě mantisa a exponent. Mantisa je upravena tak, že její první platná číslice je hned za desetinnou (řádovou) čárkou a v souvislosti s posunem řádové čárky dojde k odpovídající změně exponentu, která tento posun vyrovná. Číslo 725 lze tedy vyjádřit jako kde uložené číslice mantisy jsou 725 a exponent je 3. Mantisa je vyjadřována pomocí 24 bitů (3 byty), což zobrazí až 7 platných desítkových cifer (24 bitů = 6 hexadecimálních symbolů) Šestnáctková soustava Kromě dvojkové číselné soustavy se využívá též soustava šestnáctková (hexadecimální) pro zkrácené vyjádření čtveřic bitů jedním šestnáctkovým symbolem. 97

4 Znaky šestnáctkové soustavy jsou spolu s desítkovým a binárním ekvivalentem uvedeny v následující tabulce: BIN HEX DEC BIN HEX DEC BIN HEX DEC BIN HEX DEC (0) (4) (8) 1100 C (12) (1) (5) (9) 1101 D (13) (2) (6) 1010 A (10) 1110 E (14) (3) (7) 1011 B (11) 1111 F (15) (třetí sloupec obsahuje desítkový ekvivalent čtveřic bitů, tj. jednoho šestnáctkového symbolu) písmena A - F nahrazují dvojciferné číslice neboť kombinací je 2 4 t.j. celkem 16 (s hodnotou 0-15). Základ hexadecimální soustavy je 16. Čím vyšší je základ používané číselné soustavy, tím méně znaků potřebujeme k vyjádření ekvivalentní desítkové hodnoty a naopak (viz dlouhé řetězce nul a jedniček v soustavě dvojkové - např. desítkové číslo je hexadecimálně vyjádřeno pouze čtyřmi znaky - 7FF9, ale dvojkově pomocí šestnácti znaků ) Převody mezi číselnými soustavami Číselné soustavy používané pro zobrazování v počítači patří mezi soustavy poziční, tj. desítková hodnota každé číslice (znaku) závisí na její pozici vzhledem k řádové čárce. Váhy v jednotlivých pozicích jsou mocniny základu soustavy. U desítkové soustavy jsou to mocniny 10. Desítkové číslo 725 lze tedy pomocí vah rozložit takto: Podobně postupujeme u čísel vyjádřených ve dvojkové nebo šestnáctkové soustavě, (nebo kterékoliv jiné soustavě) chceme-li zjistit jejich desítkový ekvivalent. Mocniny základu dvojkové soustavy atd Příklady: Převod z dvojkové do desítkové soustavy (2) = =87 (10) Převod z šestnáctkové do desítkové soustavy B5 (16) = = 181 (10) 98

5 U opačných převodů z desítkové soustavy do jiné musíme zjistit, která nejvyšší mocnina základu té soustavy, do níž převádíme, je v desítkovém čísle obsažena, eventuelně kolikrát, jde-li o soustavy s vyšším základem než 2. Pak je třeba zapsat v příslušné pozici zbytek po odečtení mocniny od převáděného čísla (či po odečtení násobku mocniny)a celý postup opakovat pro výsledek (rozdíl). Obvykle se používá mechanický postup dělení čísla základem soustavy a zaznamenávání zbytků (u hexadecimální soustavy můžeme dostat možné hodnoty u zbytku 1-15, nebo-li 1 - F). Zbytky zapisujeme od konce, tj. od nejnižšího řádu výsledné převedené hodnoty. Dílčí výsledky opět dělíme základem soustavy a výsledek posledního dělení je číslice (příp. znak) nejvyššího řádu. Příklady: Převod z desítkové do dvojkové soustavy 87:2 = 43 zbytek 1 43:2 = :2 = (10) = (2) 10:2 = :2 = :2 = jednička nejvyššího řádu zbývá nakonec Převod z desítkové do šestnáctkové soustavy 181:16 = 11 zbytek (10) = B5 (16) Všimněte si, že pro záznam třímístného desítkového čísla 181 stačí dva hexadecimální znaky, z nichž každý se převede na čtveřici bitů. Převody mezi hexadecimální a dvojkovou soustavou Každý hexadecimální znak se vyjádří pomocí čtyř bitů a naopak. B5 (16) = (2) ( = 181 (10) ) (2) = 57 (16) ( = 87 (10) ) 4.2 Koncepce datových typů Množina dat, s níž pracujeme v programu, reprezentuje určitou realitu, je abstrakcí reality. Volba reprezentace dat je někdy obtížná, není vždy jednoznačně určena vlastnostmi počítače. Je třeba brát v úvahu operace, které se budou nad daty provádět. Vyšší programovací 99

6 jazyky dodržují většinou princip, že každá konstanta, proměnná, funkce i výraz jsou určitého typu (ale LISP, Smalltalk např. typy nemají). Konstanty, proměnné a funkce jsou tzv. datové objekty. Typ je množina hodnot kam konstanta patří, nebo, v případě proměnné, kterých může proměnná nabýt, kterých může nabýt výraz (složený z konstant, proměnných a operací a po vyhodnocení představující též jednu hodnotu), či které může generovat funkce (podprogram, který po vyvolání dodává do volajícího programu též hodnotu určitého typu). Typ se obvykle explicitně uvádí před použitím příslušného datového objektu v programu, označuje se to jako deklarace typu. Kompilátor pak podle deklarace volí vnitřní reprezentaci datového objektu v paměti, např. uložení v pohyblivé řádové čárce u čísel typu real. S určitými typy dat vždy souvisí určité operace, které se nad nimi provádějí. U datového objektu celé číslo jsou jen určité operace, které s ním lze provádět - sčítání, odčítání, násobení, celočíselné dělení (s potlačením zbytku) a operace pro získání zbytku po celočíselném dělení. Nad hodnotami logického typu jsou definovány operace konjunkce (logický součin), disjunkce (logický součet) a negace. Všechny výrazy relační (kde dochází k porovnávání numerických, ale i textových hodnot) mají výsledek logického typu. Tato deklarace typu dat je jakýsi prostředek pro udržení pořádku v datech. Při překladu programu překladač kontroluje, zda data a operace, které s nimi chceme provádět, patří k sobě. Tato typová kontrola je v různých jazycích různá. Některé datové typy jsou v programovacích jazycích předem definovány, jsou to tzv. standardní datové typy. Překladač je zná a stejně tak operace, které se s nimi mohou provádět. V jiných jazycích si programátor definuje typy podle své potřeby (v objektově orientovaných jazycích). Nový datový typ se definuje pomocí již dříve definovaných tzv. konstitučních typů. Je -li složen z hodnot téhož konstitučního typu, říká se mu bázový typ. 4.3 Standardní jednoduché typy dat integer - celočíselné hodnoty real (též float, double) - reálná čísla boolean (logical) - logické hodnoty, bývají označovány Ano/Ne, nebo True/False char - jednoznakové proměnné (character - znak) string - textové (znakové) řetězce Vnitřní reprezentace hodnot typu integer Tyto hodnoty zaujímají pevný počet bitů (standardně 16, 32, tj. 2 nebo 4 byty). Zobrazí se tak přirozená čísla z intervalu , tj. M=2 n různých hodnot. Při n=16 je M nejvyšší možné celé číslo Všechna čísla se pak převádějí na přirozená (celá, kladná) čísla z tohoto intervalu transformací. 100

7 Jsou různé způsoby transformace, např.: kód s posunutou nulou (polovina možného rozsahu hodnot zastupuje nulu) x = x+m/2 x - transformované číslo M= 2 n n=16 x - zobrazované číslo přímý kód (první, nejvyšší bit určen pro znaménko, zbývá polovina možných kombinací z 2 16 ) x = x pro x>0 x = M/2-x pro x<=0 doplňkový kód x = x pro x>=0 x = x+m pro x<0 Následující příklad ukazuje zakódovanou hodnotu +5 a -5 pro uvedené druhy tranformací a rozsahy uvedených kódování pro případ 16 bitového slova (65536 kombinací bitů). Poznámka: v paměti PC s procesorem Intel se na nižší adresu (1. byte) ukládají bity 0-7 a na vyšší adresu ( 2. byte) bity přímý kód přímý se znam. hodnota +5 hodnota -5 největší možné kladné číslo nelze bitem kód s posunutou nulou doplňkový kód nejmenší možné záporné číslo nelze Vnitřní reprezentace hodnot typu real Číslo typu real obsazuje standardně 4 nebo 8 bytů v paměti. Délka 8 bytů je to v případě, požadujeme-li větší přesnost při výpočtech (více než 7 číslic). 101

8 1. byte 2.byte 3. byte 4. byte + - mantisa 6 hexadecimálních znaků = přesnost 7 dekadických míst exponent v kódu s posunutou nulou 1.bit = znaménko čísla Obr. 4.1 Zobrazení čísla typu real na slově o standardní délce 4 byty Typ char S typem char (viz výše) bývají zavedeny následující funkce: 1. transformuje znak na pořadové číslo, které příslušný znak má v množině znaků, která připadá v úvahu, tj. v ASCII tabulce. 2. naopak transformuje číslo na znak s tímtéž pořadovým číslem Typ boolean Hodnoty logického typu zaujímají v paměti 1 byte přesto, že by měl stačit 1 bit. Byte je však základní adresovatelná jednotka paměti. Ukládají se hodnoty 1 pro true, 0 pro false Definované typy dat Je to např. typ definovaný výčtem - pro nečíselné údaje, které by bylo jinak třeba vyjádřit kódem (podle číselníku). V definici se vyjmenuje množina všech uvažovaných hodnot (maximálně 256 položek, ukládají se do jednoho bytu), např.: typ den=(pondělí, úterý, středa, čtvrtek, pátek, sobota, neděle) den je jméno typu v závorce jsou jména hodnot, která pak mohou být použita jako konstanty v programu S:= středa přiřazovací příkaz proměnná S musí být typu den, příkazem získává hodnotu středa. 102

9 4.4 Strukturované typy dat Jsou složené z prvků, s nimž lze manipulovat se všemi najednou. Strukturovaný typ charakterizuje: typ struktury (rozlišujeme homogenní a heterogenní struktury) uspořádání prvků (statické, dynamické struktury) označení prvků (jednotlivé prvky se stejným názvem jsou rozlišeny pomocí indexů počet indexů = počet rozměrů pole) typ prvků (jednoduché, strukturované typy) operace s prvky Homogenní struktura má komponenty téhož typu, na rozdíl od struktury heterogenní. Nemůže-li měnit datová struktura počet svých prvků ani jejich uspořádání během práce s nimi (během výpočtu), je to struktura statická. V opačném případě je dynamická. Zvláštní případy strukturovaných dat jsou objekty Typ pole Pole je homogenní, statická (v některých jazycích může být i dynamická ) struktura, se všemi komponenty téhož, kteréhokoliv definovaného typu. Pole může být: jednorozměrné (vektor) dvourozměrné (matice) vícerozměrné (např. kubická matice). Prvky pole jsou označovány: 1. jménem pole 2. pořadovým číslem v poli - indexem Př.: A(5) identifikuje pátý prvek vektoru s názvem (identifikátorem) A B(3,2) druhý prvek ve třetím řádku matice s názvem B Celkový, případně maximální počet prvků pole musí být v případě statického pole předem deklarován. Stejně tak se deklaruje počet prvků dynamického pole vždy před jeho použitím. Musíme mít na paměti to, že např. pravoúhlé uspořádání prvků matice, jak je v našich představách neodpovídá skutečné reprezentaci matice v paměti počítače, protože se skutečné uložení do paměti počítače musí řídit jinými pravidly Typ záznam (synonyma record, věta) Záznam je statická struktura, může být heterogenní, t.j. komponenty nemusí být téhož typu. Prvky v jednom záznamu jsou označeny: 1. jménem záznamu 103

10 2. identifikátorem položky Např. osoba. jméno označuje hodnotu položky jméno u záznamu osoba Záznam se používá jako konstituční typ (typ tvořící prvky) jiných datových struktur - zejména souboru, pole Typ množina (set) Množina jako interní datový formát je statická, homogenní struktura. Na rozdíl od pole nedovoluje přístup na položky pomocí indexu, protože ukládá pouze informace o jejich existenci nebo neexistenci v dané množině (bitové pole). Přípustné operace s množinami jsou v různých programovacích jazycích standardně přidání prvku do množiny (kteréhokoliv - ne jako u zásobníku nebo fronty), odebrání prvku z množiny, sjednocení množin, průnik a rozdíl množin Typ stream (soubor) Dynamická homogenní struktura. Stream je datový typ nejčastěji přiřazovaný k souborům v diskové paměti. Dynamické struktury vyžadují dynamické přidělování paměti, neboť velikost paměti pro jejich reprezentaci není v době překladu známá a může se v průběhu zpracování programu měnit. Není zde tedy přesně předem definovaná délka (počet prvků) jako tomu bylo u pole. Přístupný je vždy právě jeden prvek určený polohou vhodného ukazatele (přístupové proměnné). Jsou definovány operace: vkládání (zápis) prvku do souboru výběr (čtení) prvku ze souboru. 4.5 Abstraktní datové typy Moderní jazyky mohou ze své škály standardních strukturovaných datových typů definovat nový typ, který vyhovuje určité představě při řešení konkretní úlohy. Tento přístup - používání abstrakce - pracuje s obecným, zjednodušeným modelem struktury a realizuje ho programově. Abstraktní řídící struktury programu (sekvence, větvení a cyklus) umožnily kdysi v programování odpoutat se od úrovně strojových instrukcí a konkrétní podobu strojového kódu ponechat na starost překladači. Stejně tak i v případě abstraktních datových struktur se abstrahuje od toho, jak jsou data fyzicky uložena. Zejména v počáteční fázi návrhu programu nás nezajímá realizace použité datové struktury v počítači, neboli detaily tzv. implementace. Teprve později, při volbě jazyka, bude důležité jakými strukturami jazyka budeme abstraktní datovou strukturu reprezentovat a jak s ní budeme manipulovat. Nové datové struktury definované pomocí dříve definovaných struktur jazyka umožňují uplatňovat nové efektivnější algoritmy. 104

11 Implementace pak znamená realizaci datové, ale i řídící struktury (programu) na úrovni jazyka, reálnými prostředky daného počítače. Nejdříve se zvolí struktury pro reprezentaci abstraktní datové stuktury (častým prostředkem pro vytváření takové struktury je např. pole) a pak se navrhují algoritmy pro manipulaci s nimi (procedury) Lineární abstraktní datové struktury Seznam Seznam je lineární, homogenní, dynamická datová struktura, představovaná posloupností prvků vytvářejících seznam. Uplatňuje se zejména v oblasti nenumerického zpracování. Lineárnost znamená, že ke každému prvku existuje nejvýše jeden bezprostředně následující prvek. Všechny prvky struktury jsou na stejné úrovni, bez vztahu nadřazenosti a podřazenosti. Seznam je buď jednosměrný - prvky v paměti jsou propojeny v jednom směru, nebo obousměrný - prvky jsou propojeny v obou směrech ( mohou se přidat i operace inverzní). Dále může být seznam aktivní - obsahuje jeden prvek, který je aktivní - nebo neaktivní - neobsahuje žádný aktivní prvek. Typické operace se seznamem mohou být: vytvoření prázdného seznamu první prvek seznamu nastaven jako aktivní získání hodnoty aktivního prvku vložení prvku na začátek seznamu dotaz, zda seznam obsahuje aktivní prvek atd. Některé vyšší operace nad seznamy: sloučení dvou nebo více seznamů do jednoho rozdělení jednoho seznamu na dva nebo více zjištění počtu prvků seznamu atd. Obr. 4.2 Jednosměrný seznam 105

12 Obr. 4.3 Obousměrný seznam Zásobník Zásobník je lineární, homogenní, dynamický typ. Tato struktura bývá někdy označována LIFO (Last In First Out), neboť manipuluje s prvky na jednom konci lineární struktury. Implementovat se dá i pomocí statického jednorozměrného pole nebo pomocí lineárního seznamu. Charakteristické operace: vytvoření prázdného zásobníku vložení nového prvku na vrchol zásobníku získání hodnoty prvku na vrcholu zrušení prvku na vrcholu atd. Obr. 4.4 Princip zásobníku Fronta (queue) Fronta je též lineární, homogenní, dynamický typ, označovaný jako FIFO (First In First Out). Manipuluje s prvky na obou koncích lineární struktury. Na jednom konci se prvky vkládají, na druhém získávají. Příklady operací: vytvoření prázdné fronty vložení nového prvku na konec fronty získání prvku na začátku fronty odstranění prvku ze začátku fronty atd. 106

13 Obr. 4.5 Princip fronty Nelineární abstraktní datové struktury Nelineární struktura umožňuje vyjádřit hierarchické vztahy mezi prvky. Tabulka Tabulka je homogenní, dynamická, nelineární struktura, jejíž funkce i operace jsou odvozeny od objektu odpovídajícímu v reálném světě pojmu "kartotéka". Každá položka tabulky (entita v řádku tabulky) je jednoznačně identifikovaná tzv. klíčem, který slouží jako vyhledávací kriterium a s nímž v podstatě pracují všechny operace nad tabulkou. Řádky tabulky tvoří charakteristiky příslušné entity sledované v tabulce. Hodnoty klíče v tabulce jsou navzájem různé, neopakují se. Na práci s tabulkami jsou založeny relační databázové systémy, podrobněji viz příslušná kapitola druhého dílu skript. Graf Graf je obecná nelineární struktura, která pracuje s hranami a uzly. Z jedné části grafu do druhé lze přecházet po specifikované cestě, což je posloupnost uzlů, mezi kterými existují hrany, vztahy (viz cesta tvořená seznamem adresářů a podadresářů). Pokud cesta začíná a končí na stejném uzlu, tvoří cyklus. Graf může být neorientovaný a orientovaný, kdy jeho hrany (spojnice) mají přiřazenou orientaci. Tím se dá vyjádřit hierarchický způsob uspořádání uzlů (dat), nebo postup jejich zpracování. Orientovaný graf může reprezentovat i program, kde jednotlivé příkazy jsou uzly. Zvláštním případem orientovaného grafu je seznam (jednosměrný). Acyklický graf se nazývá strom. Opět je na místě připomenout stromovou strukturu adresářů. Orientovaný strom je kořenový strom. Má tři typy uzlů: kořen (root), nevstupuje do něj žádná hrana, vystupovat může jedna nebo více hran, představuje nejvyšší úroveň struktury (např. hlavní adresář disku) koncové uzly (listy), hrany do nich vstupují, ale žádná nevystupuje, jde o hierarchicky nejnižší úroveň ostatní (běžné) uzly, mají jednu vstupní a jednu nebo více výstupních hran. Jedna vstupní hrana uzlu znamená, že je uzel prvkem vyšší, nadřazené úrovně, výstupní hrany znamenají, že se dále člení. Prvek nadřazené úrovně se také nazývá rodič (předek). Žádný prvek této struktury nemá víc než jednoho rodiče. Uzlů na nižší úrovni, ke kterým má prvek vztah, může být více a nazývají se děti (potomci). 107

14 Speciální případ orientovaného grafu je binární strom. Počet hran vystupujících z uzlu je omezen na maximálně dvě. Binární strom se využívá v některých algoritmech, např. při vyhledávání hodnoty v řadě hodnot půlením intervalu seřazených hodnot. Obr. 4.6 Binární strom Literatura: [1] J. Honzík: Programovací techniky,

15 4 Datové struktury Zobrazení dat v počítači Způsoby uložení čísel v počítači Šestnáctková soustava Převody mezi číselnými soustavami Koncepce datových typů Standardní jednoduché typy dat Vnitřní reprezentace hodnot typu integer Vnitřní reprezentace hodnot typu real Typ char Typ boolean Definované typy dat Strukturované typy dat Typ pole Typ záznam (synonyma record, věta) Typ množina (set) Typ stream (soubor) Abstraktní datové typy Lineární abstraktní datové struktury Seznam Zásobník Fronta (queue) Nelineární abstraktní datové struktury Tabulka Graf

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty Data v počítači Informační data (elementární datové typy) Logické hodnoty Znaky Čísla v pevné řádové čárce (celá čísla) v pohyblivé (plovoucí) řád. čárce (reálná čísla) Povelová data (instrukce programu)

Více

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy: Číselné soustavy Ve světě počítačů se využívají tři základní soustavy: dekadická binární hexadecimální patří mezi soustavy poziční, tj. desítková hodnota každé číslice (znaku) závisí na její pozici vzhledem

Více

3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5

3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače... 3. 4 Problémy s matematickými operacemi 5 Obsah Obsah 1 Číselné soustavy 1 2 Paměť počítače 1 2.1 Měření objemu paměti počítače................... 1 3 Jednoduché datové typy 2 3.1 Interpretace čísel v paměti počítače................. 3 4 Problémy

Více

Informatika Datové formáty

Informatika Datové formáty Informatika Datové formáty Radim Farana Podklady předmětu Informatika pro akademický rok 2007/2008 Obsah Datové formáty (datové typy). Textové formáty, vlastnosti zdroje zpráv. Číselné formáty, číselné

Více

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Reprezentace dat v informačních systémech. Jaroslav Šmarda Reprezentace dat v informačních systémech Jaroslav Šmarda Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník,

Více

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

Datové typy a struktury

Datové typy a struktury atové typy a struktury Jednoduché datové typy oolean = logická hodnota (true / false) K uložení stačí 1 bit často celé slovo (1 byte) haracter = znak Pro 8-bitový SII kód stačí 1 byte (256 možností) Pro

Více

Algoritmy a datové struktury

Algoritmy a datové struktury Algoritmy a datové struktury Data a datové typy 1 / 28 Obsah přednášky Základní datové typy Celá čísla Reálná čísla Znaky 2 / 28 Organizace dat Výběr vhodné datvé struktry různá paměťová náročnost různá

Více

ČÍSELNÉ SOUSTAVY PŘEVODY

ČÍSELNÉ SOUSTAVY PŘEVODY ČÍSELNÉ SOUSTAVY V každodenním životě je soustava desítková (decimální, dekadická) o základu Z=10. Tato soustava používá číslice 0, 1, 2, 3, 4, 5, 6, 7, 8 a 9, není však vhodná pro počítače nebo číslicové

Více

Základní jednotky používané ve výpočetní technice

Základní jednotky používané ve výpočetní technice Základní jednotky používané ve výpočetní technice Nejmenší jednotkou informace je bit [b], který může nabývat pouze dvou hodnot 1/0 (ano/ne, true/false). Tato jednotka není dostatečná pro praktické použití,

Více

Principy počítačů I Reprezentace dat

Principy počítačů I Reprezentace dat Principy počítačů I Reprezentace dat snímek 1 Principy počítačů Část III Reprezentace dat VJJ 1 snímek 2 Symbolika musí být srozumitelná pro stroj, snadno reprezentovatelná pomocí fyzikálních veličin vhodně

Více

ADT/ADS = abstraktní datové typy / struktury

ADT/ADS = abstraktní datové typy / struktury DT = datové typy obor hodnot, které může proměnná nabývat, s operacemi na tomto oboru určen: obor hodnot + výpočetní operace např. INT = { 2 147 483 648 až +2 147 483 647} + {+,,*,/,} ADT/ADS = abstraktní

Více

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu 1 Podklady předmětu pro akademický rok 2006/2007 Radim Farana Obsah 2 Obsah předmětu, Požadavky kreditového systému, Datové typy jednoduché, složené, Programové struktury, Předávání dat. Obsah předmětu

Více

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh INOVACE BAKALÁŘSKÝCH A MAGISTERSKÝCH STUDIJNÍCH OBORŮ NA HORNICKO-GEOLOGICKÉ FAKULTĚ VYSOKÉ ŠKOLY BÁŇSKÉ - TECHNICKÉ UNIVERZITY OSTRAVA Algoritmizace prostorových úloh Datové struktury Daniela Szturcová

Více

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy

Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Ústav radioelektroniky Vysoké učení technické v Brně Číselné soustavy v mikroprocesorové technice Mikroprocesorová technika a embedded systémy Přednáška 8 doc. Ing. Tomáš Frýza, Ph.D. listopad 2012 Obsah

Více

Elementární datové typy

Elementární datové typy Elementární datové typy Celočíselné typy (integers) Mohou nabývat množiny hodnot, která je podmnožinou celých čísel (někdy existuje implementační konstanta maxint). Operace: aritmetické, relační, bitové,

Více

Číselné soustavy. Binární číselná soustava

Číselné soustavy. Binární číselná soustava 12. Číselné soustavy, binární číselná soustava. Kódování informací, binární váhový kód, kódování záporných čísel. Standardní jednoduché datové typy s pevnou a s pohyblivou řádovou tečkou. Základní strukturované

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 04. Datové typy, operace, logické operátory Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4 Uložení dat v počítači Data = užitečné, zpracovávané informace Kódování (formát) dat = způsob uložení v počítači (nutno vše převést na čísla ve dvojkové soustavě) Příklady kódování dat Text každému znaku

Více

Programovací jazyk Pascal

Programovací jazyk Pascal Programovací jazyk Pascal Syntaktická pravidla (syntaxe jazyka) přesná pravidla pro zápis příkazů Sémantická pravidla (sémantika jazyka) pravidla, která každému příkazu přiřadí přesný význam Všechny konstrukce

Více

Mikroprocesorová technika (BMPT)

Mikroprocesorová technika (BMPT) Mikroprocesorová technika (BMPT) Přednáška č. 10 Číselné soustavy v mikroprocesorové technice Ing. Tomáš Frýza, Ph.D. Obsah přednášky Číselné soustavy v mikroprocesorové technice Dekadická, binární, hexadecimální

Více

Struktura a architektura počítačů (BI-SAP) 5

Struktura a architektura počítačů (BI-SAP) 5 Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Struktura a architektura počítačů (BI-SAP) 5 doc. Ing. Hana Kubátová, CSc. Katedra číslicového návrhu Fakulta informačních technologii

Více

Číselné soustavy a převody mezi nimi

Číselné soustavy a převody mezi nimi Číselné soustavy a převody mezi nimi Základní požadavek na počítač je schopnost zobrazovat a pamatovat si čísla a provádět operace s těmito čísly. Čísla mohou být zobrazena v různých číselných soustavách.

Více

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných

PJC Cvičení #2. Číselné soustavy a binární reprezentace proměnných PJC Cvičení #2 Číselné soustavy a binární reprezentace proměnných Číselné soustavy Desítková (decimální) kdo nezná, tak...!!! Dvojková (binární) - nejjednodušší Šestnáctková (hexadecimální) - nejpoužívanější

Více

Paměť počítače. alg2 1

Paměť počítače. alg2 1 Paměť počítače Výpočetní proces je posloupnost akcí nad daty uloženými v paměti počítače Data jsou v paměti reprezentována posloupnostmi bitů (bit = 0 nebo 1) Připomeňme: paměť je tvořena řadou 8-mi bitových

Více

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5 Obsah Obsah 1 Programovací jazyk Pascal 1 1.1 Struktura programu v Pascalu.................... 1 2 Proměnné 2 2.1 Vstup a výstup............................ 3 3 Operátory a některé matematické funkce 5

Více

Fz =a z + a z +...+a z +a z =

Fz =a z + a z +...+a z +a z = Polyadické číselné soustavy - převody M-místná skupina prvků se z-stavovou abecedou umožňuje zobrazit z m čísel. Zjistíme, že stačí vhodně zvolit číslo m, abychom mohli zobrazit libovolné číslo menší než

Více

Čísla a číselné soustavy.

Čísla a číselné soustavy. Čísla a číselné soustavy. Polyadické soustavy. Převody mezi soustavami. Reprezentace čísel. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK.

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Výrazy Operátory Výrazy Verze pro akademický rok 2012/2013 1 Operace, operátory Unární jeden operand, operátor se zapisuje ve většině případů před operand, v některých případech

Více

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Maturitní otázky z předmětu PROGRAMOVÁNÍ Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace Maturitní otázky z předmětu PROGRAMOVÁNÍ 1. Algoritmus a jeho vlastnosti algoritmus a jeho vlastnosti, formy zápisu algoritmu ověřování správnosti

Více

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy Úvod do programování Michal Krátký 1,Jiří Dvorský 1 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programování, 2004/2005 Procesor Procesorem je objekt, který vykonává algoritmem popisovanou

Více

Ing. Igor Kopetschke TUL, NTI

Ing. Igor Kopetschke TUL, NTI ALGORITMY A DATOVÉ STRUKTURY 1. Organizace dat v paměti, datové typy Ing. Igor Kopetschke TUL, NTI http://www.nti.tul.cz Jednotlivé body Ukládání a a organizace dat Vnitřní paměť Vnější paměť Přístup k

Více

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické

Java reprezentace dat, výrazy. A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Java reprezentace dat, výrazy A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické Dva základní přístupy k imperativnímu programování Strukturované procedurální Objektové V PR1

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Typy Základní (primitivní) datové typy Deklarace Verze pro akademický rok 2012/2013 1 Typy v jazyce Java Základní datové typy (primitivní datové typy) Celočíselné byte, short,

Více

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky Vyučovací hodina 1vyučovací hodina: Opakování z minulé hodiny Nová látka Procvičení nové látky Shrnutí 5 min 20 min 15 min 5 min 2vyučovací hodiny: Opakování z minulé hodiny Nová látka Procvičení nové

Více

Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD.

Principy počítačů. Prof. RNDr. Peter Mikulecký, PhD. Principy počítačů Prof. RNDr. Peter Mikulecký, PhD. Číselné soustavy Obsah přednášky: Přednáška 3 Číselné soustavy a převody mezi nimi Kódy, přímý, inverzní a doplňkový kód Znakové sady Úvod Člověk se

Více

Informační a komunikační technologie

Informační a komunikační technologie Informační a komunikační technologie 2. www.isspolygr.cz Vytvořil: Ing. David Adamovský Strana: 1 Škola Integrovaná střední škola polygrafická Ročník Název projektu 1. ročník SOŠ Interaktivní metody zdokonalující

Více

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284

Více

Kódováni dat. Kódy používané pro strojové operace

Kódováni dat. Kódy používané pro strojové operace Kódováni dat Před zpracováním dat například v počítači je třeba znaky převést do tvaru, kterému počítač rozumí, tj. přiřadit jim určité kombinace bitů. Tomuto převodu se říká kódování. Kód je předpis pro

Více

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně

Čísla v plovoucířádovéčárce. INP 2008 FIT VUT v Brně Čísla v plovoucířádovéčárce INP 2008 FIT VUT v Brně Čísla v pevné vs plovoucí řádové čárce Pevnářádováčárka FX bez desetinné části (8 bitů) Přímý kód: 0 až 255 Doplňkový kód: -128 až 127 aj. s desetinnou

Více

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody.

Y36SAP. Osnova. Číselné soustavy a kódy, převody, aritmetické operace Y36SAP Poziční číselné soustavy a převody. Y36SAP Číselné soustavy a kódy, převody, aritmetické operace Tomáš Brabec, Miroslav Skrbek - X36SKD-cvičení. Úpravy pro SAP Hana Kubátová Osnova Poziční číselné soustavy a převody Dvojková soust., převod

Více

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu: Čtvrtek 8 prosince Pascal - opakování základů Struktura programu: 1 hlavička obsahuje název programu, použité programové jednotky (knihovny), definice konstant, deklarace proměnných, všechny použité procedury

Více

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů. Základní symboly - písmena A B C Y Z a b c y z - číslice 0 1 2 9 - speciální symboly + - * / =., < > = a další - klíčová slova and array begin case const a další Klíčová slova jsou chráněnými útvary,

Více

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT

Dnešní téma. Oblasti standardizace v ICT. Oblasti standardizace v ICT. Oblasti standardizace v ICT Dnešní téma Oblasti standardizace v ICT Případové studie standardizace v ICT: 1) Znakové sady 2) Jazyk 1. technická infrastruktura transfer a komunikace informací, přístup k informacím, sdílení zdrojů

Více

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0 Číselné soustavy Cílem této kapitoly je sezn{mit se se z{kladními jednotkami používanými ve výpočetní technice. Poznat číselné soustavy, kódy a naučit se převody mezi číselnými soustavami. Klíčové pojmy:

Více

C2115 Praktický úvod do superpočítání

C2115 Praktický úvod do superpočítání C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137

Více

PB002 Základy informačních technologií

PB002 Základy informačních technologií Operační systémy 25. září 2012 Struktura přednašky 1 Číselné soustavy 2 Reprezentace čísel 3 Operační systémy historie 4 OS - základní složky 5 Procesy Číselné soustavy 1 Dle základu: dvojková, osmičková,

Více

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí. Základní pojmy IT, číselné soustavy, logické funkce Základní pojmy Počítač: Stroj na zpracování informací Informace: 1. data, která se strojově zpracovávají 2. vše co nám nebo něčemu podává (popř. předává)

Více

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15 KAPITOLA 1 Úvod do programo vání v jazyce C++ 17 Základní pojmy 17 Proměnné a konstanty 18 Typy příkazů 18 IDE integrované vývojové

Více

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly

Základní principy zobrazení čísla Celá čísla s pevnou řádovou čárkou Zobrazení reálných čísel Aritmetika s binárními čísly Počítačové systémy Zobrazení čísel v počítači Miroslav Flídr Počítačové systémy LS 2007-1/21- Západočeská univerzita v Plzni Vážený poziční kód Obecný předpis čísla vyjádřeného v pozičním systému: C =

Více

1. Základní pojmy a číselné soustavy

1. Základní pojmy a číselné soustavy 1. Základní pojmy a číselné soustavy 1.1. Základní pojmy Hardware (technické vybavení počítače) Souhrnný název pro veškerá fyzická zařízení, kterými je počítač vybaven. Software (programové vybavení počítače)

Více

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7 Pascal Katedra aplikované kybernetiky Ing. Miroslav Vavroušek Verze 7 Proměnné Proměnná uchovává nějakou informaci potřebnou pro práci programu. Má ve svém oboru platnosti unikátní jméno. (Připadne, musí

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632

Více

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1 24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE

Více

Da D to t v o é v ty t py IB111: Datové typy

Da D to t v o é v ty t py IB111: Datové typy Datové typy IB111: Datové typy Data a algoritmizace jaká data potřebuji pro vyřešení problému? jak budu data reprezentovat? jaké operaci s nimi potřebuji provádět? Navržení práce s daty je velice důležité

Více

2 Ukládání dat do paměti počítače

2 Ukládání dat do paměti počítače Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ..7/../8.8 Cíl Studenti budou umět zapisovat čísla ve dvojkové, osmičkové, desítkové a v šestnáctkové soustavě

Více

ALGORITMIZACE A PROGRAMOVÁNÍ

ALGORITMIZACE A PROGRAMOVÁNÍ Metodický list č. 1 Algoritmus a jeho implementace počítačovým programem Základním cílem tohoto tematického celku je vysvětlení pojmů algoritmus a programová implementace algoritmu. Dále je cílem seznámení

Více

Digitalizace dat metodika

Digitalizace dat metodika Digitalizace dat metodika Digitalizace Jak počítač získá jedničky a nuly, se kterými potom počítá a které je schopen si pamatovat? Pomocí různých přístrojů a zařízení (mikrofon, fotoaparát, skener, kamera,

Více

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Souborové systémy a logická struktura dat (principy, porovnání, příklady). $TECH 13 Str. 1/5 Souborové systémy a logická struktura dat (principy, porovnání, příklady). Vymezení základních pojmů Soubor První definice: označuje pojmenovanou posloupnost bytů uloženou na nějakém

Více

Architektury počítačů a procesorů

Architektury počítačů a procesorů Kapitola 3 Architektury počítačů a procesorů 3.1 Von Neumannova (a harvardská) architektura Von Neumann 1. počítač se skládá z funkčních jednotek - paměť, řadič, aritmetická jednotka, vstupní a výstupní

Více

Architektury počítačů

Architektury počítačů Architektury počítačů IEEE754 České vysoké učení technické, Fakulta elektrotechnická A0M36APO Architektury počítačů Ver.1.20 2014 1 Fractional Binary Numbers (zlomková binární čísla / čísla v pevné řádové

Více

Číselné vyjádření hodnoty. Kolik váží hrouda zlata?

Číselné vyjádření hodnoty. Kolik váží hrouda zlata? Čísla a logika Číselné vyjádření hodnoty Au Kolik váží hrouda zlata? Dekadické vážení Když přidám osmé závaží g, váha se převáží => závaží zase odeberu a začnu přidávat závaží x menší 7 závaží g 2 závaží

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Datové typy a jejich reprezentace v počítači.

Datové typy a jejich reprezentace v počítači. Datové typy a jejich reprezentace v počítači. Celá čísla. Reálná čísla. Semilogaritmický tvar. Komplexní čísla. Řetězce. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie,

Více

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 Úlohy- 2.cvičení 1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) 759 10 b) 2578 10 2. Převeďte dané desetinné číslo do dvojkové soustavy (DEC -> BIN): a) 0,8125 10 b) 0,35 10

Více

Profilová část maturitní zkoušky 2017/2018

Profilová část maturitní zkoušky 2017/2018 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2017/2018 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

Čísla v počítači Výpočetní technika I

Čísla v počítači Výpočetní technika I .. Výpočetní technika I Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně pavel.haluza@mendelu.cz Osnova přednášky ergonomie údržba počítače poziční a nepoziční soustavy převody mezi aritmetické operace

Více

Převody mezi číselnými soustavami

Převody mezi číselnými soustavami Převody mezi číselnými soustavami 1. Převod čísla do dekadické soustavy,kde Z je celé číslo, pro které platí a Řešením je převod pomocí Hornerova schématu Příklad: Převeďte číslo F 3 = 2101 do soustavy

Více

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův Kódy a kódování dat Kódování je proces, při kterém se každému znaku nebo postupnosti znaků daného souboru znaků jednoznačně přiřadí znak nebo postupnost znaků z jiného souboru znaků. Kódování je tedy transformace

Více

PODPROGRAMY PROCEDURY A FUNKCE

PODPROGRAMY PROCEDURY A FUNKCE PODPROGRAMY PROCEDURY A FUNKCE Programy bez podprogramů Příklady: a) Napište program, který na obrazovku nakreslí čáru složenou ze znaků pomlčka. program Cara; b) Napište program, který na obrazovku nakreslí

Více

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku Znaky - standardní typ char var Z, W: char; - znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku - v TP (často i jinde) se používá kódová

Více

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software. Maturitní témata IKT, školní rok 2017/18 1 Struktura osobního počítače Von Neumannova architektura: zakreslete, vysvětlete její smysl a popište, jakým způsobem se od ní běžné počítače odchylují. Osobní

Více

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI EVROPSKÝ SOCIÁLNÍ FOND Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI Úvod do PHP PHP Personal Home Page Hypertext Preprocessor jazyk na tvorbu dokumentů přípona: *.php skript je součást HTML stránky!

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 5 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2015, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto

Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Gymnázium Vysoké Mýto nám. Vaňorného 163, 566 01 Vysoké Mýto Registrační číslo projektu Šablona Autor Název materiálu CZ.1.07/1.5.00/34.0951 III/2 INOVACE A ZKVALITNĚNÍ VÝUKY PROSTŘEDNICTVÍM ICT Mgr. Jana

Více

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0

Nejvyšší řád čísla bit č. 7 bit č. 6 bit č.5 bit č. 4 bit č. 3 bit č. 2 bit č. 1 bit č. 0 Číselné soustavy Cílem této kapitoly je sezn{mit se se z{kladními jednotkami používanými ve výpočetní technice. Poznat číselné soustavy, umět v nich prov{dět z{kladní aritmetické operace a naučit se převody

Více

Profilová část maturitní zkoušky 2013/2014

Profilová část maturitní zkoušky 2013/2014 Střední průmyslová škola, Přerov, Havlíčkova 2 751 52 Přerov Profilová část maturitní zkoušky 2013/2014 TEMATICKÉ OKRUHY A HODNOTÍCÍ KRITÉRIA Studijní obor: 78-42-M/01 Technické lyceum Předmět: TECHNIKA

Více

v aritmetické jednotce počíta

v aritmetické jednotce počíta v aritmetické jednotce počíta tače (Opakování) Dvojková, osmičková a šestnáctková soustava () Osmičková nebo šestnáctková soustava se používá ke snadnému zápisu binárních čísel. 2 A 3 Doplněné nuly B Číslo

Více

LEKCE 6. Operátory. V této lekci najdete:

LEKCE 6. Operátory. V této lekci najdete: LEKCE 6 Operátory V této lekci najdete: Aritmetické operátory...94 Porovnávací operátory...96 Operátor řetězení...97 Bitové logické operátory...97 Další operátory...101 92 ČÁST I: Programování v jazyce

Více

5 Přehled operátorů, příkazy, přetypování

5 Přehled operátorů, příkazy, přetypování 5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování

Více

Čísla, reprezentace, zjednodušené výpočty

Čísla, reprezentace, zjednodušené výpočty Čísla, reprezentace, zjednodušené výpočty Přednáška 4 A3B38MMP kat. měření, ČVUT - FEL, Praha J. Fischer A3B38MMP, 2014, J.Fischer, ČVUT - FEL, kat. měření 1 Čísla 4 bitová dec bin. hex. 0 0000 0 1 0001

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: 1. lekce 1. Minimální program do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme: #include #include int main() { printf("hello world!\n"); return 0; 2.

Více

Zobrazení dat Cíl kapitoly:

Zobrazení dat Cíl kapitoly: Zobrazení dat Cíl kapitoly: Cílem této kapitoly je sezn{mit čten{ře se způsoby z{pisu dat (čísel, znaků, řetězců) v počítači. Proto jsou zde postupně vysvětleny číselné soustavy, způsoby kódov{ní české

Více

Základní datové struktury

Základní datové struktury Základní datové struktury Martin Trnečka Katedra informatiky, Přírodovědecká fakulta Univerzita Palackého v Olomouci 4. listopadu 2013 Martin Trnečka (UPOL) Algoritmická matematika 1 4. listopadu 2013

Více

Tato tematika je zpracována v Záznamy přednášek: str. 214 235 + materiál: PrikladyZobrazeniCisel.pdf

Tato tematika je zpracována v Záznamy přednášek: str. 214 235 + materiál: PrikladyZobrazeniCisel.pdf Obsah 11. přednášky: Kódování dat - terminologie Rozdělení kódů Kódování čísel Kódování znaků Tato tematika je zpracována v Záznamy přednášek: str. 214 235 + materiál: PrikladyZobrazeniCisel.pdf Jak bude

Více

7. Datové typy v Javě

7. Datové typy v Javě 7. Datové typy v Javě Primitivní vs. objektové typy Kategorie primitivních typů: integrální, boolean, čísla s pohyblivou řádovou čárkou Pole: deklarace, vytvoření, naplnění, přístup k prvkům, rozsah indexů

Více

Přednáška 2: Čísla v počítači. Práce s počítačem. Číselné soustavy. Převody mezi soustavami. Aritmetické operace. Uložení čísel v paměti počítače

Přednáška 2: Čísla v počítači. Práce s počítačem. Číselné soustavy. Převody mezi soustavami. Aritmetické operace. Uložení čísel v paměti počítače Ergonomie Ergonomie Osnova přednášky Výpočetní technika I Ing Pavel Haluza ústav informatiky PEF MENDELU v Brně pavelhaluza@mendelucz ergonomie údržba počítače poziční a nepoziční soustavy převody mezi

Více

Vnitřní reprezentace dat

Vnitřní reprezentace dat .. Vnitřní reprezentace dat Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelu.cz Osnova přednášky Práce s počítačem ergonomie údržba počítače Číselné soustavy poziční a nepoziční soustavy

Více

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru Reprezentace reálnách čísel v počítači Reálná čísla jsou v počítači reprezentována jako čísla tvaru ±x

Více

Reprezentace dat. INP 2008 FIT VUT v Brně

Reprezentace dat. INP 2008 FIT VUT v Brně Reprezentace dat INP 2008 FIT VUT v Brně Pojem kód a typy kódů Definice: Kód je vzájemně jednoznačné přiřazení mezi symboly dvou množin. (Tedy tabulka.) Přehled kódů pro reprezentaci dat: Data můžeme rozdělit

Více

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných Tematický celek 03 3.1 Proměnné Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace. 3.1.1 Deklarace proměnných Dim jméno_proměnné [As typ] - deklarace uvnitř procedury platí pouze pro

Více

Číselné soustavy. Jedná se o způsob reprezentace čísel.

Číselné soustavy. Jedná se o způsob reprezentace čísel. Číselné soustavy Číselné soustavy Jedná se o způsob reprezentace čísel. Dvě hlavní skupiny: Nepoziční (hodnota číslice není dána jejím umístěním v dané sekvenci číslic) Poziční (hodnota každé číslice dána

Více

Informace, kódování a redundance

Informace, kódování a redundance Informace, kódování a redundance INFORMACE = fakt nebo poznatek, který snižuje neurčitost našeho poznání (entropii) DATA (jednotné číslo ÚDAJ) = kódovaná zpráva INFORAMCE = DATA + jejich INTERPRETACE (jak

Více

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4

2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4 Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................

Více

Číslo materiálu. Datum tvorby Srpen 2012

Číslo materiálu. Datum tvorby Srpen 2012 Číslo projektu Číslo materiálu Název školy Autor Tematická oblast Ročník CZ.1.07/1.5.00/34.0581 VY_32_INOVACE_CTE_2.MA_03_Převod čísel mezi jednotlivými číselnými soustavami Střední odborná škola a Střední

Více

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech 7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,

Více

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Vstup, výstup BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík Fakulta informačních technologií České

Více