Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787

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

Download "Stručný obsah První týden Druhý týden 211 Třetí týden 451 Rejstřík 787"

Transkript

1 Stručný obsah První týden 25 den 1 Začínáme 27 den 2 Anatomie programu C++ 43 den 3 Proměnné a konstanty 57 den 4 Výrazy a příkazy 79 den 5 Funkce 107 den 6 Objektově orientované programování 141 den 7 Více o toku programu 173 Druhý týden 211 den 8 Ukazatele 213 den 9 Odkazy 241 den 10 Pokročilé funkce 271 den 11 Objektově orientovaná analýza a návrh 307 den 12 Dědičnost 341 den 13 Pole a řetězce 371 den 14 Mnohotvarost 405 Třetí týden 451 den 15 Speciální třídy a funkce 453 den 16 Pokročilá dědičnost 481 den 17 Proudy 531 den 18 Obory názvů 569 den 19 Šablony 587 den 20 Výjimky a zpracování chyb 635 den 21 Co dál? 667 příloha A Binární a hexadecimální aritmetika 715 příloha B Klíčová slova C příloha C Přednost operátorů 727 příloha D Odpovědi 729 příloha E Seznámení s propojenými seznamy 777 Rejstřík 787

2

3 Obsah O autorovi 21 Věnování 21 Poděkování 21 Napište nám, co si myslíte 22 Úvod 23 Komu je tato kniha určena 23 Konvence 23 První týden 25 Poznámka pro programátory v jazyce C 25 Další postup 25 den 1 Začínáme 27 Úvod 27 Stručná historie jazyka C++ 27 Řešení problémů 28 Procedurální, strukturované a objektově orientované programování 29 Objektově orientované programování (OOP) 30 C++ a objektově orientované programování 30 Vývoj jazyka C++ 32 Není lepší naučit se nejdříve C? 32 C++, Java a C# 32 Standard ANSI 32 Příprava na psaní programu 33 Vývojové prostředí 34 Vytvoření programu 34 Vytvoření objektového souboru kompilátorem 35 Vytvoření spustitelného programu linkerem 35 Vývojový cyklus 35 NAZDAR.cpp první program v C++ 35 Úvod do práce s kompilátorem 38 Vytvoření projektu Nazdar lidi 38 Chyby při kompilaci 39 Souhrn 40 Otázky a odpovědi 40 Úkoly pro vás 41 Test 41 Cvičení 41

4 6 Naučte se C++ za 21 dní den 2 Anatomie programu C++ 43 Jednoduchý program 43 Krátký pohled na objekt cout 46 Používání standardního oboru názvů 47 Komentáře 49 Typy komentářů 50 Používání komentářů 50 A na co si dát u komentářů pozor 51 Funkce 51 Používání funkcí 52 Metody a funkce 54 Poznámky pro českého čtenáře 54 Desetinná tečka 54 Diakritika 55 Souhrn 55 Otázky a odpovědi 55 Úkoly pro vás 56 Test 56 Cvičení 56 den 3 Proměnné a konstanty 57 Co je to proměnná? 57 Reprezentace dat v paměti 58 Vymezení paměti 58 Velikost celých čísel 59 Celá čísla se znaménkem (signed) a bez znaménka (unsigned) 60 Základní typy proměnných 61 Definice proměnné 62 Rozlišování velkých a malých písmen 63 Názvy proměnných 63 Klíčová slova 63 Vytvoření více proměnných najednou 64 Přiřazení hodnoty do proměnné 65 Příkaz typedef 66 Kdy používat short a kdy long 67 Přetečení celočíselného typu bez znaménka (unsigned) 68 Přetečení celočíselného typu se znaménkem (signed) 68 Znaky 70 Znaky a čísla 70 Speciální znaky 71 Konstanty 72 Literální konstanty 72 Symbolická konstanta 72 Definice konstanty s pomocí #define 73 Definice konstanty s pomocí const 73 Výčtové konstanty 73

5 Obsah 7 Souhrn 76 Otázky a odpovědi 76 Úkoly pro vás 77 Test 77 Cvičení 78 den 4 Výrazy a příkazy 79 Příkazy 79 Prázdné znaky 80 Bloky a složené příkazy 80 Výrazy 81 Operátory 82 Operátor přiřazení 82 Matematické operátory 82 Potíže s odečítáním 83 Celočíselné dělení a dělení se zbytkem 84 Kombinace operátoru přiřazení s matematickými operátory 84 Inkrementace a dekrementace 85 Prefix a postfix 85 Priorita operátorů 87 Vnořené závorky 88 Povaha pravdivosti 88 Relační operátory 89 Příkaz if 90 Styly odsazování 92 Klauzule else 93 Pokročilé příkazy if 94 Používání závorek ve vnořených příkazech if 96 Logické operátory 99 Logické AND (a zároveň) 99 Logické OR (nebo) 99 Logické NOT (ne) 99 Zkrácené vyhodnocování 100 Priorita relačních a logických operátorů 100 Více o pravdivosti a nepravdivosti 101 Podmínkový operátor 101 Souhrn 103 Otázky a odpovědi 103 Úkoly pro vás 104 Test 104 Cvičení 104 den 5 Funkce 107 Co je to funkce? 107 Vrácené hodnoty, parametry a argumenty 108 Deklarace a definice funkce 109

6 8 Naučte se C++ za 21 dní Deklarace funkce 109 Prototypy funkcí 110 Definice funkce 111 Provádění funkcí 112 Obor platnosti proměnných 112 Lokální proměnné 113 Lokální proměnné v blocích 114 Parametry jako lokální proměnné 116 Globální proměnné 117 Globální proměnné: na co si dávat pozor 118 Příkazy ve funkcích 119 Více o argumentech funkcí 119 Více o návratových hodnotách 120 Výchozí parametry 122 Přetížení funkcí 124 Zvláštnosti týkající se funkcí 127 Funkce řádkového typu 127 Rekurze 129 Jak fungují funkce nahlédnutí pod pokličku 133 Úrovně abstrakce 133 Rozdělení paměti RAM 133 Zásobník a funkce 136 Souhrn 136 Otázky a odpovědi 137 Úkoly pro vás 137 Test 138 Cvičení 138 den 6 Objektově orientované programování 141 Je C++ objektově orientovaný jazyk? 141 Tvorba nových typů 142 Nevýhody tvorby typů pomocí struct 143 Třídy a členy 143 Deklarace třídy 144 Konvence týkající se názvů 144 Definice objektu 145 Třídy versus objekty 145 Přístup ke členům třídy 145 Přiřazení hodnot objektům 146 Používání členů nedeklarovaných třídou 146 Soukromé versus veřejné 146 Členská data by měla být soukromá 148 Implementace metod třídy 151 Konstruktory a destruktory 154 Výchozí konstruktory a destruktory 154 Používání výchozího konstruktoru 154

7 Obsah 9 Konstantní členské funkce 157 Rozhraní versus implementace 158 Umístění deklarace třídy a definice metod 161 Implementace řádkových metod 162 Třídy s jinými třídami jako členskými daty 164 Struktury 168 Souhrn 168 Otázky a odpovědi 169 Úkoly pro vás 170 Test 170 Cvičení 171 den 7 Více o toku programu 173 Smyčky 173 První smyčky s příkazem goto 174 Proč se vyhýbat goto 174 Smyčka while 175 Složitější příkazy while 176 Příkazy continue a break 178 Smyčka while (true) 180 Smyčka do while 181 Příkaz do while 182 Smyčka for 184 Pokročilá smyčka for 186 Vícenásobné inicializace a zvyšování hodnoty 186 Prázdné příkazy ve smyčce for 187 Prázdné smyčky for 189 Vnořené smyčky 189 Stanovení oboru platnosti ve smyčce for 191 Shrnutí smyček 191 Příkaz switch 194 Použití příkazu switch pro nabídku 196 Souhrn 199 Otázky a odpovědi 199 Úkoly pro vás 200 Test 200 Cvičení 200 Opakování 203 Přehled týdne 203

8 10 Naučte se C++ za 21 dní Druhý týden 211 Kam směřujete 211 den 8 Ukazatele 213 Co je to ukazatel? 214 Něco málo o paměti 214 Používání operátoru adresy (&) 214 Uložení adresy do ukazatele 215 Názvy ukazatelů 216 Operátor nepřímého přístupu 217 Ukazatele, adresy a proměnné 218 Manipulace s daty prostřednictvím ukazatelů 219 Prověření adresy 220 Proč vůbec používat ukazatele 222 Zásobník a halda 223 Klíčové slovo new 224 Klíčové slovo delete 224 Úniky paměti 226 Vytvoření objektu ve volném úložišti 227 Vymazání objektu 227 Přístup k datovým členům 228 Členská data ve volném úložišti 230 Ukazatel this 231 Zbloudilé, divoké neboli vlající ukazatele 233 Ukazatele const 236 Ukazatele const a členské funkce const 236 Ukazatele const this 238 Souhrn 238 Otázky a odpovědi 239 Úkoly pro vás 239 Test 239 Cvičení 239 den 9 Odkazy 241 Co je to odkaz? 241 Operátor adresy & aplikovaný na odkazy 243 Přiřazení jiné hodnoty odkazu 244 Na co se lze odkazovat 245 Nulové ukazatele a nulové odkazy 247 Předávání argumentů funkci odkazem 247 Implementace funkce zamena() s pomocí ukazatelů 249 Implementace funkce zamena() s pomocí odkazů 250 Porozumění hlavičkám funkcí a prototypům 252 Vracení více hodnot 252 Vracení hodnot odkazem 254

9 Obsah 11 Předávání odkazem kvůli výkonu 255 Předání ukazatele na konstantní objekt 258 Odkazy jako alternativa 260 Kdy používat odkazy a kdy ukazatele 262 Míchání odkazů a ukazatelů 263 Vrácení odkazu na objekt mimo obor platnosti 264 Vracení odkazu na objekt ve volném úložišti 266 Komu patří ukazatel? 268 Souhrn 268 Otázky a odpovědi 269 Úkoly pro vás 269 Test 269 Cvičení 269 den 10 Pokročilé funkce 271 Přetížené členské funkce 271 Používání výchozích hodnot 274 Volba mezi výchozími hodnotami a přetíženými funkcemi 276 Výchozí konstruktor 276 Přetížení konstruktorů 276 Inicializace objektů 278 Konstruktor pro kopírování 279 Přetížení operátorů 283 Definice funkce pro inkrementaci 284 Přetížení prefixového operátoru 285 Vracení typů v přetížených funkcích operátorů 286 Vracení bezejmenného dočasného objektu 287 Řešení s použitím ukazatele this 289 Přetížení postfixového operátoru 291 Rozdíl mezi prefixovým a postfixovým operátorem 291 Přetížení binárního operátoru 293 Přetížení operátoru Problematika související s přetíženými operátory 296 Omezení kladená na přetížení operátorů 296 Co přetížit? 296 Operátor přiřazení 297 Konverze datových typů 299 Operátory konverze 302 Souhrn 303 Otázky a odpovědi 304 Úkoly pro vás 304 Test 304 Cvičení 305

10 12 Naučte se C++ za 21 dní den 11 Objektově orientovaná analýza a návrh 307 Vytváření modelů 307 Softwarový návrh: Modelovací jazyk 308 Softwarový návrh: Vlastní proces 309 Vodopádový a iterační vývoj 310 Proces iteračního vývoje 310 Krok 1: Fáze koncepce začínáme vizí 312 Krok 2: Fáze analýzy zjistíme požadavky 312 Případy použití 312 Analýza aplikace 321 Analýza systému 322 Dokumenty plánování 322 Vizualizace 323 Výtvory 323 Krok 3: Fáze návrhu 323 Co jsou to třídy? 324 Transformace 325 Statický model 326 Dynamický model 334 Kroky 4 až 6: Implementace, testování a zavádění 337 Iterace 337 Souhrn 337 Otázky a odpovědi 338 Úkoly pro vás 339 Test 339 Cvičení 339 den 12 Dědičnost 341 Co je to dědičnost? 341 Dědičnost a odvození 342 Říše zvířat 343 Syntaxe odvození 343 Soukromý versus chráněný 345 Konstruktory a destruktory 347 Předávání argumentů bázovým konstruktorům 349 Překrývání funkcí 353 Skrytí metody bázové třídy 355 Volání bázové metody 356 Virtuální metody 358 Jak virtuální funkce fungují 362 Pokus o přístup k metodám z bázové třídy 363 Omezování 363 Virtuální destruktory 365 Virtuální kopírovací konstruktory 366 Náklady na virtuální metody 368 Souhrn 369

11 Obsah 13 Otázky a odpovědi 369 Úkoly pro vás 370 Test 370 Cvičení 370 den 13 Pole a řetězce 371 Co je to pole? 371 Prvky pole 372 Zápis za konec pole 373 Chyba sloupků u plotu 376 Inicializování polí 376 Deklarování polí 377 Pole objektů 378 Vícerozměrná pole 379 Inicializování vícerozměrných polí 380 Pole ukazatelů 382 Aritmetika ukazatelů pro pokročilé 383 Deklarování polí na volném úložišti 386 Ukazatel na pole versus pole ukazatelů 387 Ukazatele a názvy polí 387 Odstraňování polí na volném úložišti 388 Změna velikosti pole za běhu 389 Pole znaků a řetězce 391 Metody strcpy() a strncpy() 393 Třídy řetězců 395 Propojené seznamy a další struktury 401 Třídy polí 402 Souhrn 402 Otázky a odpovědi 403 Úkoly pro vás 403 Test 403 Cvičení 404 den 14 Mnohotvarost 405 Problémy s jednoduchou dědičností 405 Infiltrování směrem vzhůru 408 Převádění směrem dolů 408 Přidání do dvou seznamů 411 Vícenásobná dědičnost 411 Části vícenásobně dědicího objektu 414 Konstruktory ve vícenásobně dědicích objektech 414 Vyřešení nejednoznačnosti 417 Dědění ze sdílené bázové třídy 417 Virtuální dědičnost 421 Problémy s vícenásobnou dědičností 425

12 14 Naučte se C++ za 21 dní Třídy smíšené a schopností 425 Abstraktní datové typy 426 Čistě virtuální funkce 429 Implementování čistě virtuálních funkcí 430 Složité hierarchie abstrakce 433 Které třídy jsou abstraktní? 437 Souhrn 437 Otázky a odpovědi 438 Úkoly pro vás 439 Test 439 Cvičení 439 Opakování 441 Třetí týden 451 Kam směřujete 451 den 15 Speciální třídy a funkce 453 Sdílení dat mezi objekty stejného typu: Statická členská data 453 Statické členské funkce 458 Ukazatele na funkce 460 Proč používat ukazatele na funkce? 464 Pole ukazatelů na funkce 467 Předání ukazatelů na funkce jiným funkcím 469 Použití typedef ve spojení s ukazateli na funkce 471 Ukazatele na členské funkce 473 Pole ukazatelů na členské funkce 476 Souhrn 477 Otázky a odpovědi 478 Úkoly pro vás 478 Test 479 Cvičení 479 den 16 Pokročilá dědičnost 481 Obsažení 481 Přístup ke členům v obsažené třídě 488 Řízení přístupu k obsaženým členům 488 Náklady na obsažení 488 Kopírování hodnotou 491 Implementace z hlediska dědičnosti/ obsažení versus delegování 494 Delegování 495 Soukromá dědičnost 503 Přátelské třídy 511 Přátelské funkce 519 Přátelské funkce a přetěžování operátorů 520

13 Obsah 15 Přetížení operátoru vložení 524 Souhrn 528 Otázky a odpovědi 528 Úkoly pro vás 529 Test 529 Cvičení 529 den 17 Proudy 531 Přehled proudů 531 Zapouzdření a tok dat 532 Mezipamě 532 Proudy a buffery 534 Standardní objekty I/O 534 Přesměrování 535 Vstup pomocí cin 535 Řetězce 537 Problémy s řetězci 537 Návratová hodnota cin 540 Další členské funkce cin 540 Vstup jediného znaku 540 Přebírání řetězců ze standardního vstupu 543 Používání cin.ignore() 545 Pohled na vracené znaky: Funkce peek() a putback() 546 Výstup pomocí cout 547 Vyprázdnění výstupu 547 Související funkce 548 Zápis znaků pomocí put() 548 Delší zápis pomocí write() 548 Manipulátory, příznaky a formátovací instrukce 549 Používání cout.width() 550 Zadání vyplňovacího znaku 550 Správa stavu výstupu: Nastavení příznaků 551 Proudy versus funkce printf() 553 Vstup ze souboru a výstup do souboru 556 Objekt ofstream 556 Podmínečné stavy 557 Otevírání souborů pro vstup a výstup 557 Změna výchozího chování objektu ofstream při otevírání 558 Binární versus textové soubory 561 Zpracování příkazového řádku 563 Souhrn 566 Otázky a odpovědi 566 Úkoly pro vás 567 Test 567 Cvičení 567

14 16 Naučte se C++ za 21 dní den 18 Obory názvů 569 Začínáme 569 Funkce a třídy se určují názvy 570 Viditelnost proměnných 571 Propojení 572 Statické globální proměnné 573 Vytvoření oboru názvů 573 Deklarování a definování typů 574 Definování funkcí mimo obor názvů 574 Přidávání nových členů 575 Vkládání oborů názvů do sebe 575 Použití oboru názvů 576 Použití klíčového slova using 577 Direktiva using 578 Deklarace using 579 Alias oboru názvů 580 Nepojmenovaný obor názvů 581 Standardní obor názvů std 582 Souhrn 583 Otázky a odpovědi 584 Úkoly pro vás 584 Test 584 Cvičení 585 den 19 Šablony 587 Co jsou to šablony? 587 Definice šablony 589 Použití názvu 591 Implementování šablony 592 Funkce šablony 595 Šablony a přátelé 596 Přátelské třídy a funkce nepatřící do šablony 596 Obecné přátelské třídy a funkce šablony 600 Použití položek šablon 603 Specializované funkce 607 Statické členy a šablony 612 Standardní knihovna šablon 616 Kontejnery 616 Sekvenční kontejnery 617 Kontejner vector 617 Kontejner list 623 Kontejner stack 624 Kontejner deque 625 Kontejner queue 625 Asociativní kontejnery 625 Kontejner map 625

15 Obsah 17 Další asociativní kontejnery 629 Třídy algoritmů 629 Neměnící sekvenční operace 630 Měnící sekvenční algoritmy 631 Řazení a související operace 631 Souhrn 632 Otázky a odpovědi 632 Úkoly pro vás 633 Test 633 Cvičení 633 den 20 Výjimky a zpracování chyb 635 Chyby, chyby, chyby 635 Výjimečné podmínky 636 Výjimky 638 Součásti zpracování výjimek 638 Jak vyvolávat vlastní výjimky 641 Vytvoření třídy výjimky 642 Používání bloků try a bloků catch 646 Zachycení výjimek 646 Zpracování více výjimek 646 Hierarchie výjimek 649 Data ve výjimkách a pojmenovávání objektů výjimek 652 Výjimky a šablony 658 Výjimky bez chyb 661 Pár slov o zastarávání kódu 662 Chyby a ladění 662 Body zastavení 663 Body sledování 663 Prověření paměti 663 Assembler 663 Souhrn 663 Otázky a odpovědi 664 Úkoly pro vás 665 Test 665 Test 665 den 21 Co dál? 667 Preprocesor a kompilátor 667 Používání příkazu #define 668 Používání příkazu #define pro konstanty 668 Používání příkazu #define při testování 668 Příkaz preprocesoru #else 669 Vkládání souborů a dohled nad vkládáním 671 Funkce makra 672 Proč všechny ty závorky? 672

16 18 Naučte se C++ za 21 dní Manipulace s řetězci 674 Zřetězení 674 Spojení 674 Předem definovaná makra 675 Makro assert() 675 Ladění s pomocí makra assert() 677 Makra assert() versus výjimky 677 Vedlejší účinky 678 Invarianty třídy 678 Tisk prozatímních hodnot 683 Makra versus funkce a šablony 684 Řádkové funkce 685 Hrátky s bity 686 Operátor AND 687 Operátor OR 687 Operátor navzájem neslučitelného OR 687 Operátor komplementu 687 Nastavení bitů 687 Nulování bitů 688 Přepínání bitů 688 Bitová pole 688 Programovací styl 691 Odsazování 692 Složené závorky 692 Dlouhé řádky 692 Příkazy switch 692 Text programu 693 Názvy identifikátorů 693 Zápis a velká písmena názvů 694 Komentáře 694 Přístup 695 Definice tříd 695 Vkládané soubory (include) 696 assert() 696 const 696 Další kroky 696 Kam se obrátit o radu a o pomoc 696 Souvislosti s C++: Spravovaná rozšíření C++, C# a Microsoft.NET 697 Zůstaňte ve spojení 697 Souhrn 698 Otázky a odpovědi 698 Úkoly pro vás 699 Test 699 Cvičení 700 Opakování 701

17 Obsah 19 příloha A Binární a hexadecimální aritmetika 715 Jiný než desítkový základ 716 Různé základy 717 Binární základ 718 Proč právě základ 2? 719 Bity, bajty a půlbajty 719 Co je to KB? 719 Binární čísla 719 Hexadecimální čísla 720 příloha B Klíčová slova C příloha C Přednost operátorů 727 příloha D Odpovědi 729 Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den Den příloha E Seznámení s propojenými seznamy 777 Součásti komponent 778 Rejstřík 787 Instalace software a příkladů z doprovodného CD 796

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

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

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13

Obsah. Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 Úvod 11 Základy programování 11 Objektový přístup 11 Procvičování 11 Zvláštní odstavce 12 Zpětná vazba od čtenářů 12 Errata 13 KAPITOLA 1 Na úvod o Javě 15 Počítačový program 15 Vysokoúrovňový programovací

Více

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

Programování v C++ 1, 1. cvičení Programování v C++ 1, 1. cvičení opakování látky ze základů programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 2 Shrnutí procvičených

Více

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8.

OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PŘÍKLADECH 8 Proudová knihovna 8.1 Hierarchie proudů... 8-1 8.2 Standardně zavedené proudy... 8-1 8. David MATOUŠEK OBJEKTOVÉ PROGRAMOVÁNÍ V C++ V PØÍKLADECH Praha 2011 David Matoušek Objektové programování v C++ v pøíkladech Lektoroval Ing. Bohumil Brtník, Ph.D. Bez pøedchozího písemného svolení nakladatelství

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

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

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

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné

O autorovi O odborném korektorovi Úvod 17 Vývoj jazyka Java Java SE 8 Struktura této knihy Předchozí zkušenosti s programováním nejsou potřebné O autorovi 15 O odborném korektorovi 15 Úvod 17 Vývoj jazyka Java 17 Java SE 8 19 Struktura této knihy 20 Klíčové znalosti a pojmy 20 Testové otázky 20 Odpovídá expert 20 Cvičení 20 Předchozí zkušenosti

Více

Algoritmizace a programování

Algoritmizace a programování Algoritmizace a programování Strukturované proměnné Struktura, union Jazyk C České vysoké učení technické Fakulta elektrotechnická A8B14ADP Jazyk C - Strukturované proměnné Ver.1.10 J. Zděnek 20151 Struktura

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

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

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17

Obsah. O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16. P rogram ování pro M in ecraft v Jávě 17 O auto ro vi 13 V ěnování 14 Poděkování 15 Z p ětn á vazba od čtenářů 16 Zdrojové kódy ke knize 16 Errata 16 KAPITOLA 1 P rogram ování pro M in ecraft v Jávě 17 Příprava serveru Minecraftu 18 Řešení problémů

Více

Jesse Liberty. Naučte se C++ za 21 dní 2. aktualizované vydání

Jesse Liberty. Naučte se C++ za 21 dní 2. aktualizované vydání Jesse Liberty Naučte se C++ za 21 dní 2. aktualizované vydání Computer Press, a.s. Brno 2007 Naučte se C++ za 21 dní 2. aktualizované vydání Jesse Liberty Copyright Computer Press, a.s. 2007. Všechna práva

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

Ú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

Programování v jazyce C a C++

Programování v jazyce C a C++ Programování v jazyce C a C++ Richter 1 Petyovský 2 1. března 2015 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno 2 Ing. Petyovský Petr, UAMT FEKT VUT Brno C++ Stručná charakteristika Nesdíĺı normu

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

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++

C++ Akademie SH. 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory. Michal Kvasni ka. 20. b ezna Za áte níci C++ C++ Akademie SH 2. Prom nné, podmínky, cykly, funkce, rekurze, operátory Za áte níci C++ 20. b ezna 2011 Obsah 1 Prom nné - primitivní typy Celá ísla ƒísla s pohyblivou desetinnou árkou, typ bool 2 Podmínka

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

Jazyky C a C++ kompletní průvodce 2., aktualizované vydání. Miroslav Virius

Jazyky C a C++ kompletní průvodce 2., aktualizované vydání. Miroslav Virius 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 papírové, elektronické či jiné podobě bez předchozího

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

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

ZPRO v C Ing. Vít Hanousek. verze 0.3 verze 0.3 Hello World Nejjednoduší program ukazující vypsání textu. #include using namespace std; int main(void) { cout

Více

přetížení operátorů (o)

přetížení operátorů (o) přetížení operátorů (o) - pro vlastní typy je možné přetížit i operátory (tj. definovat vlastní) - pro definici slouží klíčové slovo operator následované typem/znakem operátoru - deklarace pomocí funkčního

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

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9

Obsah. Začínáme programovat v Ruby on Rails 9. Úvod 11. 1. Vítejte v Ruby 15. O autorovi 9 Poděkování 9 Začínáme programovat v Ruby on Rails 9 O autorovi 9 Poděkování 9 Úvod 11 Komu je kniha určena 11 Jak je kniha uspořádána 11 Co ke knize potřebujete 12 Konvence 12 Zdrojový kód 13 Poznámka redakce českého

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

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

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky -

Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky - Příkazy preprocesoru - Před překladem kódu překladačem mu předpřipraví kód preprocesor - Preprocesor vypouští nadbytečné (prázdné) mezery a řádky - Preprocesor je možné ovládat pomocí příkazů - řádky začínající

Více

6 Příkazy řízení toku

6 Příkazy řízení toku 6 Příkazy řízení toku 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 příkazům pro řízení toku programu. Pro všechny tyto základní

Více

Programovací jazyk C++ Hodina 1

Programovací jazyk C++ Hodina 1 Programovací jazyk C++ Hodina 1 Používané překladače Bloodshed Dev C++ http://www.bloodshed.net/devcpp.html CodeBlocks http://www.codeblocks.org pokud nemáte již nainstalovaný překladač, stáhněte si instalátor

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

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

NPRG031 Programování II --- 2/2 Z, Zk

NPRG031 Programování II --- 2/2 Z, Zk NPRG031 Programování II --- 2/2 Z, Zk paralelka Y St 14:00-15:30 v S3 Pavel Töpfer Kabinet software 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

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

Obsah. Kapitola 1. Kapitola 2

Obsah. Kapitola 1. Kapitola 2 Stručný obsah Předmluva...17 Úvod...19 Začínáme...25 Koncepce objektově orientovaného programování...51 Základy jazyka...59 Třídy a objekty...91 Rozhraní a dědičnost... 133 Genericita... 155 Balíčky...

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

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

Objektové programování

Objektové programování Objektové programování - přináší nové možnosti a styl programování - vytváří nový datový typ, který umí vše co standardní datové typy + to co ho naučíme - překladač se k tomuto typu chová stejně jako k

Více

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.

14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod. Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání

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

2 Datové typy v jazyce C

2 Datové typy v jazyce C 1 Procedurální programování a strukturované programování Charakteristické pro procedurální programování je organizace programu, který řeší daný problém, do bloků (procedur, funkcí, subrutin). Původně jednolitý,

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

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

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek 1/41 Základní příkazy Všechny příkazy se píšou malými písmeny! Za většinou příkazů musí být středník (;)! 2/41 Základní příkazy

Více

ČÁST 1. Základy 32bitového programování ve Windows

ČÁST 1. Základy 32bitového programování ve Windows Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25

Více

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Preprocesor. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Preprocesor Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 4/2016, Lekce 9b https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start

Více

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

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

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

C++ přetěžování funkcí a operátorů. Jan Hnilica Počítačové modelování 19

C++ přetěžování funkcí a operátorů. Jan Hnilica Počítačové modelování 19 C++ přetěžování funkcí a operátorů 1 Přetěžování funkcí jazyk C++ umožňuje napsat více funkcí se stejným názvem, těmto funkcím říkáme přetížené přetížené funkce se musí odlišovat typem nebo počtem parametrů,

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

Jazyk C++, některá rozšíření oproti C

Jazyk C++, některá rozšíření oproti C Karel Müller, Josef Vogel (ČVUT FIT) Jazyk C++, některá rozšíření oproti C BI-PA2, 2011, Přednáška 1 1/22 Jazyk C++, některá rozšíření oproti C Ing. Josef Vogel, CSc Katedra softwarového inženýrství Katedra

Více

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

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

PB161 Programování v jazyce C++ Přednáška 7

PB161 Programování v jazyce C++ Přednáška 7 PB161 Programování v jazyce C++ Přednáška 7 Statické položky tříd Základy OOP Nikola Beneš 6. listopadu 2018 PB161 přednáška 7: static, základy OOP 6. listopadu 2018 1 / 21 Klíčové slovo static Znáte z

Více

6. Příkazy a řídící struktury v Javě

6. Příkazy a řídící struktury v Javě 6. Příkazy a řídící struktury v Javě Příkazy v Javě Příkazy v Javě Řídicí příkazy (větvení, cykly) Přiřazovací příkaz = Řízení toku programu (větvení, cykly) Volání metody Návrat z metody - příkaz return

Více

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem

Jazyk C++ 1. Blok 3 Objektové typy jazyka C++ Třída. Studijní cíl. Doba nutná k nastudování. Průvodce studiem Jazyk C++ 1 Blok 3 Objektové typy jazyka C++ Studijní cíl Ve třetím bloku bude představen a rozebrán nejdůležitější objektový typ jazyka C++ a to sice třída. Po absolvování bloku bude student schopen navrhovat

Více

Základy programování (IZP)

Základy programování (IZP) Základy programování (IZP) Šesté počítačové cvičení Brno University of Technology, Faculty of Information Technology Božetěchova 1/2, 612 66 Brno - Královo Pole Petr Veigend, iveigend@fit.vutbr.cz 6. týden

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

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

Vstupní požadavky, doporučení a metodické pokyny

Vstupní požadavky, doporučení a metodické pokyny Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem

Více

PB161 Programování v jazyce C++ Přednáška 4

PB161 Programování v jazyce C++ Přednáška 4 PB161 Programování v jazyce C++ Přednáška 4 Přetěžování funkcí Konstruktory a destruktory Nikola Beneš 9. října 2017 PB161 přednáška 4: přetěžování funkcí, konstruktory, destruktory 9. října 2017 1 / 20

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

Základy C++ I. Jan Hnilica Počítačové modelování 18

Základy C++ I. Jan Hnilica Počítačové modelování 18 Základy C++ I 1 Přechod z C na C++ jazyk C++ je nadmnožinou jazyka C z hlediska syntaxe se jedná o velmi podobné jazyky, spolu s dalšími jazyky "céčkovské" rodiny, jako je např. C# každý platný program

Více

Prezentace a vysvětlení programového prostředí NXC

Prezentace a vysvětlení programového prostředí NXC Úvod Další jazyk, který je možno použít pro programování NXT kostky je NXC Not exatly C Na rozdíl od jazyku NXT-G, kde jsme vytvářeli program pomocí grafických prvků přesněji řečeno pomocí programovacích

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

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

IUJCE 07/08 Přednáška č. 1

IUJCE 07/08 Přednáška č. 1 Úvod do předmětu Literatura Záznamy přednášek a vaše poznámky Harbison, S. P., Steele, G. L.: Referenční příručka jazyka C Herout, P.: Učebnice jazyka C Kernighan, B. W., Ritchie, D. M.: The C Programming

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

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr

Bitové operátory a bitová pole. Úvod do programování 2 Tomáš Kühr Bitové operátory a bitová pole Úvod do programování 2 Tomáš Kühr Bitové operátory Provádějí danou operaci s jednotlivými bity svých operandů Operandy bitových operátorů mohou být pouze celočíselné Vyhodnocení

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

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

Více o konstruktorech a destruktorech

Více o konstruktorech a destruktorech Více o konstruktorech a destruktorech Více o konstruktorech a o přiřazení... inicializovat objekt lze i pomocí jiného objektu lze provést přiřazení mezi objekty v původním C nebylo možné provést přiřazení

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

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

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

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr

Preprocesor a koncepce (větších) programů. Úvod do programování 2 Tomáš Kühr Preprocesor a koncepce (větších) programů Úvod do programování 2 Tomáš Kühr Práce s preprocesorem Preprocesor Zpracovává zdrojový kód ještě před překladačem Provádí pouze záměny textů (např. identifikátor

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 i s pomocí materiálů, které vyrobili Ladislav Vágner, Pavel Strnad Karel Richta, Martin Hořeňovský,

Více

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13 Obsah Úvod 11 Platforma.NET 11.NET Framework 11 Visual Basic.NET 12 1 Základní principy a syntaxe 13 Typový systém 13 Hodnotové typy 13 Struktury 15 Výčtové typy 15 Referenční typy 15 Konstanty 16 Deklarace

Více

Programování v jazyce C a C++

Programování v jazyce C a C++ Programování v jazyce C a C++ Příklad na tvorbu třídy Richter 1 4. prosince 2017 1 Ing. Richter Miloslav, Ph.D., UAMT FEKT VUT Brno Dvourozměrné pole pomocí tříd Zadání Navrhněte a napište třídu pro realizace

Více

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory Jazyk C Program v jazyku C má následující strukturu: Direktivy procesoru Globální definice (platné a známé v celém programu) Funkce Hlavička funkce Tělo funkce je uzavřeno mezi složené závorky { Lokální

Více

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT;

Programovací jazyk C(++) C++ area->vm_mm->locked_vm -= len >> PAGE_SHIFT; Programovací jazyk C(++) static struct vm_area_struct * unmap_fixup(struct mm_struct *mm, struct vm_area_struct *area, unsigned long addr, size_t len, struct vm_area_struct 1. *extra) Základy { struct

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

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová

Programové konvence, dokumentace a ladění. Programování II 2. přednáška Alena Buchalcevová Programové konvence, dokumentace a ladění 2. přednáška Alena Buchalcevová Proč dodržovat programové konvence? velkou část životního cyklu softwaru tvoří údržba údržbu provádí většinou někdo jiný než autor

Více

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY Stručný úvod do programování v jazyce C 2.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 07 Ver.1.10 J. Zděnek,

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz

Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz Inovace bakalářského studijního oboru Aplikovaná chemie http://aplchem.upol.cz CZ.1.07/2.2.00/15.0247 Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky. Tvorba

Více

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9)

Programování v C++ Úplnej úvod. Peta (maj@arcig.cz, SPR AG 2008-9) Programování v C++ Úplnej úvod Co se naučíte? tak samozřejmě C++, s důrazem na: dynamické datové struktury Objektově Orientované Programování STL (standardní knihovna šablon) vytváření vlastních šablon

Více

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr

Funkce pokročilé možnosti. Úvod do programování 2 Tomáš Kühr Funkce pokročilé možnosti Úvod do programování 2 Tomáš Kühr Funkce co už víme u Nebo alespoň máme vědět... J u Co je to funkce? u Co jsou to parametry funkce? u Co je to deklarace a definice funkce? K

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

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

PROGRAMOVÁNÍ V C++ CVIČENÍ

PROGRAMOVÁNÍ V C++ CVIČENÍ PROGRAMOVÁNÍ V C++ CVIČENÍ INFORMACE Michal Brabec http://www.ksi.mff.cuni.cz/ http://www.ksi.mff.cuni.cz/~brabec/ brabec@ksi.mff.cuni.cz gmichal.brabec@gmail.com PODMÍNKY ZÁPOČTU Základní podmínky společ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

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006

Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem

Více

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

Programování v C++ 3, 3. cvičení Programování v C++ 3, 3. cvičení úvod do objektově orientovaného programování 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled Dokončení spojového

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

Úvod do programování - Java. Cvičení č.4

Úvod do programování - Java. Cvičení č.4 Úvod do programování - Java Cvičení č.4 1 Sekvence (posloupnost) Sekvence je tvořena posloupností jednoho nebo více příkazů, které se provádějí v pevně daném pořadí. Příkaz se začne provádět až po ukončení

Více

Dědění, polymorfismus

Dědění, polymorfismus Programování v jazyce C/C++ Ladislav Vagner úprava Pavel Strnad Dědění. Polymorfismus. Dnešní přednáška Statická a dynamická vazba. Vnitřní reprezentace. VMT tabulka virtuálních metod. Časté chyby. Minulá

Více

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody

Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Pokročilé programování v jazyce C pro chemiky (C3220) Operátory new a delete, virtuální metody Dynamická alokace paměti Jazyky C a C++ poskytují programu možnost vyžádat si část volné operační paměti pro

Více