O datových typech a jejich kontrole

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

Download "O datových typech a jejich kontrole"

Transkript

1 .. O datových typech a jejich kontrole Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz

2 Typová kontrola Programovací techniky O datových typech a jejich kontrole 2 / 1

3 Typová kontrola Co to je Programovací techniky O datových typech a jejich kontrole 2 / 1

4 Typová kontrola Co to je Jaké jsou vlastnosti Programovací techniky O datových typech a jejich kontrole 2 / 1

5 Typová kontrola Co to je Jaké jsou vlastnosti Kdy ji potřebujeme a kdy ne Programovací techniky O datových typech a jejich kontrole 2 / 1

6 Typová kontrola Co to je Jaké jsou vlastnosti Kdy ji potřebujeme a kdy ne Jak ji ovlivnit beztypové struktury Programovací techniky O datových typech a jejich kontrole 2 / 1

7 Co to je Programovací techniky O datových typech a jejich kontrole 3 / 1

8 Co to je Souvisí s pojmem kompatibilita typů, identita typů Programovací techniky O datových typech a jejich kontrole 3 / 1

9 Co to je Souvisí s pojmem kompatibilita typů, identita typů Sémantická kontrola zjišťující shodu v rámci kompatibility Programovací techniky O datových typech a jejich kontrole 3 / 1

10 Co to je Souvisí s pojmem kompatibilita typů, identita typů Sémantická kontrola zjišťující shodu v rámci kompatibility Okamžik přiřazení Programovací techniky O datových typech a jejich kontrole 3 / 1

11 Co to je Souvisí s pojmem kompatibilita typů, identita typů Sémantická kontrola zjišťující shodu v rámci kompatibility Okamžik přiřazení Okamžik volání podprogramu, parametr odkazem Programovací techniky O datových typech a jejich kontrole 3 / 1

12 Co to je Souvisí s pojmem kompatibilita typů, identita typů Sémantická kontrola zjišťující shodu v rámci kompatibility Okamžik přiřazení Okamžik volání podprogramu, parametr odkazem Vyčíslování výrazu Programovací techniky O datových typech a jejich kontrole 3 / 1

13 Jaké jsou vlastnosti Programovací techniky O datových typech a jejich kontrole 4 / 1

14 Jaké jsou vlastnosti V každém jazyce implementována jinak Programovací techniky O datových typech a jejich kontrole 4 / 1

15 Jaké jsou vlastnosti V každém jazyce implementována jinak Striktní je implementována všude (téměř) Programovací techniky O datových typech a jejich kontrole 4 / 1

16 Jaké jsou vlastnosti V každém jazyce implementována jinak Striktní je implementována všude (téměř) Volná (žádná) je implementována částečně Programovací techniky O datových typech a jejich kontrole 4 / 1

17 Jaké jsou vlastnosti V každém jazyce implementována jinak Striktní je implementována všude (téměř) Volná (žádná) je implementována částečně Primární vlastnost ochrana před chybami Programovací techniky O datových typech a jejich kontrole 4 / 1

18 Jaké jsou vlastnosti V každém jazyce implementována jinak Striktní je implementována všude (téměř) Volná (žádná) je implementována částečně Primární vlastnost ochrana před chybami Někdy komplikuje zápis textu programu Programovací techniky O datových typech a jejich kontrole 4 / 1

19 Kdy ji potřebujeme a kdy ne Programovací techniky O datových typech a jejich kontrole 5 / 1

20 Kdy ji potřebujeme a kdy ne Ano: Čistota jazyka Programovací techniky O datových typech a jejich kontrole 5 / 1

21 Kdy ji potřebujeme a kdy ne Ano: Čistota jazyka Ano: Jazyk pro výuku Programovací techniky O datových typech a jejich kontrole 5 / 1

22 Kdy ji potřebujeme a kdy ne Ano: Čistota jazyka Ano: Jazyk pro výuku Ano: Tvorba bezpečných aplikací Programovací techniky O datových typech a jejich kontrole 5 / 1

23 Kdy ji potřebujeme a kdy ne Ano: Čistota jazyka Ano: Jazyk pro výuku Ano: Tvorba bezpečných aplikací Ne: Zjednodušení zápisu programu Programovací techniky O datových typech a jejich kontrole 5 / 1

24 Kdy ji potřebujeme a kdy ne Ano: Čistota jazyka Ano: Jazyk pro výuku Ano: Tvorba bezpečných aplikací Ne: Zjednodušení zápisu programu Ne: Umožnění zápisu obecných struktur Programovací techniky O datových typech a jejich kontrole 5 / 1

25 Kdy ji potřebujeme a kdy ne Ano: Čistota jazyka Ano: Jazyk pro výuku Ano: Tvorba bezpečných aplikací Ne: Zjednodušení zápisu programu Ne: Umožnění zápisu obecných struktur Ne: Tlak praxe Programovací techniky O datových typech a jejich kontrole 5 / 1

26 Jak ji ovlivnit Programovací techniky O datových typech a jejich kontrole 6 / 1

27 Jak ji ovlivnit Volná kontrola se nedá zostřit Programovací techniky O datových typech a jejich kontrole 6 / 1

28 Jak ji ovlivnit Volná kontrola se nedá zostřit Striktní se dá uvolnit obejít Programovací techniky O datových typech a jejich kontrole 6 / 1

29 Jak ji ovlivnit Volná kontrola se nedá zostřit Striktní se dá uvolnit obejít Přetypování Programovací techniky O datových typech a jejich kontrole 6 / 1

30 Jak ji ovlivnit Volná kontrola se nedá zostřit Striktní se dá uvolnit obejít Přetypování Použití konverzních podprogramů Programovací techniky O datových typech a jejich kontrole 6 / 1

31 Jak ji ovlivnit Volná kontrola se nedá zostřit Striktní se dá uvolnit obejít Přetypování Použití konverzních podprogramů Použití beztypových struktur Programovací techniky O datových typech a jejich kontrole 6 / 1

32 Jak ji ovlivnit Volná kontrola se nedá zostřit Striktní se dá uvolnit obejít Přetypování Použití konverzních podprogramů Použití beztypových struktur Přetěžování operací Programovací techniky O datových typech a jejich kontrole 6 / 1

33 Konverze Programovací techniky O datových typech a jejich kontrole 7 / 1

34 Konverze Změna datového typu, přepočet hodnoty v paměti Programovací techniky O datových typech a jejich kontrole 7 / 1

35 Konverze Změna datového typu, přepočet hodnoty v paměti Příklady explicitní konverze: Str, Val Programovací techniky O datových typech a jejich kontrole 7 / 1

36 Konverze Změna datového typu, přepočet hodnoty v paměti Příklady explicitní konverze: Str, Val Příklady implicitní konverze: R:=B; konverze celočíselné hodnoty na reálnou read(s); konverze posloupnosti znaků na řetězec write(r) konverze reálné hodnoty na posloupnost znaků Programovací techniky O datových typech a jejich kontrole 7 / 1

37 Konverze Změna datového typu, přepočet hodnoty v paměti Příklady explicitní konverze: Str, Val Příklady implicitní konverze: R:=B; konverze celočíselné hodnoty na reálnou read(s); konverze posloupnosti znaků na řetězec write(r) konverze reálné hodnoty na posloupnost znaků Uživatelské konverze vždy s tvorbou uživatelských typů Programovací techniky O datových typech a jejich kontrole 7 / 1

38 Konverze Změna datového typu, přepočet hodnoty v paměti Příklady explicitní konverze: Str, Val Příklady implicitní konverze: R:=B; konverze celočíselné hodnoty na reálnou read(s); konverze posloupnosti znaků na řetězec write(r) konverze reálné hodnoty na posloupnost znaků Uživatelské konverze vždy s tvorbou uživatelských typů Příklad: textová reprezentace hodnot výčtových typů Programovací techniky O datových typech a jejich kontrole 7 / 1

39 Přetypování Programovací techniky O datových typech a jejich kontrole 8 / 1

40 Přetypování Změna datového typu BEZ přepočtu hodnoty v paměti Programovací techniky O datových typech a jejich kontrole 8 / 1

41 Přetypování Změna datového typu BEZ přepočtu hodnoty v paměti Podmínka: oba typy musí zabírat v paměti stejně velký prostor Programovací techniky O datových typech a jejich kontrole 8 / 1

42 Přetypování Změna datového typu BEZ přepočtu hodnoty v paměti Podmínka: oba typy musí zabírat v paměti stejně velký prostor Identifikátor typu je zároveň v roli přetypovací funkce Programovací techniky O datových typech a jejich kontrole 8 / 1

43 Přetypování Změna datového typu BEZ přepočtu hodnoty v paměti Podmínka: oba typy musí zabírat v paměti stejně velký prostor Identifikátor typu je zároveň v roli přetypovací funkce Příklad: type mnozina = set of 0..31; var L: longint; i: byte; begin readln(l); end. for i:=0 to 31 do if i in mnozina(l) then write( 1 ) else write( 0 ); Programovací techniky O datových typech a jejich kontrole 8 / 1

44 Přetypování Změna datového typu BEZ přepočtu hodnoty v paměti Podmínka: oba typy musí zabírat v paměti stejně velký prostor Identifikátor typu je zároveň v roli přetypovací funkce Příklad: type mnozina = set of 0..31; var L: longint; i: byte; begin readln(l); for i:=0 to 31 do if i in mnozina(l) then write( 1 ) else write( 0 ); end. Nekontroluje se, zda hodnota v paměti odpovídá povolené hodnotě cílového typu Programovací techniky O datových typech a jejich kontrole 8 / 1

45 Beztypové struktury Programovací techniky O datových typech a jejich kontrole 9 / 1

46 Beztypové struktury Variantní záznam Programovací techniky O datových typech a jejich kontrole 9 / 1

47 Beztypové struktury Variantní záznam Obecný ukazatel Programovací techniky O datových typech a jejich kontrole 9 / 1

48 Beztypové struktury Variantní záznam Obecný ukazatel Soubor bez udání typu Programovací techniky O datových typech a jejich kontrole 9 / 1

49 Variantní záznam Programovací techniky O datových typech a jejich kontrole 10 / 1

50 Variantní záznam Schéma záznamu je rozšířeno: record A: byte; {pevná složka} case B: Boolean of {rozlišovací složka} false: (L: longint);{variantní složky} true: (M: mnozina) end; Programovací techniky O datových typech a jejich kontrole 10 / 1

51 Variantní záznam Schéma záznamu je rozšířeno: record A: byte; {pevná složka} case B: Boolean of {rozlišovací složka} false: (L: longint);{variantní složky} true: (M: mnozina) end; Původní účel: úspora paměti Programovací techniky O datových typech a jejich kontrole 10 / 1

52 Variantní záznam Schéma záznamu je rozšířeno: record end; A: byte; {pevná složka} case B: Boolean of {rozlišovací složka} false: (L: longint);{variantní složky} true: (M: mnozina) Původní účel: úspora paměti Původní implementace: rozlišovací složka určuje viditelnost variantních složek Programovací techniky O datových typech a jejich kontrole 10 / 1

53 Variantní záznam Schéma záznamu je rozšířeno: record end; A: byte; {pevná složka} case B: Boolean of {rozlišovací složka} false: (L: longint);{variantní složky} true: (M: mnozina) Původní účel: úspora paměti Původní implementace: rozlišovací složka určuje viditelnost variantních složek Novější implementace: Rozlišovací složka nemusí mít identifikátor, kontrola viditelnosti se neprovádí Programovací techniky O datových typech a jejich kontrole 10 / 1

54 Variantní záznam Programovací techniky O datových typech a jejich kontrole 11 / 1

55 Variantní záznam Příklad využití variantního záznamu bez rozlišovací složky: type zaznam = record case boolean of end; var Z: zaznam; false: (L: longint); true: (M: mnozina) {definice typu množina je stejná} begin readln(z.l); end. for I:=0 to 31 do if I in Z.M then write( 1 ) else write( 0 ) Programovací techniky O datových typech a jejich kontrole 11 / 1

56 Obecný ukazatel Programovací techniky O datových typech a jejich kontrole 12 / 1

57 Obecný ukazatel (podrobněji ukazatele v další přednášce) Programovací techniky O datových typech a jejich kontrole 12 / 1

58 Obecný ukazatel (podrobněji ukazatele v další přednášce) Deklarace standardním identifikátorem pointer Programovací techniky O datových typech a jejich kontrole 12 / 1

59 Obecný ukazatel (podrobněji ukazatele v další přednášce) Deklarace standardním identifikátorem pointer Manipulace s obecným ukazatelem: Vždy je potřebné dodat překladači informaci související s datovým typem Programovací techniky O datových typech a jejich kontrole 12 / 1

60 Obecný ukazatel (podrobněji ukazatele v další přednášce) Deklarace standardním identifikátorem pointer Manipulace s obecným ukazatelem: Vždy je potřebné dodat překladači informaci související s datovým typem Alokace paměti: GetMem(P, N) dodána informace o velikosti dynamické proměnné Programovací techniky O datových typech a jejich kontrole 12 / 1

61 Obecný ukazatel (podrobněji ukazatele v další přednášce) Deklarace standardním identifikátorem pointer Manipulace s obecným ukazatelem: Vždy je potřebné dodat překladači informaci související s datovým typem Alokace paměti: GetMem(P, N) dodána informace o velikosti dynamické proměnné Dealokace paměti: FreeMem(P, N) jako u alokace, pozor na stejnou velikost uvolňované paměti Programovací techniky O datových typech a jejich kontrole 12 / 1

62 Obecný ukazatel (podrobněji ukazatele v další přednášce) Deklarace standardním identifikátorem pointer Manipulace s obecným ukazatelem: Vždy je potřebné dodat překladači informaci související s datovým typem Alokace paměti: GetMem(P, N) dodána informace o velikosti dynamické proměnné Dealokace paměti: FreeMem(P, N) jako u alokace, pozor na stejnou velikost uvolňované paměti Práce s dynamickou proměnnou: VŽDY je potřebné přetypování. Programovací techniky O datových typech a jejich kontrole 12 / 1

63 Obecný ukazatel (podrobněji ukazatele v další přednášce) Deklarace standardním identifikátorem pointer Manipulace s obecným ukazatelem: Vždy je potřebné dodat překladači informaci související s datovým typem Alokace paměti: GetMem(P, N) dodána informace o velikosti dynamické proměnné Dealokace paměti: FreeMem(P, N) jako u alokace, pozor na stejnou velikost uvolňované paměti Práce s dynamickou proměnnou: VŽDY je potřebné přetypování. Příklad: var P: pointer; begin GetMem(P, SizeOf(real)); readln(real(p^));... Programovací techniky O datových typech a jejich kontrole 12 / 1

64 Soubor bez udání typu Programovací techniky O datových typech a jejich kontrole 13 / 1

65 Soubor bez udání typu Příklad ukládání řetězce na minimálním paměťovém prostoru: var P: pointer; S: string; begin readln(s); {běžné přečtení} GetMem(P, Length(S)+1); {přesná alokace podle dat} string(p^):=s; {přiřazení do získaného prostoru}... Programovací techniky O datových typech a jejich kontrole 13 / 1

66 Soubor bez udání typu Programovací techniky O datových typech a jejich kontrole 14 / 1

67 Soubor bez udání typu Netextový soubor, vyjadřuje obecný pohled na soubor jako na posloupnost nespecifikovaných bytů Programovací techniky O datových typech a jejich kontrole 14 / 1

68 Soubor bez udání typu Netextový soubor, vyjadřuje obecný pohled na soubor jako na posloupnost nespecifikovaných bytů Soubor s udaným typem nese informaci o velikosti a typu složky, ve všech operacích se tato informace využívá Programovací techniky O datových typech a jejich kontrole 14 / 1

69 Soubor bez udání typu Netextový soubor, vyjadřuje obecný pohled na soubor jako na posloupnost nespecifikovaných bytů Soubor s udaným typem nese informaci o velikosti a typu složky, ve všech operacích se tato informace využívá Příklad manipulace s běžným netextovým souborem: var F: file of char; B: string; begin assign(f, neco.txt ); reset(f); read(f,b[4]); close(f); reset(f); seek(f,6); write(f,b[5]); rewrite(f); write(...); seek(f,1); read(f,...) Programovací techniky O datových typech a jejich kontrole 14 / 1

70 Soubor bez udání typu Programovací techniky O datových typech a jejich kontrole 15 / 1

71 Soubor bez udání typu Soubor bez udaného typu deklarace: var F: file; Programovací techniky O datových typech a jejich kontrole 15 / 1

72 Soubor bez udání typu Soubor bez udaného typu deklarace: var F: file; Ve všech operacích se dodávají informace související s požadovaným typem: Programovací techniky O datových typech a jejich kontrole 15 / 1

73 Soubor bez udání typu Soubor bez udaného typu deklarace: var F: file; Ve všech operacích se dodávají informace související s požadovaným typem: Příklady: assign(f, bin.bin ); reset(f,1); dodána informace o velikosti složky blockread(f,v,200,n); dodána informace o počtu složek, není prováděna typová kontrola rewrite(f,n); analogie operace reset blockwrite(f,v,100); analogie operace blockread seek(f,10); odvolání na číslo bloku, číslování v souboru je od nuly Programovací techniky O datových typech a jejich kontrole 15 / 1

74 Soubor bez udání typu Programovací techniky O datových typech a jejich kontrole 16 / 1

75 Soubor bez udání typu Příklady manipulací: var G: file; begin assign(g,...); reset(g,1); seek(g,10); reset(g,2); seek(g,10); Programovací techniky O datových typech a jejich kontrole 16 / 1

76 Soubor bez udání typu Příklady manipulací: var G: file; begin assign(g,...); reset(g,1); seek(g,10); reset(g,2); seek(g,10); Aplikace drtivá většina netextových souborů v praxi Programovací techniky O datových typech a jejich kontrole 16 / 1

77 Soubor bez udání typu Příklady manipulací: var G: file; begin assign(g,...); reset(g,1); seek(g,10); reset(g,2); seek(g,10); Aplikace drtivá většina netextových souborů v praxi Příklad databázového souboru: var DB: file; nazev: string[8]; delka: byte; pocet: byte; Programovací techniky O datových typech a jejich kontrole 16 / 1

78 pokračování příkladu begin assign(db, data.db ); rewrite(db,1); pocet:=0; blockwrite(db,pocet,1); while not eof do begin inc(pocet); readln(nazev,delka); blockwrite(db,nazev[1],8); blockwrite(db,delka,1); end; seek(db,1); blockwrite(db,pocet,1);... close(db); end. Programovací techniky O datových typech a jejich kontrole 17 / 1

Dynamické datové typy a struktury

Dynamické datové typy a struktury .. a Programovací techniky doc. Ing. Jiří Rybička Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Programovací techniky a 2 / 18 Uchovávají adresu v paměti Programovací techniky a 2 / 18 Uchovávají

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

Programy v prostředí operačního systému

Programy v prostředí operačního systému .. Programy v prostředí operačního systému Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Standardní soubory Programovací techniky Programy v

Více

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D. Programování 2 (NMIN102) Soubory RNDr. Michal Žemlička, Ph.D. Soubor abstrakce vstupního, výstupního či vstupně výstupního zařízení textová, typovaná a netypovaná varianta základní operace: otevření, čtení/zápis,

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové soubory Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Typové a netypové

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

- 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

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

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

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

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu

Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu Implementace seznamů do prostředí DELPHI pomocí lineárního seznamu Ukazatel a dynamické datové struktury v prostředí DELPHI Důležitým termínem a konstrukčním programovým prvkem je typ UKAZATEL. Je to vlastně

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

NPRG030 Programování I, 2010/11

NPRG030 Programování I, 2010/11 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE když X, Y jsou (číselné) výrazy, potom X = Y X Y X < Y X > Y X = Y jsou

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

NPRG030 Programování I, 2016/17 1 / :58:13

NPRG030 Programování I, 2016/17 1 / :58:13 NPRG030 Programování I, 2016/17 1 / 31 10. 10. 2016 10:58:13 Podmínka = něco, co JE, nebo NENÍ splněno typ Boolean hodnoty: TRUE pravda FALSE lež domluva (optimistická): FALSE < TRUE NPRG030 Programování

Více

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel,

Anotace. Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), Martin Pergel, Anotace Soubory a práce s nimi, rekurze podruhé, struktury (datový typ record), základní třídicí algoritmy. Soubory a práce s nimi Dnes budou pouze soubory textové. Textový soubor ovládáme pomocí proměnné

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

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

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

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

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program Denotační sémantika programovacího jazyka doc. Dr. Ing. Miroslav Beneš katedra informatiky, A-1007 59 732 4213 Obsah přednášky Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup

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

- 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

Binární soubory (datové, typované)

Binární soubory (datové, typované) Binární soubory (datové, typované) - na rozdíl od textových souborů data uložena binárně (ve vnitřním tvaru jako v proměnných programu) není čitelné pro člověka - všechny záznamy téhož typu (může být i

Více

dovolují dělení velkých úloh na menší = dekompozice

dovolují dělení velkých úloh na menší = dekompozice Podprogramy dovolují dělení velkých úloh na menší = dekompozice Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Programovací jazyk - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi) Odlišnosti implementace od normy - odchylky např.: nepovinná hlavička programu odlišná

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

Časová a prostorová složitost algoritmů

Časová a prostorová složitost algoritmů .. Časová a prostorová složitost algoritmů Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Hodnocení algoritmů Programovací techniky Časová a prostorová

Více

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování. Delphi lekce 6 Minimum z Object Pascalu Vrátíme se ještě k základům Object Pascalu. Struktura programu Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově

Více

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář Vazba (binding) Tabulka symbolů Miroslav Beneš Dušan Kolář vazba = spojení mezi entitou a vlastností okamžik vazby (binding time) při návrhu jazyka při implementaci jazyka během překladu/spojování/zavádění

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

Interpret jazyka IFJ2011

Interpret jazyka IFJ2011 Dokumentace projektu Interpret jazyka IFJ2011 Tým číslo 093, varianta b/3/i: 20 % bodů: Cupák Michal (xcupak04) vedoucí týmu 20 % bodů: Číž Miloslav (xcizmi00) 20 % bodů: Černá Tereza (xcerna01) 20 % bodů:

Více

Sémantika Tabulka symbolů Intermediální kód Typová kontrola, přetypování Statická a dynamická sémantika. Sémantická analýza.

Sémantika Tabulka symbolů Intermediální kód Typová kontrola, přetypování Statická a dynamická sémantika. Sémantická analýza. Sémantická analýza Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 19. listopadu 2009 Definice (Sémantická analýza) Vstup: konstrukce symbolů vytvořená

Více

Úvod do programování

Úvod do programování Úvod do programování Základní literatura Töpfer, P.: Algoritmy a programovací techniky, Prometheus, Praha učebnice algoritmů, nikoli jazyka pokrývá velkou část probíraných algoritmů Satrapa, P.: Pascal

Více

PA152. Implementace databázových systémů

PA152. Implementace databázových systémů PA152 Implementace databázových systémů RAID level 1 zrcadlení disku výpočet MTTF 2 stejné disky, MTTF 3 roky výměna vadného 3,5 dne výpadek oba disky během 3,5 dne p(výpadku disku za rok) = 1/6 p(výp.

Více

VY_32_INOVACE_08_2_04_PR

VY_32_INOVACE_08_2_04_PR Ing. Petr Stránský VY_32_INOVACE_08_2_04_PR Příkazy vstupu - definice Výstupním zařízením může být obrazovka, tiskárna nebo soubor. Jednotlivé údaje se zapisují pomocí příkazu WRITE nebo WRITELN. Příkaz

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

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

Empty, Null, Nothing, Missing, prázdný řetězec a buňka

Empty, Null, Nothing, Missing, prázdný řetězec a buňka Řečeno slovní hříčkou, pojmy uvedené v titulku mají společného všechno a nic. Každý z nich je vyjádřením stavu prázdné proměnné, a to podle datového typu či kontextu. Empty vyjadřuje neinicializovanou

Více

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA ze sady: 03 tematický okruh sady: Tvorba skript a maker ze šablony: 10 Algoritmizace a programování určeno pro: 4. ročník vzdělávací obor: vzdělávací

Více

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: SII - Informatika Způsob vyhodnocení: Při vyhodnocení budou za nesprávné odpovědi strhnuty body. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá: a) sekundární klíč b)

Více

Implementace LL(1) překladů

Implementace LL(1) překladů Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku

Více

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr Strukturované typy a ukazatele Úvod do programování 1 Tomáš Kühr Motivace Se základními datovými typy si sice vystačíme Někdy to ale může být nepříjemně nepřehledné Příklady: long double soucet(const long

Více

VISUAL BASIC. Práce se soubory

VISUAL BASIC. Práce se soubory VISUAL BASIC Práce se soubory Práce se soubory 1/2 2 Vstupní data pro programy bývají uloženy do souborů Vstupy pro výpočet, nastavení vzhledu aplikace Výsledky práce programu je potřeba uchovat uložit

Více

Náznak ukázky syntaxe a sémantiky pro projekt. 1 Syntaktické prvky. Poslední aktualizace: 8.

Náznak ukázky syntaxe a sémantiky pro projekt. 1 Syntaktické prvky. Poslední aktualizace: 8. Jednoduchý interpretační překladač Náznak ukázky syntaxe a sémantiky pro projekt Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 8. ledna 2008 1 Syntaktické

Více

Lexikální analýza Teorie programovacích jazyků

Lexikální analýza Teorie programovacích jazyků Lexikální analýza Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Osnova dnešní přednášky 1 Úvod do teorie překladačů kompilátor a interpret

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

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

Uplatnění metod na zvolený jazyk

Uplatnění metod na zvolený jazyk Uplatnění metod na zvolený jazyk Při výběru mezi metodami výše popsanými se řídíme především podle typu symbolů, které jazyk obsahuje. Výhodná bývá často kombinace těchto metod nejdřív použijeme metodu

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

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

Úvod. Programovací paradigmata

Úvod. Programovací paradigmata .. Úvod. Programovací paradigmata Programovací techniky doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Cíl: programování efektivně a bezpečně Programovací techniky

Více

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Začínáme vážně programovat Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů Podmínky a cykly Dokončení stručného přehledu řídících struktur jazyka C. Složený příkaz, blok Pascalské

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

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

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

Odvozené a strukturované typy dat

Odvozené a strukturované typy dat Odvozené a strukturované typy dat Petr Šaloun katedra informatiky FEI VŠB-TU Ostrava 14. listopadu 2011 Petr Šaloun (katedra informatiky FEI VŠB-TU Ostrava) Odvozené a strukturované typy dat 14. listopadu

Více

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7 Hung Hoang Dieu Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7 Co je to soubor? Soubor je kus diskového prostoru, vyhrazeného

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

1. D Y N A M I C K É DAT O V É STRUKTUR Y

1. D Y N A M I C K É DAT O V É STRUKTUR Y 1. D Y N A M I C K É DAT O V É STRUKTUR Y Autor: Petr Mik Abychom se mohli pustit do dynamických datových struktur, musíme se nejdřív podívat na datový typ ukazatel. 1. D AT O V Ý TYP U K A Z AT E L Datové

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

Knihovna DataBoxLib TXV 003 56.01 první vydání prosinec 2010 změny vyhrazeny

Knihovna DataBoxLib TXV 003 56.01 první vydání prosinec 2010 změny vyhrazeny Knihovna DataBoxLib TXV 003 56.01 první vydání prosinec 2010 změny vyhrazeny 1 TXV 003 56.01 Historie změn Datum Vydání Popis změn Prosinec 2010 1 První vydání, popis odpovídá DataBoxLib_v14 OBSAH 1 Úvod...3

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

NPRG030 Programování I, 2017/18 1 / :22:16

NPRG030 Programování I, 2017/18 1 / :22:16 NPRG030 Programování I, 2017/18 1 / 26 20. 10. 2017 11:22:16 Ordinální typy standardní: integer, char, boolean Vlastnosti ordinálních typů: 1. hodnot je konečný počet a hodnoty jsou uspořádány 2. ke každé

Více

NPRG030 Programování I, 2015/16 1 / :25:32

NPRG030 Programování I, 2015/16 1 / :25:32 NPRG030 Programování I, 2015/16 1 / 21 22. 10. 2015 13:25:32 Podprogramy Příklad: Vytiskněte tabulku malé násobilky ve tvaru XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X 1 2 3 4 5 6 7 8 9 10 X

Více

Anotace. Pointery. Martin Pergel,

Anotace. Pointery. Martin Pergel, Anotace Pointery K čemu jsou dynamické proměnné? K mnoha algoritmům bychom potřebovali pole proměnlivé délky nebo aspoň jinou datovou strukturu proměnlivé délky. Jak implementovat frontu a zásobník? Použijeme

Více

typová konverze typová inference

typová konverze typová inference Seminář Java Programování v Javě II Radek Kočí Fakulta informačních technologií VUT Únor 2008 Radek Kočí Seminář Java Programování v Javě (2) 1/ 36 Téma přednášky Rozhraní: použití, dědičnost Hierarchie

Více

Ukazatele, dynamická alokace

Ukazatele, dynamická alokace Ukazatele, dynamická alokace 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 Mazanec Karel Richta,

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

Základy programovacího jazyka Turbo Pascal

Základy programovacího jazyka Turbo Pascal Základy programovacího jazyka Turbo Pascal Programovací jazyk Pascal byl navržen začátkem 70. let profesor Niklaus Wirth z Vysoké školy technické v Curychu Cíle návrhu vytvořit jazyk vhodný pro výuku programování

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

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

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy).

Identifikátory označují objekty v programu používané (proměnné, typy, podprogramy). JAZYK PASCAL ÚVOD materiály pro studenty Jiráskova gymnázia v Náchodě (verze 2005-10-28) RNDr Jan Preclík, PhD preclik@gymnachodcz Jazyk Pascal byl navržen profesorem curyšské univerzity Niklausem Wirthem

Více

Poslední nenulová číslice faktoriálu

Poslední nenulová číslice faktoriálu Poslední nenulová číslice faktoriálu Kateřina Bambušková BAM015, I206 Abstrakt V tomto článku je popsán a vyřešen problém s určením poslední nenulové číslice faktoriálu přirozeného čísla N. Celý princip

Více

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09 Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1 Šablona: Název: Téma: Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh Operátory Autor:

Více

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar

Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Základy programování Martin Hejtmánek hejtmmar@fjfi.cvut.cz http://kmlinux.fjfi.cvut.cz/ hejtmmar Počítačový kurs Univerzity třetího věku na FJFI ČVUT Pokročilý 21. května 2009 Dnešní přednáška 1 Počátky

Více

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla Použití: - náhodnost při rozhodování např. ve hrách (výběr z více možných stejně dobrých tahů v dané pozici, házecí kostka) - generování

Více

Poslední aktualizace: 14. října 2011

Poslední aktualizace: 14. října 2011 Lexikální analýza Překladače, přednáška č. 2 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 14. října 2011 Symboly Co je to

Více

Programovací jazyk PASCAL Turbo

Programovací jazyk PASCAL Turbo Obsah 1 Programovací jazyk PASCAL Turbo 5 11 Základní prostředky pro zápis programu 5 111 Lexikální symboly jazyka 6 12 Struktura programu 7 13 Část definicí a deklarací 8 131 Deklarace návěští 8 132 Definice

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

Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava

Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava Implementace LL(1) překladů Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 6. ledna 2012 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku

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

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem Test prvočíselnosti Úkol: otestovat dané číslo N, zda je prvočíslem 1. zkusit všechny dělitele od 2 do N-1 časová složitost O(N) cca N testů 2. stačí zkoušet všechny dělitele od 2 do N/2 (větší dělitel

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

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

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11.

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury... 11-1 11.2 Příklad PROG_11-01... 11-2 11. David Matoušek Programování v jazyce C v pøíkladech Praha 2011 David Matoušek Programování v jazyce C v pøíkladech Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo

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

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

Analýza dat a modelování. Přednáška 3

Analýza dat a modelování. Přednáška 3 Analýza dat a modelování Přednáška 3 Hierarchický model Hierarchical Data Manipulation Language - HDML manipulace s daty (vyhledávání) pomocí příkazů HDML v hierarchickém SŘBD připomíná princip práce se

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

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 07. Základní příkazy vstup a výstup hodnot 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

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

Sdílení dat mezi podprogramy

Sdílení dat mezi podprogramy Sdílení dat mezi podprogramy Datové objekty mohou být mezi podprogramy sdíleny pomocí ne-lokálních referenčních prostředí, která jsou vytvářena na základě æ explicitních modifikací (formální parametry

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

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000. 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000. 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1 PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/2000 1 PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/2000 13 stran 1 PESlib Popis knihoven PASCAL a C 03.2000 2. verze dokumentu Zmìny a doplòky proti 1.

Více

Třídy a struktury v C++

Třídy a struktury v C++ katedra informatiky FEI VŠB-TU Ostrava 7. prosince 2015 Odvozené a strukturované typy dat v C základní datové typy součást normy jazyka, preprocesor použití netypových maker, raději voĺıme konstanty d

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

Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0

Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0 Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0 int policko[100]; // tj. pole je od 0 do 99!!! policko[5] = 7; // pozor je to 6. prvek s indexem 5

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