Datové struktury a datové typy.

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

Download "Datové struktury a datové typy."

Transkript

1 Datové struktury a datové typy. Základní datové typy. Odvozené datové typy. Základní datové struktury. Odvozené datové struktury. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 1 / 53

2 Obsah přednášky 1 Základní datové typy 2 Datové struktury 3 Základní datové struktury Proměnná Pole Struktura Objekt 4 Odvozené datové struktury Seznam Zásobník Fronta Prioritní fronta Strom Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 2 / 53

3 Základní datové typy 1. Základní datové typy Přehled základních datových typů: celočíselné, logické, reálné a znakové. Nalezneme prakticky ve všech programovacích jazycích. U každého jednoduchého datového typu definována jeho velikost v bajtech a rozsah. Vyjádření v různých číselných soustavách: dvojková (binární) soustava: 0011, desítková (decimální) soustava (znaky 0-9): 1987, šestnáctková (hexadecimální) soustava (znaky 0-9, a-f): 16af. Celočíselné datové typy: Reprezentace diskrétních jevů. Se znaménky (signed) či bez znaménka (unsigned). Liší se rozsahem a přesností. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 3 / 53

4 Základní datové typy 2. Přehled celočíselných datových typů v Javě Rozsah představován maximální a minimální hodnotou, které může proměnná tohoto datového typu nabývat. Závisí na počtu bitů které jsou použity na uložení číselné hodnoty v paměti. Unsigned: (0, 2 n 1). Signed ( 2 n 1, 2 n 1 1). Pokud nevíme, jaký datový typ použít, a nemáme nějaké speciální požadavky, zpravidla používáme typ int. Datový typ Velikost Rozsah byte 8b -128;127 short 16b ;32767 int 32b -2E09;2E09 long 64b -9E18;9E18 Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 4 / 53

5 3. Znakový typ Základní datové typy Datový typ char. Používán pro práci se znaky, různá kódování a sady znaků. Má vlastnosti celočíselného datového typu bez znaménka, jeho hodnota odpovídá kódu příslušného znaku v ASCII tabulce. Na jednotlivé znaky se lze dívat jako na celá čísla, lze na ně aplikovat stejné aritmetické či relační operátory jako na datový typ int. Nabývá hodnot (0, 2 8 1). Zápis znakového typu: znakem uzavřeným do apostrofů: char c='a'; prostřednictvím escape sekvencí: char c='\n'; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 5 / 53

6 Základní datové typy 4. Kódování ASCII (American Standard Code for Information Interchange): 127 znaků (písmena, číslice, spec. znaky), 7b + 1b. Problémy s ČJ, celkem 6 speciálních kódování: CP 1250, ISO , Latin 2... UNICODE: 16b kódování, 2 nástupce ASCII, znaků, např. UTF-8. Ukázka Escape sekvencí: Escape sekvence UNICODE Význam \n \u000a Nová řádka \r \u000d Návrat na začátek řádku \t \u0009 Tabulátor \\ \u005c Zpětné lomítko \' \u002c Apostrof \" \u0022 Uvozovky Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 6 / 53

7 5. ASCII tabulka Základní datové typy Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 7 / 53

8 Základní datové typy 6. Logický datový typ Datový typ bool, (v Javě boolean). Nabývá dvou hodnot: pravda true, nepravda false. Obě hodnoty lze vyjádřit prostřednictvím celočíselných hodnot: Příklad: 1=true 0=false. boolean result=false; boolean result=0; Uplatňuje se zejména při konstrukci logických podmínek. if (result==true) if (result) Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 8 / 53

9 Základní datové typy 7. Reálné datové typy Reálná čísla R které lze vyjádřit nekonečně dlouhým desetinným rozvojem, jsou představována desetinnými čísly. Používána pro vyjádření spojitých jevů. Výpočty v pomalejší než nad celými čísly. Důležitá volba správného datového typu. Zápis reálných čísel: 2 formy zápisu. S pevnou řádovou čárkou (Fixed-point). Proměnná relativní chyba, malá čísla zatížena větší chybou V semilogaritmickém tvaru (Floating-point). Příliš malá nebo příliš velká čísla, stejná relativní chyba. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 9 / 53

10 Základní datové typy 8. Reálné datové typy v Javě Pro vědecké výpočty používáme datový typ double (s dvojnásobnou přesností). Při výpočtu s datovým typem float dochází k značným zaokrouhlovacím chybám. float: 7 platných desetinných míst double: 15 platných desetinných míst Datový typ Velikost Rozsah float 32b -1.4E45;3.4E48 double 64b -4.9E-324,1.7E308; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 10 / 53

11 Datové struktury 9. Datové struktury Data používaná programy v paměti uchovávána v datových strukturách. Data lze reprezentovat různými datovými typy. Pro efektivní práci s daty nutné zvolit vhodnou datovou strukturu a odpovídající datový typ. Dělení datových struktur: Datové struktury děleny do dvou kategorií: Základní datové struktury: Vyskytují se téměř ve všech programovacích jazycích. Za běhu programu nemění svůj rozsah. Odvozené datové struktury: Nazývány jako abstraktní datové struktury. Často implementovány jako objekty. Za běhu programu mohou měnit svůj rozsah. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 11 / 53

12 Datové struktury 10. Dělení datových struktur Dělení do dvou skupin: Základní datové struktury: Proměnná (Variable). Pole (Array). Struktura (Structure). Objekt (Object). Odvozené datové struktury: Seznam (List). Strom (Tree). Zásobník (Stack). Fronta (Query). Tabulka (Table). Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 12 / 53

13 Proměnná 11. Proměnná Pojmenované místo v paměti počítače. Je v ní uložena hodnota určitého datového typu. Deklarace proměnné: Proměnné vytvářeny pomocí deklarace. V deklaraci uveden datový typ proměnné a její identifikátor. int i; double k; Typ proměnné: Specifikace typu proměnné ovlivňuje: A) Určuje množinu hodnot, kterých proměnná může nabývat. B) Množství paměti potřebné pro její uložení. C) Operace, které lze s proměnnou provádět. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 13 / 53

14 12. Schéma paměti Základní datové struktury Proměnná Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 14 / 53

15 Proměnná 13. Alokace paměti Způsob, jakým je proměnným přidělován pamět ový prostor v RAM. 3 metody alokace paměti Statická alokace. Alokace na zásobníku. Alokace na haldě. Statická alokace paměti: Pamět přidělena pevně na celou dobu běhu programu. Přidělování paměti realizováno již v době překladu. Rozsah datových struktur musí být znám již v době překladu, což není vždy možné. Práce s proměnnými velmi rychlá a efektivní. Používáno pro proměnné deklarované v hlavním programu. double x; int cislo; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 15 / 53

16 Proměnná 14. Alokace na zásobníku Zásobník (Stack). Používána pro lokální proměnné, které jsou deklarovány v procedurách či funkcích či při rekurzi. Pamět je alokována při volání procedury/funkce, po jejím ukončení je uvolněna. Lokální proměnné zanikají, jejich hodnoty jsou nedostupné. Dochází k úspoře paměti, nepotřebné proměnné nezabírají místo. Uvolňování úseků paměti prováděno v opačném pořadí než jejich přidělování. Nedochází ke fragmentaci paměti. Nejrychlejší... Při překročení kapacity zásobníku chyba Stack Overflow. double dist(double a, double b) { double d=math.sqrt(a*a+b*b); return d; } Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 16 / 53

17 Proměnná 15. Dynamická alokace paměti Dynamická alokace na haldě (Heap, realizován binárním stromem): Pamět přidělována na žádost programu operačním systémem, nikoliv kompilátorem. Na tyto úseky se odkazujeme pomocí speciálních proměnných typu ukazatel (pointer). Nepotřebná pamět není uvolňována implicitně, musí provést uživatel či Garbage Collector. Uvolňování úseků paměti nemusí být prováděno v opačném pořadí než její přidělování, dochází k fragmentaci paměti. Při překročení kapacity haldy chyba Heap Overflow. Point p=new Point(100,100); Výhody dynamické alokace: Proměnné existují jen po dobu, kdy jsou potřeba. Možnost vytvářet dynamické datové struktury potřebné velikosti za běhu programu. Jejich velikost nemusí být známa v době překladu. Nevýhody dynamické alokace: Dynamicky alokované proměnné nemají svůj jednoznačný identifikátor, přístup prostřednictvím ukazatele. Pomalejší přístup k datům než u statické alokace. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 17 / 53

18 Proměnná 16. Problémy při dynamické alokaci Důsledky nevhodné práce s dynamicky alokovanou pamětí: Přístup na nealokované místo v paměti Přepsání vlastních dat či havárie programu. Zpravidla vede k pádu nebo si přepsání vlastních dat. Přístup do uvolněné paměti Zpravidla vede k pádu programu. Neuvolnění paměti Při náročných výpočetních procesech může nastat nedostatek paměti vedoucí k pádu aplikace. Většinou se chyba nijak neprojeví. Operační systém po skončení běhu programu tuto pamět uvolní. Opakované uvolňování téže paměti Opakované volání destruktoru. Zpravidla vede k pádu aplikace. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 18 / 53

19 17. Druhy proměnných Proměnná Proměnné se liší dle způsobu přidělování paměti: Globální proměnné: Vytvořeny při spuštění programu, zanikají po ukončení programu. Existují po celou dobu běhu programu. Nazývány jako statické proměnné. Lokální proměnné: Deklarované ve funkcí či procedurách. Vznikají v okamžiku volání procedury/funkce, zanikají při ukončení procedury/funkce. Existují pouze po dobu běhu procedury/funkce. Nazývány jako automatické proměnné, alokovány v zásobníku. Dynamické proměnné: Vznikají za běhu programu na základě provedené alokace paměti příkazem. Mohou zanikat automaticky nebo manuálně (příkazem). Nejsou vázány na procedury/funkce. Tomáš Alokovány Bayer bayertom@natur.cuni.cz heapu. (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 19 / 53

20 Proměnná 18. Přiřazovací příkaz Přiřazuje proměnné hodnotu odpovídajícího datového typu. Dochází k inicializaci hodnoty proměnné. i = 10; k = 13; Proměnné vystupují: v aritmetických operacích (výrazy) dist = sqrt((xb - xa) * (xb - xa) + (yb - ya) * (yb - ya)); v logických operacích (podmínky) if (eps > 0) předávány jako parametry funkcí či procedur distance (xa, ya, xb, ya); Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 20 / 53

21 19. Konstanty Základní datové struktury Proměnná Číselné údaje, jejichž hodnota se nemění. V praxi např. π, e, g, c, i. Konstanty celočíselné, reálné, znakové a řetězcové konstanty. Celočíselné konstanty: Celočíselné konstanty lze zapisovat v osmičkové, desítkové či šestnáctkové soustavě. Desítková soustava: 9234 Osmičková soustava: 0156 //Zacina nulou Šestnáctková soustava: 0x26AF //Zacina 0x Konstanty jsou standardně datového typu int. R = ; Hodnota typu long, za číselnou hodnotou symbol L. A = L; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 21 / 53

22 20. Znakové konstanty Lze je zapsat následujícími způsoby. Proměnná Jedním znakem uzavřeným do apostrofů: 'A' 'B' 'C' Číselnou hodnotou v ASCII tabulce (osmičková, šestnáctková soustava): '\101' '\102' '\103' //osmickova '\41' '\42' '\43' //sestnactkova Zápis speciálních znaků '\n' '\r' '\\' '\' Posloupností znaků \ uxxxx, kde XXXX představuje kód znaku v kódování UNICODE: '\u000a' Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 22 / 53

23 Proměnná 21. Reálné konstanty Lze je zapsat následujícími způsoby. S pevnou řádovou čárkou: V semilogaritmickém tvaru e e-1 Reálná konstanta je standardně datového typu double. Zápis v datovém typu float, za poslední číslici umístěn znak F. A = 0.1e10F; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 23 / 53

24 22. Řetězcové konstanty Proměnná Zapisuje se jako posloupnost znaků uzavřená v uvozovkách. Pro tvorbu řetězcových konstant platí stejné zákonitosti jako pro tvorbu znakových konstant. Řetězcové konstanty mohou být na rozdíl od znakové konstanty tvořeny více než jedním znakem. Lze je zapsat následujícími způsoby. Jeden či více znaků do uvozovek (nikoliv do apostrofů). "Ahoj"; Hodnoty v ASCII/UNICODE tabulce: "Prvn\u00ED program\n v jazyce Java"; Sčítání řetězcových konstant prostřednictvím operátoru +. "prvni slovo"+"druhe slovo"; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 24 / 53

25 Proměnná 23. Přetypování Při přiřazovacích operacích dochází ke konverzím mezi různými datovými typy přetypování. Přiřazovaná hodnota (na pravé straně) je konvertována na typ proměnné jíž přiřazujeme (na levé straně). Výsledkem změna datového typu proměnné. Varianty přetypování: Přiřazení reálné hodnoty celočíselné celočíselné hodnotě: Hodnota zaokrouhlena odříznutím desetinné části (nedochází k zaokrouhlení podle standardních pravidel!) Přiřazení hodnoty s vyšší přesností do proměnné s nižší přesností: Pokud hodnota mimo rozsah výsledného datového typu, může vést k nedefinovatelnému výsledku Implicitní vs. explicitní přetypování. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 25 / 53

26 Proměnná 24. Implicitní a explicitní přetypování Implicitní přetypování Přetypování proměnné s nižším rozsahem na proměnnou s vyšším rozsahem. Probíhá automaticky, nedochází při ní ke ztrátě informací. Pořadí: byte->short->int->long->float->double. float a = 50; double b = 30; b = a;//implicitni konverze Explicitní přetypování Přetypování proměnné s vyšším rozsahem na proměnnou s nižším rozsahem. Neproběhne automaticky,nutno vynutit ji uvedením cílového datového typu. Dochází ke ztrátě informací. Pořadí: double->float->long->int->short->byte. a = b;//ztrata presnosti, nelze provest a = (float)b;//explicitni konverze Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 26 / 53

27 25. Smíšené konverze Proměnná Nastávají, pokud do aritmetických operací vstupují operandy smíšeného typu. Cílem co nejmenší ztráta přesnosti při aritmetických operacích. Zákonitosti: A) Pokud je jeden z operandů typu double, bude výsledkem operace datový typ double. B) Pokud je jeden z operandů typu float, bude výsledkem operace datový typ float. C) Pokud je jeden z operandů typu long, bude výsledkem operace datový typ long. Pozor na zlomky: int a = 5;//int int b = 10;//int int c = a / b;//vysledek=0 Správně: int a = 5.0;//double int b = 10;//int Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 27 / 53

28 Proměnná 26. Aritmetické operátory Slouží k realizaci základních aritmetických operacích. Vyhodnocování z leva do prava dle priority: A) nejprve operace násobení/dělení/celočíselné dělení, B) poté se vyhodnotí zbývající operace. Změna priority vyhodnocování s použitím závorek. Počet pravých a levých závorek by měl být stejný. int a = * 3;//a=12 int a = (3 + 3) * 3;//18 Přehled aritmetických operátorů: Operátor Popis + Sčítání - Odečítání * Násobení / Dělení % Zbytek po celočíselném dělení. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 28 / 53

29 27. Operátory přiřazení Proměnná Zkrácený zápis běžných aritmetických operací. Umožňuje efektivnější zápis aritmetických operací. Přehled operátorů přiřazení. Operátor a+=5 a-=5 a*=5 a/=5 Úplný zápis a=a+5 a=a-5 a=a*5 a=a/5 Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 29 / 53

30 Proměnná 28. Operátory inkrementace a dekrementace Zvyšování či snižování hodnoty proměnné o 1. Představují zdvojené operátory ++ resp.. Předcházející inkrementace/dekrementace: Operátory inkrementace/dekrementace umístěny před proměnnou. Nejprve se provede inkrementace/dekrementace, poté přiřazovací příkaz. int a = 5, b = 5; int c = ++a;//a=6, c=5; int d = --b;//b=4, d=5; Následná inkrementace/dekrementace: Operátory inkrementace/dekrementace umístěny za proměnnou. Nejprve se provede přiřazovací příkaz, poté inkrementace/dekrementace. int a = 5, b=5; int c = a++;//a=6, c=6; int d = b--;//b=4, d=4; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 30 / 53

31 Proměnná 29. Relační operátory Použití při konstrukci logických podmínek. Binární i unární booleovské operátory. Různá priorita, nejvyšší negace, poté konjunkce, ostatní. Změna pořadí závorkami. Přehled relačních operátorů: Operátor Popis == Rovná se!= Nerovná se && Logický součin Logický součet! Negace < Menší > Větší <= Menší nebo rovno >= Větší nebo rovno Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 31 / 53

32 30. Pole Základní datové struktury Pole Posloupnost proměnných stejného typu uložených v paměti chápaných jako jeden celek. Každé pamět ové místo reprezentováno prvkem pole. K prvku pole přistupujeme prostřednictvím indexu, Index pole nesmí být překročen! Deklarace pole: Uváděn datový typ, identifikátor, počet prvků pole. Jednorozměrné pole: Prvky pole tvoří proměnné, nikoliv pole nějakého jiného pole. Představuje ho n prvků s indexy 0,..., n 1. double pole[10]; //deklarace pole s deseti prvky pole[0]; //prvni prvek pole pole[9]; //posledni prvek pole Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 32 / 53

33 31. Vícerozměrné pole Pole Pole označováno jako N-rozměrné. Prvky N-rozměrného pole tvoří prvky (N 1)-rozměrného pole. Nejčastěji používáno dvojrozměrné pole, N = 2. Prvky dvojrozměrného pole tvoří prvky jednorozměrného pole. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 33 / 53

34 32. Dvojrozměrné pole Pole Tvořeno m řádky a n sloupci, představuje matici. Řádkový index: 0,..., m 1. Sloupcový index: 0,..., n 1. Nejrychleji se mění poslední index, tj index nejvíce vpravo. Deklarace dvourozměrného pole: double pole[6][11]; //deklarace 2D pole 6x10 prvku pole[0][0]; //prvni prvek pole pole[5][10]; //posledni prvek pole Využití dvojrozměrných polí: reprezentace tabulek, rastrů. Pro práci s poli používány cykly (opakování činností). V některých jazycích pole deklarována jako dynamické proměnné. Operace s 1D neuspořádaným polem (přístup, hledání) jsou prováděny v lineárním čase, s 2D neuspořádaným polem v kvadratickém čase. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 34 / 53

35 Pole 33. Pole v Javě S polem v Javě pracujeme prostřednictvím odkazu (tj. podobně jako s objekty). 2 kroky: Deklarace odkazu na pole Ve tvaru datovy_typ [] identifikator. Neuvádíme počet prvků. double [] pole; S polem zatím nelze pracovat, nebyla alokována pamět vyvolání výjimky. Alokace paměti Vytvoření vlastního pole přidělení potřebné paměti, uvádíme počet prvků. Nastavení odkazu tak, aby ukazoval na vytvořené pole. pole=new double[10]; Oba kroky lze spojit do jednoho: double [] pole=new double[10]; Prvky pole celočíselného/ reálného typu automaticky inicializovány na hodotu 0, prvky polí odkazů (tj. referencí) inicializovány na hodnotu null. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 35 / 53

36 Pole 34. Ilustrace práce s polem v Javě Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 36 / 53

37 Pole 35. Další operace s polem v Javě Délka pole: Představuje počet prvů, lze zjistit prostřednictvím length. pole.length; Hodnota length-1 je nastavována jako nejvyšší horní index pole. pole[pole.length-1]; //Posledni prvek pole pole[pole.length]; //Prekrocen index, prace s nealokovanou Inicializované pole: Pole inicializované předem danými hodnotami, nepoužívá se konstrukce s new (pouze konvence). double [] pole={2.0, 4.4,17.85}; //1D pole double [][] pole2d={{2.0, 4.4},{17.85, 0.3}, {10.9, 6.4}}; Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 37 / 53

38 36. Kopírování polí v Javě Pole Nelze použít přiřazovací příkaz, provádí kopírování odkazů, nikoliv kopírování skutečného obsahu polí. int [] pole1={1,2,3}; int [] pole2=new int [3]; pole2=pole1;//zkopirovani odkazu, nikoliv obsahu pole! Kopírování obsahu pole po prvku int [] pole1={1,2,3}; int [] pole2=new int [3]; for (int i=0;i<pole1.length;i++) pole2[i]=pole1[i]; Použití příkazu arraycopy arraycopy(zdroj,pocat_index,cil,cilovy_index,pocet_prvku); Ukázka kopie dvou polí int [] pole1={1,2,3}; int [] pole2=new int [3]; System.arraycopy(pole1,0,pole2,0,pole1.length); Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 38 / 53

39 37. Ukázka nevhodného kopírování polí Pole Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 39 / 53

40 38. Ukázka správného kopírování polí Pole Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 40 / 53

41 39. Struktura (Záznam) Struktura Skupina proměnných různých typů, které se dohromady chovají jako celek. Na rozdíl od pole se jedná o strukturu heterogenní. Deklarace struktury: Jednotlivé položky struktury deklarovány jako samostatné proměnné. struct Point { double x, y; }; //Ukoncena strednikem //Bod ma souradnice x,y Při práci se strukturami je používán princip kvalifikace. Nejprve vytvořena proměnná datového typu struktury. Pro přístup k jednotlivým složkám struktury používáme proměnnou datového typu struktury doplněnou jménem proměnné. Point p; //Promenna typu point p.x= ; //nastaveni souradnice x p.y= ; //Nastaveni souradnice y Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 41 / 53

42 Objekt 40. Objekt V objektově orientovaném programování objekty představují komponenty nehmotného charakteru. Jsou abstrakcí a zjednodušením svých hmotných protějšků. Vykazují určité vlastnosti a chování. Rozhraní objektu: umožňuje vzájemnou komunikaci objektů. Podrobnosti v kapitole věnované OOP. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 42 / 53

43 41. Rozhraní objektu Základní datové struktury Objekt Objekt tvořen: Datovou strukturou Představována proměnnými různých datových typů. Ovlivňuje vlastnosti objektu. Tato část objektu bývá označována jako soukromá, z vnějšku je před jinými objekty ukryta (princip zapouzdření). Metodami Definují operace, které je možno s daty provádět. Určují chování objektu. Tato část objektu bývá označována jako veřejná. Patří mezi dynamické proměnné: vytvářeny a rušeny na pokyn programátora v libovolný okamžik. S dynamicky vytvořenými objekty pracujeme ve speciální části paměti zvané halda (heap). Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 43 / 53

44 42. Seznam Odvozené datové struktury Seznam Datová struktura, tvoří ji uspořádaná posloupnost položek. Položky uspořádány podle určité hodnoty, tzv. klíče. Jednotlivé položky nemusejí být umístěny přímo za sebou každá položka obsahuje odkaz na následující položku. Patří mezi rekurzivní struktury, každá položka obsahuje odkaz na položku stejného typu. Vlastnost seznamu: Rychlé přidávání prvků na počátek/konec seznamu (O(N)). Vhodný pro procházení prvků popořadě sekvenční uspořádání dat. Nevhodný pro náhodný přístup k prvkům. Typy seznamů: Jednosměrný seznam Obousměrný seznam Kruhový seznam Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 44 / 53

45 Odvozené datové struktury 43. Ukázky seznamů. Seznam Jednosměrný seznam: každý prvek seznamu odkazuje na předchozí resp. následující prvek seznamu. První resp. poslední prvek seznamu neodkazuje nikam (NULL). Obousměrný seznam: každý prvek seznamu obsahuje odkaz na předchozí a následující prvek seznamu. První a poslední prvek seznamu neodkazují nikam (NULL). Kruhový seznam: jednosměrný i obousměrný. Poslední prvek seznamu pak obsahuje odkaz na první prvek seznamu, resp. první prvek seznamu obsahuje odkaz na poslední prvek seznamu. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 45 / 53

46 Odvozené datové struktury Zásobník 44. Zásobník Ze zásobníku odebíráme data v opačném pořadí, než v jakém jsme je do něj uložili. Pracovat lze pouze s prvkem, který je na vrcholu zásobníku. Reprezentuje model LIFO (Last In - First Out). V běžném životě model zásobníku např. batoh, vyndaváme z něj věci v opačném pořadí, než je do něj ukládáme. Použití při zpracovávání dat v sekvenčním pořadí. Dno zásobníku: Nejspodnější prvek v zásobníku. Přidán do zásobníku jako první. Vrchol zásobníku: Nejvrchnější prvek v zásobníku. Přidán do zásobníku jako poslední. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 46 / 53

47 Odvozené datové struktury 45. Ukázka zásobníku Zásobník Použití: náhrada rekurze, vyhodnocování výrazů... Tomáš Bayer (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 47 / 53

48 Odvozené datové struktury Fronta 46. Fronta Z fronty odebíráme data ve stejném pořadí, v jakém jsem je do ní uložili. Pracovat lze pouze s prvkem, který je na čele fronty. Reprezentuje model FIFO (First In-First Out). Využití při sekvenčním zpracování dat. Ve frontě nemůžeme předbíhat. Existuje i fronta s předbíháním, tzv. prioritní fronta. Konec fronty: Prvek na poslední pozici ve frontě. Do fronty přidán jako poslední. Čelo fronty: Prvek na první pozici ve frontě, Do fronty přidán jako první. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 48 / 53

49 Odvozené datové struktury Fronta 47. Ukázka fronty a kruhové fronty Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 49 / 53

50 Odvozené datové struktury Prioritní fronta 48. Prioritní fronta Nazývána fronta s předbíháním. Charakteristika prioritní fronty: Varianta fronty, u které hraje roli ohodnocení prvku. Ohodnocení realizováno ohodnocovací funkcí. Prvek s vyšší prioritou může přeběhnout prvek s nižší prioritou. Princip prioritní fronty: 1 Prvky přidávány do fronty v pořadí, v jakém jsou na vstupu. 2 Prvky odebírány z fronty na základě ohodnocení (priority prvku). Prvky s nejvyšší prioritou odebrány jako první. Časté použití v geoinformatice, souvislost s technikou Sweep Line (zametací přímka). Ohodnocením např. souřadnice x, y, vzdálenost, váha, atd. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 50 / 53

51 Odvozené datové struktury Strom 49. Strom Takové uspořádání dat, kdy každý prvek má nejvýše jednoho předchůdce a může mít více než jednoho následníka. Strom tvořen vrcholy (uzly). Typy uzlů: Listy: Uzly bez následníka. Není k nim připojen žádný podstrom. Kořen: Uzel bez předchůdce=kořen. Existuje právě 1. Vnitřní uzly: Uzly, které nejsou listem ani kořenem. Patří mezi rekurzivní datové struktury: každý uzel je současně kořenem stromu a zároveň listem stromu vyšší úrovně. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 51 / 53

52 50. Dělení stromů Odvozené datové struktury Strom Podle maximálního počtu potomků, stupeň uzlu n. Unární strom: n = 1 (Seznam). Binární strom: n = 2. Ternární strom: n = 3. Stromy vyšších řádů se zpravidla nepoužívají. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 52 / 53

53 Odvozené datové struktury Strom 51. Uspořádání dat v binárním stromu Pro každý uzel U platí, že všechny údaje v levém podstromu jsou menší než U a všechny údaje v pravém podstromu větší než U. Tato organizace umožňuje efektivní práci s daty uloženými ve stromu: např. vyhledávání se složitostí O(log(N)). Ukázka binárního stromu. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované Datové struktury geoinformatiky a datové a kartografie, typy. Přírodovědecká fakulta UK.) 53 / 53

Základní datové struktury.

Základní datové struktury. . Základní datové struktury. Odvozené datové struktury. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

Více

Dynamické datové struktury I.

Dynamické datové struktury I. Dynamické datové struktury I. Seznam. Fronta. Zásobník. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

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

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

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

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

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

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

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

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

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Booleovská algebra. Booleovské binární a unární funkce. Základní zákony. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz

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

Dynamické datové struktury IV.

Dynamické datové struktury IV. Dynamické datové struktury IV. Prioritní fronta. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra

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

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. 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

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

Dynamické datové struktury III.

Dynamické datové struktury III. Dynamické datové struktury III. Halda. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky a kartografie, Přírodovědecká fakulta UK. Tomáš Bayer bayertom@natur.cuni.cz (Katedra aplikované

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

Datové typy strana 29

Datové typy strana 29 Datové typy strana 29 3. Datové typy Jak již bylo uvedeno, Java je přísně typový jazyk, proto je vždy nutno uvést datový typ datového atributu, formálního parametru metody, návratové hodnoty metody nebo

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

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

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo Operátory, výrazy Tomáš Pitner, upravil Marek Šabo Operátor "Znaménko operace", pokyn pro vykonání operace při vyhodnocení výrazu. V Javě mají operátory napevno daný význam, nelze je přetěžovat jako v

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

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

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

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

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

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

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty. Proměnná Pojmenované místo v paměti sloužící pro uložení hodnoty. K pojmenování můžeme použít kombinace alfanumerických znaků, včetně diakritiky a podtržítka Rozlišují se velká malá písmena Název proměnné

Více

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b Výrazy a operátory i = 2 i = 2; to je výraz to je příkaz 4. Operátory Unární - unární a unární + Např.: +5-5 -8.345 -a +b - unární ++ - inkrement - zvýší hodnotu proměnné o 1 - unární -- - dekrement -

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

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

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

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h> 9.3.2010 Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include int main(void) { int dcislo, kolikbcislic = 0, mezivysledek = 0, i; int vysledek[1000]; printf("zadejte

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

Struktura programu v době běhu

Struktura programu v době běhu Struktura programu v době běhu Miroslav Beneš Dušan Kolář Struktura programu v době běhu Vztah mezi zdrojovým programem a činností přeloženého programu reprezentace dat správa paměti aktivace podprogramů

Více

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr)

Operátory. Základy programování 1 Martin Kauer (Tomáš Kühr) Operátory Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační poznámky Formátujte kód přehledně! Pomůžete sobě i mně. Spusťte si vaše programy a zkuste různé vstupy! Pokud program nedává správné

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu

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

Booleovská algebra. Pravdivostní tabulka. Karnaughova mapa. Booleovské n-krychle. Základní zákony. Unární a binární funkce. Podmínky.

Booleovská algebra. Pravdivostní tabulka. Karnaughova mapa. Booleovské n-krychle. Základní zákony. Unární a binární funkce. Podmínky. Booleovská algebra. Pravdivostní tabulka. Karnaughova mapa. Booleovské n-krychle. Základní zákony. Unární a binární funkce. Podmínky. Tomáš Bayer bayertom@natur.cuni.cz Katedra aplikované geoinformatiky

Více

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz

Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Ukazka knihy z internetoveho knihkupectvi www.kosmas.cz Upozornění pro čtenáře a uživatele této knihy Všechna práva vyhrazena. Žádná část této tištěné či elektronické knihy nesmí být reprodukována a šířena

Více

Lineární datové struktury

Lineární datové struktury Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Lineární datové

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

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

Úvod do programování. Lekce 1

Úvod do programování. Lekce 1 Úvod do programování Lekce 1 Základní pojmy vytvoření spustitelného kódu editor - psaní zdrojových souborů preprocesor - zpracování zdrojových souborů (vypuštění komentářů atd.) kompilátor (compiler) -

Více

Operátory. Základy programování 1 Tomáš Kühr

Operátory. Základy programování 1 Tomáš Kühr Operátory Základy programování 1 Tomáš Kühr Operátory a jejich vlastnosti Základní konstrukce (skoro) každého jazyka Z daných operandů vytvoří výsledek, který je možné dále využívat Arita udává počet operandů

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

Programování v C++, 2. cvičení

Programování v C++, 2. cvičení Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule

Více

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií 1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední

Více

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr) Základy jazyka C Základy programování 1 Martin Kauer (Tomáš Kühr) Organizační záležitosti Konzultace Pracovna 5.076 Úterý 15:00 16:30 Emailem martin.kauer@upol.cz Web předmětu http://tux.inf.upol.cz/~kauer/index.php?content=var&class=zp1

Více

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky.

PHP - úvod. Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. PHP - úvod Kapitola seznamuje se základy jazyka PHP a jeho začleněním do HTML stránky. Klíčové pojmy: PHP, webový prohlížeč, HTTP, FTP Základní pojmy služba WWW = 1990 první prototyp serveru, od roku 1994

Více

NMIN102 Programování /2 Z, Zk

NMIN102 Programování /2 Z, Zk NMIN102 Programování 2 --- 2/2 Z, Zk Pavel Töpfer Katedra softwaru a výuky informatiky MFF UK MFF Malostranské nám., 4. patro, pracovna 404 pavel.topfer@mff.cuni.cz http://ksvi.mff.cuni.cz/~topfer Pavel

Více

Formátové specifikace formátovací řetězce

Formátové specifikace formátovací řetězce 27.2.2007 Formátové specifikace formátovací řetězce - je to posloupnost podle které překladač pozná jaký formát má výstup mít - posloupnosti začínají znakem % a určující formát vstupu/výstupu - pokud chcete

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) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu. Informatika 10. 9. 2013 Jméno a příjmení Rodné číslo 1) Napište algoritmus pro rychlé třídění (quicksort). 2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus

Více

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje f1(&pole[4]); funkci f1 předáváme hodnotu 4. prvku adresu 4. prvku adresu 5. prvku hodnotu 5. prvku symbolická konstanta pro konec souboru je eof EOF FEOF feof Správné vytvoření a otevření textového souboru

Více

KTE / ZPE Informační technologie

KTE / ZPE Informační technologie 5 KTE / ZPE Informační technologie Ing. Petr Kropík, Ph.D. email: pkropik@kte.zcu.cz tel.: +420 377 63 4639, +420 377 63 4606 (odd. informatiky) Katedra teoretické elektrotechniky FEL ZČU Plzeň Základy

Více

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Vývoj aplikací Téma: Pole Vyučující: Ing. Milan Káža Třída: EK3 Hodina: 14 Číslo: V/5 Programování v jazyce

Více

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

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false Logické operace Datový typ bool může nabýt hodnot: o true o false Relační operátory pravda, 1, nepravda, 0, hodnoty všech primitivních datových typů (int, double ) jsou uspořádané lze je porovnávat binární

Více

Teoretické minimum z PJV

Teoretické minimum z PJV Teoretické minimum z PJV Pozn.: následující text popisuje vlastnosti jazyka Java zjednodušeně pouze pro potřeby výuky. Třída Zavádí se v programu deklarací třídy což je část programu od klíčových slov

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Příprava studijního programu Informatika je podporována projektem financovaným z Evropského sociálního fondu a rozpočtu hlavního města Prahy. Praha & EU: Investujeme do vaší budoucnosti Racionální čísla,

Více

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

PŘETĚŽOVÁNÍ OPERÁTORŮ

PŘETĚŽOVÁNÍ OPERÁTORŮ PŘETĚŽOVÁNÍ OPERÁTORŮ Jazyk C# podobně jako jazyk C++ umožňuje přetěžovat operátory, tj. rozšířit definice některých standardních operátorů na uživatelem definované typy (třídy a struktury). Stejně jako

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

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

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20

Předmluva k aktuálnímu vydání Úvod k prvnímu vydání z roku Typografické a syntaktické konvence... 20 Obsah 5 Obsah Předmluva k aktuálnímu vydání 15 1 Úvod k prvnímu vydání z roku 2000 16 Typografické a syntaktické konvence................ 20 2 Základní pojmy 21 2.1 Trocha historie nikoho nezabije................

Více

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz (2 + 5) * (13-4) * + - 2 5 13 4 - listy stromu obsahují operandy (čísla) - vnitřní uzly obsahují operátory (znaménka)

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

Jazyk C# a platforma.net

Jazyk C# a platforma.net Jazyk C# a platforma.net Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Pavel Štěpán, 2011 Syntaxe jazyka C# - 1. část BI-DNP Evropský sociální fond

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

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007 Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků

Více

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro: 21.4.2009 Makra - dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h - jak na vlastní makro: #define je_velke(c) ((c) >= 'A' && (c)

Více

8 Třídy, objekty, metody, předávání argumentů metod

8 Třídy, objekty, metody, předávání argumentů metod 8 Třídy, objekty, metody, předávání argumentů metod 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 třídám a objektům, instančním

Více

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu } 5. Operátor čárka, - slouží k jistému určení pořadí vykonání dvou příkazů - oddělím-li čárkou dva příkazy, je jisté, že ten první bude vykonán dříve než příkaz druhý. Např.: i = 5; j = 8; - po překladu

Více

Racionální čísla, operátory, výrazy, knihovní funkce

Racionální čísla, operátory, výrazy, knihovní funkce Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Racionální čísla, operátory, výrazy, knihovní funkce BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky Miroslav Balík

Více

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; Vícerozměrné pole type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik; M[2,3] := 3145; - počet indexů není omezen (v praxi obvykle nejvýše tři) - více indexů pomalejší přístup k prvku (počítá

Více

Úvod do programovacích jazyků (Java)

Úvod do programovacích jazyků (Java) Úvod do programovacích jazyků (Java) Michal Krátký Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2007/2008 c 2006 2008 Michal Krátký Úvod do programovacích

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

Zápis programu v jazyce C#

Zápis programu v jazyce C# Zápis programu v jazyce C# Základní syntaktická pravidla C# = case sensitive jazyk rozlišuje velikost písmen Tzv. bílé znaky (Enter, mezera, tab ) ve ZK překladač ignoruje každý příkaz končí ; oddělovač

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

Č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

Seznámení s datovými typy a operátory

Seznámení s datovými typy a operátory Knihovny tříd Javy KAPITOLA 2 Seznámení s datovými typy a operátory Klíčové dovednosti a pojmy Seznámení s primitivními typy jazyka Java. Používání literálů. Inicializace proměnných. Seznámení s pravidly

Více

Výrazy, operace, příkazy

Výrazy, operace, příkazy Výrazy, operace, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,

Více

Data, výrazy, příkazy

Data, výrazy, příkazy Data, výrazy, příkazy Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Přednášky byly připraveny s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad, Martin Hořeňovský, Aleš Hrabalík

Více

Pointery II. Jan Hnilica Počítačové modelování 17

Pointery II. Jan Hnilica Počítačové modelování 17 Pointery II 1 Pointery a pole Dosavadní způsob práce s poli zahrnoval: definici pole jakožto kolekce proměnných (prvků) jednoho typu, umístěných v paměti za sebou int pole[10]; práci s jednotlivými prvky

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

Opakování programování

Opakování programování Opakování programování HW návaznost - procesor sběrnice, instrukční sada, optimalizace rychlosti, datové typy, operace (matematické, logické, podmínky, skoky, podprogram ) - paměti a periferie - adresování

Více

Konstruktory a destruktory

Konstruktory a destruktory Konstruktory a destruktory Nedostatek atributy po vytvoření objektu nejsou automaticky inicializovány hodnota atributů je náhodná vytvoření metody pro inicializaci, kterou musí programátor explicitně zavolat,

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

Spojová implementace lineárních datových struktur

Spojová implementace lineárních datových struktur Spojová implementace lineárních datových struktur doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB

Více

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory

Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory Programování v jazyce C pro chemiky (C2160) 9. Práce s PDB soubory Jednoduché (základní) datové typy Jazyk C obsahuje několik základní datových typů: int celá čísla (integer) char znak (character) float

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

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ 1) PROGRAM, ZDROJOVÝ KÓD, PŘEKLAD PROGRAMU 3 2) HISTORIE TVORBY PROGRAMŮ 3 3) SYNTAXE A SÉMANTIKA 3 4) SPECIFIKACE

Více

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N Struktura (union) - struktura a union jsou složené typy, které "v sobě" mohou obsahovat více proměnných - struktura obsahuje v každém okamžiku všechny své proměnné, union obsahuje (=je "aktivní") pouze

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

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

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 /

Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / Správa paměti doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Motivace Úrovně správy paměti. Manuální

Více

Programování v C++ 2, 4. cvičení

Programování v C++ 2, 4. cvičení Programování v C++ 2, 4. cvičení statické atributy a metody, konstruktory 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Přístupová práva

Více