Celková osnova přednášek. Algoritmy I prezentace k přednáškám. Celková osnova přednášek (pokrač.) Celková osnova přednášek (pokrač.

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

Download "Celková osnova přednášek. Algoritmy I prezentace k přednáškám. Celková osnova přednášek (pokrač.) Celková osnova přednášek (pokrač."

Transkript

1 Celková osnova přednášek Algoritmy I prezentace k přednáškám doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Algoritmy I 1 / Úvodní přednáška O předmětu Algoritmy I Prezenční forma studia Výuka Úkoly a jejich hodnocení Kombinovaná forma studia Výuka Úkoly a jejich hodnocení Software pro výuku Studijní literatura 1. Pojem algoritmus Algoritmický problém Pojem algoritmu Vlastnosti algoritmu Turingův stroj Church-Turingova teze 2. Shrnutí Jiří Dvorský (VŠB TUO) Algoritmy I 2 / 358 Celková osnova přednášek (pokrač.) 3. Základy C++ 4. Počítač Hardware základní struktura počítače Software Osobní počítače 5. Programovací jazyk 6. Jazyk C++ Jazyk C Vznik spustitelného programu 7. Základní stavební bloky C++ Datové typy v C++ Proměné 8. Řídící struktury jazyka C++ 9. Funkce v jazyce C Složitost algoritmů 11. Motivace Jiří Dvorský (VŠB TUO) Algoritmy I 3 / 358 Celková osnova přednášek (pokrač.) 12. Analýza složitosti algoritmů 13. Pole v jazyce C Pole Výpočty lineární algebry Vektorové výpočty Výpočty se čtvercovými maticemi 15. Rekurze 16. Co si představit pod pojmem rekurze? 17. Faktoriál 18. Fibonacciho posloupnost 19. Využití rekurze pro řešení problémů 20. Backtracking 21. Jezdcova procházka 22. Vyhledávání 23. Vyhledávání Definice problému Jiří Dvorský (VŠB TUO) Algoritmy I 4 / 358

2 Celková osnova přednášek (pokrač.) Sekvenční vyhledávání Vyhledávání půlením intervalu 24. Třídění 25. Třídění RadixSort 26. Základní třídící algoritmy 27. Asociativní třídicí algoritmy Základní třídící algoritmy Třídění výběrem SelectSort Třídění vkládáním InsertSort Bublinové třídění BubbleSort Úvodní přednáška doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava 28. Pokročilé třídící algoritmy QuickSort Třídění rozdělováním Třídění haldou HeapSort Jiří Dvorský (VŠB TUO) Algoritmy I 5 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 6 / 358 O předmětu Algoritmy I O předmětu Algoritmy I Upozornění Všechny aktuální informace k předmětu naleznete na Tato prezentace slouží jen pro účely úvodní přednášky a nebude dále aktualizována. předmět je úvodním kurzem programování, vazba na předmět Programování I, předpokládá se znalost středoškolské matematiky a obecná orientace ve výpočetní technice, algoritmy a datové struktury budou demonstrovány v jazyce C++, praktická implementace probíraných algoritmů a datových struktur. Jiří Dvorský (VŠB TUO) Úvodní přednáška 7 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 8 / 358

3 Rozsah předmětu, způsob zakončení Garant předmětu Rozsah předmětu výuka probíhá v zimním semestru prvního ročníku bakalářského studia, hodinová dotace: 2 hodiny přednášky a 2 hodiny cvičení týdně v prezenční formě, 7 tutoriálů v kombinované formě studia. předmět je ohodnocen 5 kredity. doc. Mgr. Kancelář: Web: Jiří Dvorský, Ph.D. EA441 jiri.dvorsky@vsb.cz K čemu je garant předmětu? Způsob zakončení Garant předmětu zodpovídá za průběh výuky celého předmětu, průběh cvičení, plnění úkolů na cvičeních a za korektní hodnocení úkolů. Problémy spojené se cvičeními řešte primárně se svým cvičícím. Pokud se nepodaří dosáhnout řešení problému s cvičícím obracejte se na garanta předmětu. zakončení klasifikovaným zápočtem, klasifikovaný zápočet není zkouška, nejsou tři termíny jako u zkoušky, Jiří Dvorský (VŠB TUO) Garant předmětu, přednášející, tutor komb. formy Úvodní přednáška 9 / 358 Konzultační hodiny Jiří Dvorský (VŠB TUO) Úvodní přednáška 10 / 358 Studenti se specifickými nároky Pokud na přednášce nebudete něčemu rozumět, potřebujete poradit nebo vyřešit nějaký problém s přednáškou, cvičeními, testy, Vaší absencí na výuce například z důvodů plánované operace atd. je možné využít konzultační hodiny. V tento čas jsem připraven věnovat se Vám osobně. Termín konzultačních hodin je uveřejněn mým webových stránkách. Žádám Vás ale o dodržení několika pravidel: 1. Konzultaci je nutné si domluvit předem, nejlépe em. 2. Pokud potřebujete poradit s učivem, přineste si s sebou materiály, které jste si k tématu prostudovali, vypište si co je Vám jasné a kde jste se zasekli a potřebujete poradit. Rozhodně neplatí myšlenka: Já k němu přijdu na konzultaci, on si o mě bude myslet, že jsem úplně blbej a u zápočtu mě vyhodí. Centrum Slunečnice FEI poskytování služeb a podpory zpřístupňující studium i pro studenty se specifickými nároky, lze získat, mimo jiné, zvýšenou časovou dotaci na úkoly. Výzva Je vysoce žádoucí, aby studenti, kteří dostanou tuto zvýšenou časovou dotaci, neprodleně kontaktovali svého cvičícího a garanta předmětu, abychom předešli případným problémům! Přijdte se zeptat rovnou ke zdroji informací internetová fóra jsou zaplevelena různými polopravdami i naprostými nesmysly. Jiří Dvorský (VŠB TUO) Úvodní přednáška 11 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 12 / 358

4 Algoritmy I výuka, úkoly a jejich hodnocení Výuka, úkoly a jejich hodnocení pro různé formy studia prezenční a kombinované studium má specifickou formu výuky, obě formy studia mají specifické podmínky pro splnění předmětu, podle formy Vašeho studia se Vás týká pouze jedna ze dvou následujících částí prezentace. Prezenční forma studia Jiří Dvorský (VŠB TUO) Úvodní přednáška 13 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 14 / 358 Přednášky Stručná osnova přednášek každé pondělí od 12:30 do 14:00, učebna NA1, slouží především k: výkladu učiva, zdůraznění klíčových poznatků či postupů v dané části učiva, předvedení ukázkových příkladů, jejich typických řešení a tak dále, na Vaše případné dotazy k přednášce jsem schopen odpovídat v konzultačních hodinách. 1. Úvodní přednáška, Pojem algoritmus 2. Základy jazyka C++ 3. Řídící struktury jazyka C++ 4. Funkce v jazyce C++ 5. Složitost algoritmů 6. Pole v jazyce C++ 7. Rekurze 8. Využití rekurze pro řešení problémů 9. Vyhledávání 10. Třídění 11. Základní třídící algoritmy 12. Pokročilé třídící algoritmy Jiří Dvorský (VŠB TUO) Úvodní přednáška 15 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 16 / 358

5 Cvičení Cvičení Přímá výuka ve cvičeních odpovídá přednáškám. Ve cvičeních pracují studenti pod vedením cvičícího na konkrétní implementaci příkladů v jazyce C++. V každém cvičení se předpokládá implementace jednoho až dvou příkladů. Další náplní cvičení je testování Vašich znalostí formou různých testů. Dále je také možné konzultovat s cvičícím probírané učivo. Rozdělení do cvičení tak, jak je uvedeno v informačním systému Edison, je nutné respektovat. Není možné překračovat kapacitu cvičení. Veškeré přesuny je nutné mít zaznamenány v systému Edison. Až na výjimky, nelze psát testy na jiných cvičeních, než která máte zapsaná v Edisonu. Upozornění Cvičení nenahrazuje přednášku! Neočekávejte, že pokud nebudete chodit na přednášky, tak Vám cvičící na cvičeních bude dělat jakousi bleskovou náhradní přednášku, abyste se vůbec mohli pustit do příkladů, jejichž řešení se na cvičení předpokládá. Bývá dobrým zvykem, že studenti se na cvičení aspoň minimálně připraví. Není nutné látku precizně ovládat, ale je nutné se orientovat v základních pojmech. Jinak cvičení nemají smysl. Jiří Dvorský (VŠB TUO) Úvodní přednáška 17 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 18 / 358 Úkoly první test Úkoly druhý test První test se bude psát na přednášce 24. října 2016 řádný termín. Tento test se jako jediný bude psát na přednášce. Opravný termín se bude psát ve cvičeních v týdnu počínaje 31. října Bude to krátký písemný test na cca 10 až 15 minut maximálně. Test bude zaměřen na syntaxi a sémantiku jazyka C++. Jinak řečeno, otázky typu co tato konstrukce v C++ znamená, je tato konstrukce správná, jak se deklaruje proměnná, co znamená tento operátor, jak se napíše cyklus od jedné do pěti atd. Druhý test se bude psát na cvičeních v týdnu od 7. listopadu 2016 řádný termín. Opravný termín bude v následujícím týdnu tj. od 14. listopadu Na začátku vymezené doby, jedno 90-ti minutové cvičení, dostanete zadání, které ve zbývajícím čase naprogramujete, odladíte a předvedete cvičícímu, který Vaše řešení ihned ohodnotí. Podrobnosti na webu předmětu. Jiří Dvorský (VŠB TUO) Úvodní přednáška 19 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 20 / 358

6 Úkoly třetí test Úkoly závěrečná písemná práce Třetí test se bude psát na cvičeních v týdnu od 5. prosince 2016 řádný termín. Opravný termín bude v následujícím týdnu tj. od 12. prosince Na začátku vymezené doby, jedno 90-ti minutové cvičení, dostanete zadání, které ve zbývajícím čase naprogramujete, odladíte a předvedete cvičícímu, který Vaše řešení ihned ohodnotí. Podrobnosti na webu předmětu. Řádný termín závěrečné písemná práce proběhne na přednášce 12. prosince Bude zaměřena spíše na teoretické znalosti, dále schopnost vysvětlit ukázku kódu v C++ nebo naopak napsat jednoduchou ukázku kódu v C++ podle slovního či matematického zadání. V systému Edison budou vypsány termíny na které se přihlásíte. Podrobnosti na webu předmětu. Studenti, kteří splní všechny úkoly v řádném termínu, budou mít uzavřený předmět ke konci zápočtového týdne. Jiří Dvorský (VŠB TUO) Úvodní přednáška 21 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 22 / 358 Hodnocení úkolů Je nutné splnit všechny výše uvedené úkoly, a zároveň u všech úkolů aspoň minimální počet bodů. Minimální počet bodů Maximální počet bodů První test Druhý test Třetí test Písemná práce Celkem Všechna bodová hodnocení jsou průběžně zapisována do systému Edison. Jiří Dvorský (VŠB TUO) Úvodní přednáška 23 / 358 Obecné pokyny ke všem úkolům U všech úkolů jste povinni se prokázat svou studentskou kartou nebo jiným oficiálním dokladem totožnosti. Bez prokázání totožnosti Vám nebude výsledek započítán. Každý prohřešek vůči studijnímu řádu u testů a písemné práce bude nekompromisně postihován. Jde především o opisování, plagiátorství, a záměnu studentů. Je zakázáno zadání testů, písemek atd. kopírovat, fotit mobily, fotoaparáty, skenovat či jakkoliv jinak kopírovat, rozmnožovat, přenášet elektronickým způsobem a podobně. Na každý úkol máte jeden řádný pokus a jeden opravný pokus. Podmínky pro umožnění opravného termínu jsou uvedeny dále. Předmět je ukončen klasifikovaným zápočtem. Nevztahuje se tudíž na něj požadavek dvou opravných pokusů, jak to vyžaduje studijní řád u zkoušky. Žádné další pokusy nejsou možné, například dvě opravy jednoho testu. Jiří Dvorský (VŠB TUO) Úvodní přednáška 24 / 358

7 Pokyny k prvnímu, druhému a třetímu testu Pokyny k prvnímu, druhému a třetímu testu Řádný termín každého úkolu je pro všechny studenty daného cvičení povinný. Pokud se řádného termínu úkolu nezúčastníte, je vaší povinností se cvičícímu předem omluvit. Termín předem znamená nejpozději do začátku daného cvičení. Pokud se neomluvíte, daný úkol bude považován za nesplněný (0 bodů) a opravný termín vám nebude umožněn. Důsledkem je pak neúspěšné ukončení celého předmětu. Pokud se řádného termínu zúčastníte a neuspějete s řešením zadaného úkolu, máte nárok na opravný termín. Obdobná povinnost omluvit se platí i pro opravný termín. Proč nepovolovat opravný termín? Plýtvání časem vyučujícího! Neúčast na řádných termínech test se musí psát i když je přítomna jen třetina studentů, Požadavky typu: A budou termíny ve zkouškovém? A budou v březnu? A mě to časově nevyhovuje, nemohl bych přijít někdy jindy než na to moje cvičení? Víte já se vrátím v sobotu z hor, mohl bych si napsat ten test třeba v neděli odpoledne? V mailu jsem našel i toto: Z důvodu pracovní vytíženosti Vám oznamuji, že úkoly z předmětu Algoritmy I budu plnit až v letním semestru. Chci se zeptat, kdy budou vypsány termíny? Odpověď: Z důvodu pracovní vytíženosti v letním semestru nebudou žádné termíny. V letním semestru probíhá předmět Algoritmy II. Víte mě šéf nepustí z práce! Nešlo by to nějak? Nešlo, v práci jste tady! Jiří Dvorský (VŠB TUO) Úvodní přednáška 25 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 26 / 358 Pokyny k závěrečné písemné práci Řádný termín závěrečné písemné práce je pro všechny studenty povinný. Pokud se řádného termínu nezúčastníte, je vaší povinností se garantovi předmětu předem omluvit. Termín předem znamená nejpozději do začátku daného termínu. Pokud se neomluvíte, daný úkol bude považován za nesplněný (0 bodů) a opravný termín vám nebude umožněn. Důsledkem je pak neúspěšné ukončení celého předmětu. Opravný termín na závěrečnou písemnou práci je poskytován jen těm studentům, kteří u svého prvního pokusu získali aspoň 10 bodů. Obdobná povinnost omluvit se platí i pro opravný termín. Pokyny k závěrečné písemné práci Proč nepovolovat opravný termín Pokud někteří studenti nepovažují za nutné se na písemnou práci aspoň trochu připravit, já zase nepovažuji za nutné s těmito studenty ztrácet čas opravováním jejich písemek, či spíše výtvorů! Počet bodů na řádném termínu Opravný termín 0 až 9 NE 10 až 20 ANO více než 21 není nutný, úspěch Jiří Dvorský (VŠB TUO) Úvodní přednáška 27 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 28 / 358

8 Ukázky písemných prací Ukázky písemných prací Pusto, prázdno Co si o tom myslet? Křivka A3 má být grafem funkce Toto není zmýlení se v odpovědi, záměna dvou pojmů... Tady prostě nic není! y = log2 x zatímco křivka A4 má být grafem funkce y = x 2. Jiří Dvorský (VŠB TUO) Úvodní přednáška 29 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 30 / 358 Ukázky písemných prací Tak takhle ne! Konec části pro prezenční formu studia Odpověď na otázku 4: WTF? Neumín goauldsky! Odpověď na otázku 5: DUNNO Jiří Dvorský (VŠB TUO) Úvodní přednáška 31 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 32 / 358

9 Tutoriály Kombinovaná forma studia 1. tutoriál nepovinný 16. září 2016 Na tomto úvodním tutoriálu Vám budou sděleny informace o organizaci studia předmětu a informace o náplni předmětu. 2. tutoriál nepovinný 30. září 2016 K tomuto datu se předpokládá zvládnutí následujících témat: První program v C++, algoritmus, program, překlad, procesor, proces. Proměnné, konstanty, datové typy. Řídící konstrukce jazyka (sekvence, větvení, cyklus). Jiří Dvorský (VŠB TUO) Úvodní přednáška 33 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 34 / 358 Tutoriály Tutoriály 3. tutoriál povinný 14. října 2016 V průběhu tutoriálu proběhne první test. K tomuto datu se předpokládá zvládnutí následujících témat: Strukturované programování v C++, funkce a jejich parametry, volání funkcí. Pole. Vyhledávání v poli (sekvenční, půlením intervalu). 4. tutoriál nepovinný 29. října 2016 K tomuto datu se předpokládá zvládnutí následujících témat: Rekurze, vymezení pojmu, příklady, jednoduchý backtracking. 5. tutoriál povinný 11. listopadu 2016 Tento tutoriál je rozdělen do několika skupin, tutoriál proběhne na počítačové učebně, celou náplň tutoriálu bude tvořit druhý test. V systému Edison budou vypsány termíny na které se přihlásíte. 6. tutoriál nepovinný 25. listopadu 2016 K tomuto datu se předpokládá zvládnutí následujících kapitol: Třídění, vymezení problému, adresní třídění. Základní třídící algoritmy (třídění vkládáním, výběrem, bublinové). Pokročilé třídící algoritmy (QuickSort, HeapSort, MergeSort). Konzultace k semestrálnímu projektu. Jiří Dvorský (VŠB TUO) Úvodní přednáška 35 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 36 / 358

10 Tutoriály Úkoly první test 7. tutoriál povinný 9. prosince 2016 Tento tutoriál je rozdělen do několika skupin, tutoriál proběhne na počítačové učebně, celou náplň tutoriálu bude tvořit třetí test. V systému Edison budou vypsány termíny na které se přihlásíte. První test se bude psát na třetím tutoriálu 14. října Opravný termín se bude psát na dalším tutoriálu. Bude to krátký písemný test na cca 10 až 15 minut maximálně. Test bude zaměřen na syntaxi a sémantiku jazyka C++. Jinak řečeno, otázky typu co tato konstrukce v C++ znamená, je tato konstrukce správná, jak se deklaruje proměnná, co znamená tento operátor, jak se napíše cyklus od jedné do pěti a tak dále. Jiří Dvorský (VŠB TUO) Úvodní přednáška 37 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 38 / 358 Úkoly druhý test Úkoly třetí test Druhý test se bude psát na pátém tutoriálu 11. listopadu Opravný termín bude ve zkouškovém období. Na začátku vymezené doby dostanete zadání, které ve zbývajícím čase naprogramujete, odladíte a předvedete. Zadání druhého testu budou obsahovat práci s cykly, podmínkami, poli, i dvourozměrnými. Podívejte se jak se používají různé druhy cyklů, různé druhy podmínek, logické operace (logický součet, součin atd.). Prostudujte si jak se pracuje s vnořenými cykly, jak je lze pomocí příkazu break a continue předčasně ukončovat atd. Prostudujte si práci s polem. Podívejte se, jak se takové pole indexuje, jak se prochází v cyklu. Třetí test se bude psát na sedmém tutoriálu 9. prosince Opravný termín bude ve zkouškovém období. Na začátku vymezené doby dostanete zadání, které ve zbývajícím čase naprogramujete, odladíte a předvedete. Zadání třetího testu bude o něco komplikovanější než v předchozím testu. Pro úspěšné zvládnutí tohoto testu je nutné abyste uměli napsat funkce s různými způsoby předávání parametrů (hodnotou, odkazem), uměli předávat do funkcí pole. A potom takové funkce správně zavolat. V tomto testu se budou provádět výpočty nad polem, hledat v poli, přepisovat hodnoty, zjišťovat počet prvků pole větší než, menší než daná hodnota, tisknout pole na obrazovku atd. Jiří Dvorský (VŠB TUO) Úvodní přednáška 39 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 40 / 358

11 Úkoly projekt Úkoly projekt (pokrač.) V předmětech Algoritmy I a Programování I je v kombinované formě studia požadováno po studentech vypracování projektu. Po dohodě mezi garanty předmětů budou studenti této formy studia, mající zapsány oba dva předměty současně, vypracovávat jen jeden projekt. Studenti mající zapsán pouze jeden z těchto předmětů, jde většinou o studenty opakující předmět či celý ročník, vypracují projekt samozřejmě v tom předmětu, který mají zapsán. Cca v polovině října bude na webu tutora zveřejněno: rozdělení studentů podle předmětu do kterého budou zpracovávat projekt, zadání projektů v předmetu Algoritmy I a rozdělení zadání projektů mezi studenty zpracovávající projekt v předmětu Algoritmy. Obdobné informace k projektům zveřejní i tutor předmětu Programování I. Projekt se odevzdává jako řešení (solution) pro vývojové prostředí Visual Studio 2015 ve formě zip archivu. Způsob odevzdání bude upřesněn. Před odevzdáním projektu odstraňte z adresáře s Vaším projektem všechny spustitelné soubory (exe, bat). Striktní deadline pro odevzdání projektu je 11. prosince :59. Obhajoba proběhne v zápočtovém týdnu. Termíny budou vypsány v systému Edison. K obhajobě projektu není opravný termín. Zásadním kritériem pro úspěšnou obhajobu je funkční program. Jiří Dvorský (VŠB TUO) Úvodní přednáška 41 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 42 / 358 Hodnocení úkolů Obecné poznámky k úkolům Je nutné splnit všechny výše uvedené úkoly, a zároveň u všech úkolů aspoň minimální počet bodů. Minimální počet bodů Maximální počet bodů První test Druhý test Třetí test Projekt Celkem Všechna bodová hodnocení jsou průběžně zapisována do systému Edison. U všech úkolů jste povinni se prokázat svou studentskou kartou nebo jiným oficiálním dokladem totožnosti. Bez prokázání totožnosti Vám nebude výsledek započítán. Každý prohřešek vůči studijnímu řádu u testů a písemné práce bude nekompromisně postihován. Jde především o opisování, plagiátorství, a záměnu studentů. Je zakázáno zadání testů, písemek atd. kopírovat, fotit mobily, fotoaparáty, skenovat či jakkoliv jinak kopírovat, rozmnožovat, přenášet elektronickým způsobem a podobně. Předmět je ukončen klasifikovaným zápočtem. Nevztahuje se tudíž na něj požadavek dvou opravných pokusů, jak to vyžaduje studijní řád u zkoušky. Žádné další pokusy nejsou možné, například dvě opravy jednoho testu. Jiří Dvorský (VŠB TUO) Úvodní přednáška 43 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 44 / 358

12 Pokyny k prvnímu, druhému a třetímu testu Pokyny k prvnímu, druhému a třetímu testu (pokrač.) Na každý z těchto úkolů máte jeden řádný pokus a jeden opravný pokus. Na všechny tři úkoly budou v Edisonu vypsány řádné termíny, kde se budete hlásit. Na první test bude vypsán jeden řádný termín. Na druhý a třetí test bude v jeden den vypsáno několik řádných termínů (kapacita počítačových učeben je menší, test musí běžet na několik kol ). Absolvování prvního, druhého a třetího testu v řádném termín tj. na příslušném tutoriálu je povinné. Pokud se řádného termínu testu nezúčastníte, bez ohledu na to zda jste byli přihlášeni nebo ne, je vaší povinností se garantovi předmětu předem omluvit. Termín předem znamená nejpozději do začátku termínu, na kterém máte daný test psát. Postačující je omluva em na adresu garanta předmětu. Pokud se neomluvíte, daný úkol bude považován za nesplněný (0 bodů) a opravný termín vám nebude umožněn. Důsledkem je pak neúspěšné ukončení celého předmětu. Pokud se řádného termínu zúčastníte a neuspějete s řešením zadaného úkolu, máte nárok na opravný termín. Obdobná povinnost omluvit se platí i pro opravný termín. Opravné termíny budou vypsány ve zkouškovém období. Jiří Dvorský (VŠB TUO) Úvodní přednáška 45 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 46 / 358 Software pro výuku Konec části pro kombinovanou formu studia Primární software: Vývojové prostředí pro C++ Dokumentace k C++ Doplňkový software: Dokumentační systém Doxygen, Typografický systém L A TEX, Jiří Dvorský (VŠB TUO) Úvodní přednáška 47 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 48 / 358

13 Vývojová prostředí pro C++ Vývojová prostředí pro C++ Microsoft Visual Studio 2013 (VS2013): pro výukové účely zcela legálně a zadarmo, image instalačních disků lze stáhnout z Microsoft DreamSpark for Academic Institutions, elms.cs.vsb.cz instalace včetně dokumentace Microsoft Developer Network, msdn.microsoft.com, bezplatně ke stažení jazyková sada pro češtinu. alternativou jsou tzv. Express Edition, ke stažení přímo od Microsoftu. Microsoft Visual Studio 2015 (VS2015): pro výukové účely zcela legálně a zadarmo, image instalačních disků lze stáhnout z Microsoft DreamSpark for Academic Institutions, elms.cs.vsb.cz instalace včetně dokumentace Microsoft Developer Network, msdn.microsoft.com, alternativou je tzv. Community Edition, ke stažení přímo od Microsoftu. Jiří Dvorský (VŠB TUO) Úvodní přednáška 49 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 50 / 358 Vývojová prostředí pro C++ Studijní literatura Lze pracovat v obou vývojových prostředích. Ovládání obou prostředí je téměř totožné. Rozdíly mezi překladačem jazyka C++ ve VS2013 a VS2015 jsou z pohledu předmětu Algoritmy I a Algoritmy II zanedbatelné. VS2015 je v současné době instalováno na počítačových učebnách katedry. Vývojové prostředí VS2015 spolu s integrovaným překladačem jazyka C++ bude užíváno jednak pro výuku a jednak jako referenční překladač při hodnocení Vašich případných projektů, úkolů a jiných zdrojových kódů, které budete odevzdávat. Pochopitelně stačí mít instalováno jen jedno z obou vývojových prostředí. Učební materiály lze rozdělit do dvou skupin: literatura o programovacím jazyku C++, literatura o algoritmech a datových strukturách. Níže uvedenou literaturu využijete v předmětech: Algoritmy I a Algoritmy II, Programování I a Programování II. Jiří Dvorský (VŠB TUO) Úvodní přednáška 51 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 52 / 358

14 Základní literatura o C++ O jazyce C++, který je naším hlavním tématem, existuje v dnešní době řada česky psaných knih. Následující knihy můžete využít pro své studium: 1. Liberty J., Jones B. L.: Naučte se C++ za 21 dní, 2. aktualizované vydání, ComputerPress, 2007, ISBN Zdařilá učebnice jazyka C++. Kniha je sice poněkud tlustá, nicméně je rozdělena do 21 lekcí rozumného rozsahu. Pokrývá veškerou látku, kterou bychom měli za oba semestry probrat. 2. Eckel B.: Myslíme v jazyku C++, Grada Publishing, 2000, ISBN Kniha od klasika ve výuce jazyka C++. Opět pokrývá veškerou látku, kterou bychom měli za oba semestry probrat.. Kniha je dostupná v angličtině i online na serveru 3. Stroustrup, B.: C++ Programovací jazyk. Česky: BEN-technická literatura, Praha Vynikající kniha přímo od autora jazyka C++. Kniha dosti rozsáhlá, ale na druhou stranu obsahující naprosto vše co lze o C++ napsat. Jiří Dvorský (VŠB TUO) Úvodní přednáška 53 / 358 Doplňková literatura o C++ Dále je možné čerpat zajímavé informace z následujících knih: 1. Virius M.: Pasti a propasti jazyka C++, 2. aktualizované a rozšířené vydání, ComputerPress, 2005, ISBN V této knize naleznete podrobné vysvětlení, pro začátečníka mnohdy překvapivého chování překladače jazyka C Alexandrescu A.: Moderní programování v C++ Šablony, generické komponenty a návrhové vzory, ComputerPress 2004, ISBN Pro ty z Vás, kteří se hodlají dozvědět něco o trendech ve využití jazyka C++, nabízí tato kniha rozšiřující informace. Pozor, nejedná se přímo o učebnici jazyka C Koenig A., Moo B.E.: Rozumíme C++, ComputerPress, 2003, ISBN X. Alternativní učebnice jazyka C++ s odlišnou metodou výkladu než předchozí doporučené. Výuka je vedena přes využití knihoven jazyka C++, okamžitý nástup objektového programování atd. Jiří Dvorský (VŠB TUO) Úvodní přednáška 54 / 358 Ostatní literatura o C++ 1. Šaloun, P.: Programovací jazyk C++ pro zelenáče, Neocortex Praha, 2005, ISBN Richta, K., Šaloun, P.: Programovací jazyk C, skriptum ČVUT, Praha Šaloun, P.: Programovací jazyk C. Skriptum FEI VŠB-TU Ostrava Kernighan, B., Ritchie, D.: Programovací jazyk C, Alfa Bratislava, Herout, P., Rudolf, V., Šmrha, P.: ABC programátora v jazyce C, nakladatelství KOPP, České Budějovice, Vondrák, I., Šaloun, P.: Objektově orientované programování, skriptum VŠB Ostrava, Horstmann, C. S.: Vyšší škola objektového návrhu v C++. Science, Veletiny Večerka, A.: Jazyk C++: popis jazyka s příklady, skriptum UP Olomouc, Olomouc 1996, ISBN Jiří Dvorský (VŠB TUO) Úvodní přednáška 55 / 358 Základní literatura o algoritmech 1. Skripta Algoritmy 2. Wirth, N.: Algoritmy a štruktúry údajov, Alfa, Bratislava, Sedgewick R.: Algoritmy v C, části 1-4, SoftPress, Praha, Existuje i v anglické verzi, náročná, ale vynikající kniha. 4. Wróblewski P.: Algoritmy. Datové struktury a programovací techniky, Computer Press, Praha 2003, druhé vydání 2015 Jiří Dvorský (VŠB TUO) Úvodní přednáška 56 / 358

15 Doplňková literatura o algoritmech Ostatní učební materiály 1. Topfer, P.: Algoritmy a programovací techniky, Prometheus, Praha Virius, M.: Základy algoritmizace, ČVUT Praha, 1997, skripta. 3. Honzík, J. a kolektiv: Programovací techniky, VUT Brno, 1987, skripta. 4. Harel, D.: Algorithmics, The Spirits of Computing, Addison-Wesley Publishing Company, Cormen, Leiserson, Rievest: Introduction to Algorithms, MIT Press, Sedgewick, R.: Algorithms in C++, Addison-Wesley Publishing Company, Wood, D.: Data Structures, Algorithms and Performance, Addison-Wesley Publishing Company, Prezentace z přednášek Prezentace z přednášek nejsou studijním materiálem. Slouží přednášejícímu jako osnova jeho výkladu a studentům jako přehled probrané látky. Pročtení těchto několika prezentací není možné považovat za dostatečnou přípravu k tomu slouží studijní literatura a hlavně vlastní, samostatné programování. Další materiály budou případně doplněny na webových stránkách předmětu. Jiří Dvorský (VŠB TUO) Úvodní přednáška 57 / 358 Jiří Dvorský (VŠB TUO) Úvodní přednáška 58 / 358 Pojem algoritmus Děkuji za pozornost doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Jiří Dvorský (VŠB TUO) Úvodní přednáška 59 / 358 Jiří Dvorský (VŠB TUO) Pojem algoritmus 60 / 358

16 Algoritmický problém Algoritmický problém vstup, výstup, vstupní a výstupní podmínka Algoritmus pravidla definující postup jak vstupní data transformovat na výstupní Algoritmus můžeme chápat také jako konečnou posloupnost instrukcí, které po konečném počtu kroků vydá požadovaný výstup K našim účelům bude stačit tato intuitivní definice algoritmu Algoritmus Algoritmus Název algoritmus pochází ze začátku devátého století z Arábie. V letech 800 až 825 napsal arabský matematik Muhammad ibn Músá al Chwárizmí dvě knihy, z nichž jedna se v latinském překladu jmenovala Algoritmi dicit, česky Tak praví al Chwárizmí. Byla to kniha postupů pro počítání s čísly. Těmto postupům my dnes říkáme písemné sčítání, písemné násobení atd. Poznámky Sestavit správný algoritmus řešení problému nemusí být vždy snadnou činností. Logická chyba v algoritmu může vést k nesprávným výsledkům. Pro řešení jedné a té samé úlohy může existovat více různých algoritmů, tyto algoritmy se můžou lišit v množství spotřebovaného času a paměťového prostoru. Jiří Dvorský (VŠB TUO) Pojem algoritmus 61 / 358 Jiří Dvorský (VŠB TUO) Pojem algoritmus 62 / 358 Algoritmus Algoritmu můžeme rozumět jako předpisu pro řešení nějakého problému. Jako příklad vezměme třídění množiny celých čísel. Pokud rozebereme řešení takové úlohy do důsledku, musí obsahovat tři věci: 1. hodnoty vstupních dat (množina celých čísel), 2. předpis pro řešení, 3. požadovaný výsledek, tj. výstupní data (setříděná čísla). Konstruktivní řešení problémů Všimněte si, že řešení problému je pomocí algoritmu konstruováno ze vstupních dat! Stejný postup používá například geometrie. Jiří Dvorský (VŠB TUO) Pojem algoritmus 63 / 358 Nekonstruktivní řešení problému aneb Na tohle není algoritmus! Příklad Naším úkolem je najít dvě iracionální čísla x a y taková aby platilo, že x y je číslo racionální. Řešení Zvolíme x = 2 a y = 2. Je-li x y číslo racionální jsme hotovi, není-li x y číslo racionální, zvolíme například x = 2 2 a y = 2. Potom dostaneme x y = ( ) 2 2 ( ) 2 2 ( ) 2 2 = 2 = 2 = 2 Je zřejmé, že řešením je buď dvojice čísel x = 2 a y = 2 nebo dvojice čísel x = 2 2 a y = 2, přičemž nejsme z uvedeného řešení schopni říci která dvojice je vlastně řešením našeho problému. Jiří Dvorský (VŠB TUO) Pojem algoritmus 64 / 358

17 Nekonstruktivní řešení problému aneb Na tohle není algoritmus! V čem spočívá problém? 1. není jasné zda je 2 2 číslo iracionální nebo ne, 2. není jasné jak volit kandidáty na řešení iracionální čísla jsou nespočetná. Spočetnost množiny čísel O množině řekneme, že je spočetná pokud ji lze zobrazit na množinu přirozených čísel. Přirozená čísla lze probírat, vyjmenovat, jedno po druhém. Stejně to lze provést s čísly celými a racionálními (zlomky). Nelze to provést s čísly iracionálními, reálnými a komplexními. Po 1 následuje nutně 2, po 2, 5 následuje co? 2, 51 nebo 2, 501 nebo 2, 5001? Jaké číslo následuje po 2? Jiří Dvorský (VŠB TUO) Pojem algoritmus 65 / 358 Algoritmus Algoritmus je předpis, který se skládá z kroků a který zabezpečí, že na základě vstupních dat jsou poskytnuta požadovaná data výstupní. Navíc každý algoritmus musí mít následující vlastnosti: konečnost, hromadnost, jednoznačnost, opakovatelnost, rezultativnost, elementárnost. Jiří Dvorský (VŠB TUO) Pojem algoritmus 66 / 358 Algoritmus vlastnosti Algoritmus vlastnosti Konečnost Požadovaný výsledek musí být poskytnut v rozumném čase (pokud by výpočet trval na nejrychlejším počítači např. jeden milion let, těžko bychom mohli hovořit o algoritmu řešení, nemluvě o výpočtu, který by neskončil vůbec). Za rozumný lze považovat čas, kdy nám výsledek výpočtu k něčemu bude. Hromadnost Vstupní data nejsou v popisu algoritmu reprezentována konkrétními hodnotami, ale spíše množinami, ze kterých lze data vybrat (např. při třídění přirozených čísel bude vstup konečnou podmnožinou množiny všech přirozených čísel). Při popisu algoritmu v programovacím jazyce se to projeví tím, že vstupy do algoritmu jsou označeny symbolickými jmény. Jiří Dvorský (VŠB TUO) Pojem algoritmus 67 / 358 Jiří Dvorský (VŠB TUO) Pojem algoritmus 68 / 358

18 Algoritmus vlastnosti Algoritmus vlastnosti Jednoznačnost Každý předpis je složen z kroků, které na sebe navazují. Každý krok můžeme charakterizovat jako přechod z jednoho stavu algoritmu do jiného, přičemž každý stav je určen zpracovávanými daty. Tím, jak data v jednotlivých stavech algoritmu vypadají, musí být jednoznačně určeno, který krok následuje (např: V řešení trojúhelníka může nastat situace, kdy vychází na základě vstupních dat jedno nebo dvě řešení. Situace je tedy nejednoznačná, řešení musí být jednoznačné, tzn. v předpisu se s touto možností musí počítat a musí v něm být návod, jak ji řešit.). Opakovatelnost Při použití stejných vstupních údajů musí algoritmus dospět vždy k témuž výsledku. Rezultativnost Algoritmus vede ke správnému výsledku. Elementárnost Algoritmus se skládá z konečného počtu jednoduchých (elementárních) kroků. Jiří Dvorský (VŠB TUO) Pojem algoritmus 69 / 358 Jiří Dvorský (VŠB TUO) Pojem algoritmus 70 / 358 Algoritmus formálnější přístup Algoritmus formálnější přístup Turingův stroj teoretický model počítače popsaný matematikem Alanem Turingem, procesorová jednotka, tvořená konečným automatem, program ve tvaru pravidel přechodové funkce, a pravostranně nekonečné pásky pro zápis mezivýsledků. cs.wikipedia.org/wiki/turingův_stroj Church-Turingova teze Ke každému algoritmu existuje ekvivalentní Turingův stroj. Kvůli neformální definici pojmu algoritmus nemůže být tato teze nikdy dokázána. Lze ji ale vyvrátit, podaří-li se sestrojit algoritmus, který bude umět řešit problémy, které Turingův stroj řešit neumí. Jelikož každý počítačový program lze přeložit do jazyka Turingova stroje a obvykle i naopak, lze tezi ekvivalentně formulovat pro kterýkoli běžně používaný programovací jazyk. Jiří Dvorský (VŠB TUO) Pojem algoritmus 71 / 358 Jiří Dvorský (VŠB TUO) Pojem algoritmus 72 / 358

19 Algoritmus formálnější přístup Shrnutí Přesněji, programovací jazyk potřebuje jednu z následujících konstrukcí, aby byl s Turingovým strojem ekvivalentní: while-cyklus nebo neomezenou (alespoň teoreticky) rekurzi nebo podmíněný skok. Běžné programovací jazyky mívají všechny tři tyto konstrukce. Mezi jazyky, které nejsou ekvivalentní s Turingovým strojem patří například jazyk SQL (myšleno bez vložených procedur). Algoritmický problém Algoritmus konečnost, hromadnost, jednoznačnost, opakovatelnost, rezultativnost, elementárnost. Turingův stroj Church-Turingova teze Jiří Dvorský (VŠB TUO) Pojem algoritmus 73 / 358 Jiří Dvorský (VŠB TUO) Pojem algoritmus 74 / 358 Základy C++ Děkuji za pozornost doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Jiří Dvorský (VŠB TUO) Pojem algoritmus 75 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 76 / 358

20 Co je to počítač? Z čeho se skládá počítač Počítač Počítač můžeme definovat jako zařízení schopné provádět výpočty a rozhodnutí založená na logice. Hardware (HW) technická část počítače, různá zařízení z nichž je počítač sestaven, např. klávesnice, monitor, pevný disk, paměť, procesor, sběrnice... Software (SW) programové vybavení počítače, oživuje hardware, mnoho úrovní software: ovladače zařízení, jádro operačního systému, moduly operačního systému (správa uživatelů, správa disků atd.), grafické uživatelské rozhraní, uživatelské aplikace. Jiří Dvorský (VŠB TUO) Základy C++ 77 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 78 / 358 Základní struktura počítače Základní struktura počítače Konceptuální schéma počítače vstup, výstup, paměť, řadič a aritmeticko logická jednotka (ALU). Poznámky O takto koncipovaném počítačí říkáme, že má von Neumannovskou architekturu. Řadič a ALU tvoří dohromady to, čemu se běžně říká procesor. Jiří Dvorský (VŠB TUO) Základy C++ 79 / 358 Vstup Výstup zařízení pomocí kterého se dostávají informace do počítače, klávesnice, myš, scanner, počítačová síť... předává informace z počítače jeho periferiím výsledky výpočtů a řídící informace. Jiří Dvorský (VŠB TUO) Základy C++ 80 / 358

21 Základní struktura počítače Základní struktura počítače Paměť Paměť můžeme rozdělit na paměť primární a sekundární. Primární paměť vnitřní paměť počítače, Random Access Memory (RAM), velice rychlá, relativně malá kapacita, obsahuje zpracovávané programy, jejich data, data ze vstupu, data čekající na výstup. Sekundární paměť vnější paměti počítače, relativně pomalé, velká kapacita, obsahuje všechny programy počítače, data pro tyto programy. Aritmeticko logická jednotka, ALU centrální výkonná část počítače, provádí veškeré výpočty, logické operace atd. Charles Babbage nazýval ALU slovem mlýnice Řadič řídící část počítače, řídí a koordinuje ostatní části počítače. Jiří Dvorský (VŠB TUO) Základy C++ 81 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 82 / 358 Program versus proces Operační systém (OS) Program posloupnost instrukcí které řídí počítač při zpracování dat, statický. Proces program, který je v daném okamžiku již vykonáván počítačem, dynamický první počítače OS postrádaly, procesy si zajišťovaly vše samy, snaha usnadnit a sjednotit práci s počítačem, periferiemi, poskytnout podporu pro běžně prováděné činnosti čtení dat ze vstupu, tisk na tiskárně atd., zvýšit výkon počítače, jednoúlohový vs. víceúlohový OS, jednouživatelský vs. víceuživatelský OS, dnešní OS: UNIX/Linux, Windows, Mac OS X Mountain Lion atd., Pozor! Grafické uživatelské rozhraní (GUI), které vidíte na obrazovce je jen špičkou ledovce. OS je rozsáhlá infrasturktura skrytá za tímto rozhranním. Jiří Dvorský (VŠB TUO) Základy C++ 83 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 84 / 358

22 Osobní počítače Programovací jazyk v průběhu 70. let 20. století používá Apple pro své počítače označení osobní, v roce 1981 uvedlo IBM osobní počítač, PC s procesorem Intel 8088, IBM zvolilo cestu otevřeného standardu, podíleli se různí výrobci HW a SW. typicky procesory Intel či AMD, operační systém zprvu DOS, následně Windows a Linux. prostředek pro zápis algoritmů ve formě použitelné na počítači, jde formální jazyk formálně tj. matematicky popsaná syntaxe a sémantika jazyka, jinak řečeno jde o jazyk, který má svou gramatiku, slova, věty, věty mají svůj význam... program zápis algoritmu ve zvoleném programovacím jazyce, programovací jazyky lze členit dle mnoha hledisek. Jiří Dvorský (VŠB TUO) Základy C++ 85 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 86 / 358 Programovací jazyky Nižší programovací jazyky jazyk plně přizpůsobený počítači, jazyk symbolických adres, strojový kód, částečně VHDL. Vyšší programovací jazyky jazyk lépe pochopitelnější pro člověka, vyšší míra abstrakce, syntaxe podobná primitivní angličtině, užití např. běžných značek pro matematické operace, jednomu příkazu ve vyšším jazyce odpovídá obecně mnoho instrukcí ve strojovém jazyce, většina současně používaných jazyků. Programovací jazyky způsob překladu a spuštění Kompilované programovací jazyky program je nejprve kompletně přeložen překladačem do strojového kódu počítače, teprve po bezchybném překladu je možné přeložený tvar programu spustit, výhody: výsledný spustitelný tvar programu může být přesně optimalizován na konkrétní HW a OS, větší rychlost běhu takového programu, lepší využití prostředků HW. nevýhody: závislost na konkrétním HW a OS, pro každý HW a OS nutno zvlášť přeložit, menší pružnost při odstraňování chyb v programech, nelze snadno měnit kód programu za jeho běhu. typické překládané jazyky C, C++, Pascal (Delphi), Fortran. Jiří Dvorský (VŠB TUO) Základy C++ 87 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 88 / 358

23 Programovací jazyky způsob překladu a spuštění Kompilované programovací jazyky poznámka překladač se někdy označuje jako kompilátor (compiler) a překlad jako kompilování (to compile), překladač je program, který překládá program z jednoho jazyka do jiného jazyka, typicky například z C++ do strojového kódu procesoru, překladače nemusí překládat jen programy, například tato prezentace je napsána v jazyku L A TEX a překladem textu v tomto počítačovém jazyce získáme PDF dokument, který právě čtete. Programovací jazyky způsob překladu a spuštění Interpretované programovací jazyky speciální prostředí pro běh programu, toto prostředí čte zdrojový kód programu a jakmile načte celý příkaz, okamžitě jej vykoná a pokračuje na další příkaz, výhody: nezávislost programů na HW a OS, závislý je pouze interpret, dynamičtější manipulace s programem, např. za běhu programu lze opravovat zdrojový kód, protože tento kód je interpretem opakovaně načítán. nevýhody: obtížná optimalizace pro daný HW a OS, horší využití prostředků HW a OS (na počítači musí běžet i interpret). typický interpretovaný jazyk je BASIC ve své klasické podobě, například na starých 8-bitových počítačích pozor jazyk Visual Basic.NET nebo Java jsou uspořádány jinak! Jiří Dvorský (VŠB TUO) Základy C++ 89 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 90 / 358 Programovací jazyky způsob překladu a spuštění Interpretované programovací jazyky členění na kompilované a interpretované není absolutní, tyto přístupy lze kombinovat, jazyk Java a jeho Java Virtual Machine (JVM): JVM představuje virtuální procesor se svým specifickým strojovým jazykem, zdrojový kód v jazyku Java je kompilován do strojového kódu JVM (výsledkem jsou class a jar soubory), při spuštění JVM začne jednotlivé instrukce uložené např. v jar souboru interpretovat. obdobně se chová i Visual Basic.NET či Python, Just in Time (JIT) kompilace: zdrojový kód programu je teprve při spuštění kompilován do strojového kódu počítače a okamžitě spuštěn, přeložený tvar programu se nikde neukládá, program je vždy kompilován znovu. Nižší programovací jazyky Strojový kód jediný jazyk, kterému počítač (procesor) rozumí, sekvence 0 a 1, strojově závislý, pro člověka nestravitelný. Příklad Jiří Dvorský (VŠB TUO) Základy C++ 91 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 92 / 358

24 Nižší programovací jazyky Vyšší programovací jazyky Jazyk symbolických adres nesprávně česky nazýván assembler, assembler překladač do strojového kódu, assembly language, anglické zkratky názvů instrukcí, pro člověka stravitelnější, Příklad MOV reg0, Vyska MOV reg1, Sirka MUL reg0, reg1 MOV reg0, Plocha Procedurální (imperativní) Strukturované, např. C, BASIC, Objektově orientované, např. Smalltalk, Java. Neprocedurální (deklarativní) Funkcionální, např. Lisp, Haskell, Logické, např. Prolog. Jiří Dvorský (VŠB TUO) Základy C++ 93 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 94 / 358 Příklady vyšších programovacích jazyků Co je C++? Příklad FORTRAN (FORmula TRANslation) první vyšší jazyk z roku 1957, vývoj trval tři roky, dodnes používán pro numerické výpočty, COBOL (COmmon Business-Oriented Language) 1959, jazyk pro hromadné zpracování dat, Pascal 1970, strukturované programování, výuka programování. Basic (Beginner s All-purpose Symbolic Instruction Code) 1963, nyní převážně MS Visual Basic Plocha = Vyska * Sirka C++ je: vyšší programovací jazyk, určen pro všeobecné použití, určen pro profesionální programátory, zachovává zpětnou kompatibilitu s jazykem C. C++ je jazyk typicky překládaný do strojového kódu. C++ dnes V dnešní době plní jazyk C++ úlohu moderního assembleru. Jiří Dvorský (VŠB TUO) Základy C++ 95 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 96 / 358

25 Historie jazyka C Jazyk C++ autor Dennis Ritchie, Bell Laboratories, v letech 1968 až 1973, vychází z jazyků BCPL a B, silná vazba na OS UNIX, jádro OS UNIX práno v C, Brian Kernighan a Dennis Ritchie vydávají v roce 1978 knihu The C Programming Language, jazyk označováno jako K & R C 1989 ANSI standard 1990 ANSI a ISO norma ANSI/ISO 9899: C99, ISO 9899: Bjarne Stroustrup (Bell Laboratories) vyvíjí jazyk C with classes 1983 název změněn na C vychází kniha The C++ Programming Language, zatím se nejedná o standard, 1998 norma ISO/IEC 14882: norma ISO/IEC 14882:2011, 12. srpna 2011, rozšíření jazyka C o OOP, plus další úpravy, jazyk není čistě objektový. Jiří Dvorský (VŠB TUO) Základy C++ 97 / 358 Jiří Dvorský (VŠB TUO) Základy C++ 98 / 358 Vznik spustitelného programu základní pojmy První program zdrojový kód napsán programátorem, textový soubor obsahující konstrukce C++ o kterých programátor doufá, že budou vykonávat to co požaduje. hlavičkový soubor deklarace funkcí, tříd, konstant atd. Buď napsán programátorem nebo dodán s překladačem. projekt soubor popisující, ze kterých zdrojových kódů a knihoven vznikne výsledný program. kód s relativními adresami anglicky object file, zdrojové kódy jsou přeloženy do instrukcí procesoru, ale nejsou dořešeny všechny vazby. spustitelný kód soubor s binárním zápisem instrukcí, přímo vykonavatelný procesorem. Hello World #include <iostream> using namespace std; // This is single line comment. void main() cout << "Hello World" << endl; Čeština ve zdrojovém kódu Nedoporučuji psát do C++ cokoliv česky s diakritikou, ani komentáře. Jiří Dvorský (VŠB TUO) Základy C++ 99 / 358 Jiří Dvorský (VŠB TUO) Základy C / 358

26 Vznik spustitelného programu Vznik spustitelného programu Vznik spustitelného programu ze zdrojového kódu prochází těmito fázemi: 1. Edit editace zdrojového kódu, 2. Preprocess rozvinutí maker, vložení hlavičkových souborů, 3. Compile vlastní překlad, výsledkem je modul s relativními adresami nebo alternativně program v assembleru, 4. Link sestavení výsledného programu, vstupem jsou moduly s relativními adresami, plus knihovny; výsledkem spustitelný program, 5. Load OS zavede spustitelný kód do primární paměti, 6. Execute vlastní vykonávání programu. Ke vzniku spustitelného programu se využívají následující programy: 1. Edit textový editor, 2. Preprocess preprocesor, 3. Compile překladač, kompilátor, 4. Link linker (sestavovač, spojovač?), 5. Load operační systém, 6. Execute operační systém. Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358 Ladění Základní stavební bloky C++ Proces odstraňování chyb v programu se nazývá ladění. K ladění slouží program zvaný Debugger umožňuje sledovat vykonávání programu, vypisovat hodnoty proměnných, zobrazuje zásobník volání funkcí, umožňuje nastavovat tzv. breakpointy, tj. místa, kde se má přerušit vykonávání programu krokování programu po jednom příkazu. Data údaje, které bude program zpracovávat, Kód instrukce programu prostřednictvím jsou zapisovány algoritmy, Komentáře pomocné informace pro programátora umístěné ve zdrojovém kódu. Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358

27 Datové typy v C++ Datové typy v C++ Datový typ definuje dvě vlastnosti: rozsah povolených dat, čili jaké hodnoty jsou povolené a jaké ne, povolené operace, čili co s těmi hodnotami lze provádět. Berte je vážně Datové typy jsou jedním z prostředků pro psaní kvalitních programů. Datový typy v C++ dělíme na: základní celočíselné s plovoucí řádovou čárkou logické adresní ukazatelé reference strukturované pole struktura třída Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358 Celočíselné datové typy v C++ char jeden byte short větší nebo roven char int větší nebo roven short long větší nebo roven int long long větší nebo roven long Všechny typy jsou automaticky se znaménkem, neznaménková verze se uvádí klíčovým slovem unsigned, např. unsigned int. Rozsahy celočíselných datových typů ve VS 2010 Typ Bajty Rozsah hodnot char short int long long long Celočíselné datové typy v C++ Číselné soustavy v C++: desítková základ soustavy je číslo 10, číslice 0 až 9, např. 158 osmičková základ soustavy je číslo 8, číslice 0 až 7, např šesnáctková základ soustavy je číslo 16, číslice 0 až 9, písmena A až F, kde A je deset, B jedenáct atd., např. 0x9E Nejběžnější se pochopitelně desítková soustava. Binární soustava se nepoužívá ve zdrojovém kódu přímo nepoužívá (dlouhý zápis čísel). Osmičková soustava je spíše historický přežitek. Šestnáctková soustava se používá pro manipulaci s bity vždy 4 bity na jednu šestnáctkovou číslici. Šestnáctková soustava se také často nazývá jako hexadecimální soustava. Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358

28 Číselné soustavy příklad Datové typy s plovoucí řádovou čárkou v C++ Číslo 158 můžeme vyjádřit v jednotlivých číselných soustavách takto: binárně = osmičkově = desítkově = hexadecimálně 9E 16 = Datový typ Počet bajtů Rozsah hodnot Platné číslice float 4 ±3, 4 10 ±38 7 double 8 ±1, 7 10 ± long double ve Visual Studio 2013 shodné s double Reálná čísla vs. čísla s plovoucí řádovou čárkou Čísla s plovoucí řádovou čárkou nejsou totožná s reálnými čísly z matematiky problém s periodickými čísly, iracionálními čísly! Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358 Logický datový typ v C++ Logický datový typ v C++ jazyk C++ zavádí pro logické hodnoty datový typ bool, konstanty true pravda a false nepravda, platí že true false, neexistuje žádná souvislost mezi bool a int! Logické hodnoty v ANSI C Jazyk ANSI C používá pro uložení logických hodnot typ int včetně svérázné definice hodnot true a false. V jazyce C++ důrazně doporučuji nepoužívat tento zastaralý přístup a doporučuji používat typ bool. Platné vztahy true false true = false false = true Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358

29 Proměné Data v programu jsou reprezentována pomocí proměnných. Proměnná identifikátor, datový typ, hodnota. Jiří Dvorský (VŠB TUO) Základy C / 358 Identifikátor obecný název pro pojmenování čehokoliv v programu co lze pojmenovat, konečná neprázdná posloupnost písmen, číslic, znaků podtržítko, která nesmí začínat číslicí, rozlišují se malá a velká písmena. délka identifikátoru není teoreticky omezena Příklad a A a1 ab _a _a1 a_b VeryLongIdentifier Jak správně volit identifikátory? Buď česky nebo anglicky, ne mixovat! NextMove nebo DalsiTah ne NextTah. Raději anglicky. Identifikátor musí popisovat co obsahuje! NumberOfStudents nebo PocetStudentu ne A28. Jiří Dvorský (VŠB TUO) Základy C / 358 Nikdy není hotovo, dopsat další slajdy... Děkuji za pozornost Jiří Dvorský (VŠB TUO) Základy C / 358 Jiří Dvorský (VŠB TUO) Základy C / 358

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Pojem algoritmus doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Pojem algoritmus 54 / 344

Více

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Úvodní přednáška doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Úvodní přednáška 1 / 346 Osnova

Více

Základy C++ doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Základy C++ doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Základy C++ doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Základy C++ 66 / 429 Osnova přednášky

Více

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Úvodní přednáška doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Úvodní přednáška 1 / 430 Osnova

Více

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Úvodní přednáška doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 28. března 2018 Jiří Dvorský (VŠB TUO) Úvodní přednáška 1 / 384

Více

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Úvodní přednáška. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Úvodní přednáška 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) Úvodní přednáška 1 / 315

Více

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013

Předměty. Algoritmizace a programování Seminář z programování. Verze pro akademický rok 2012/2013. Verze pro akademický rok 2012/2013 Předměty Algoritmizace a programování Seminář z programování Verze pro akademický rok 2012/2013 Verze pro akademický rok 2012/2013 1 Přednášky Jiřina Královcová MTI, přízemí budovy A Tel: 48 53 53 521

Více

Celková osnova přednášek. Algoritmy I prezentace k přednáškám. Celková osnova přednášek (pokrač.) Celková osnova přednášek (pokrač.

Celková osnova přednášek. Algoritmy I prezentace k přednáškám. Celková osnova přednášek (pokrač.) Celková osnova přednášek (pokrač. Celková osnova přednášek Algoritmy I prezentace k přednáškám doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří

Více

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

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

Více

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III

Michal Krátký. Úvod do programování. Cíl kurzu. Podmínky získání zápočtu III/III Michal Krátký Ú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 tel.: +420 596 993 239 místnost: A1004 mail: michal.kratky@vsb.cz

Více

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

Více

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace Číslo projektu Číslo materiálu Autor Průřezové téma Předmět CZ.1.07/1.5.00/34.0565 VY_32_INOVACE_284_Programovací_jazyky

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

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

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

Více

IB111 Úvod do programování skrze Python Přednáška 13

IB111 Úvod do programování skrze Python Přednáška 13 IB111 Úvod do programování skrze Python Přednáška 13 Programovací jazyky Nikola Beneš 14. prosinec 2016 IB111 přednáška 13: programovací jazyky 14. prosinec 2016 1 / 21 Osnova dnešní přednášky Programovací

Více

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost

Vlastnosti algoritmu. elementárnost. determinovanost. rezultativnost. konečnost. hromadnost. efektivnost Programování Algoritmus návod na vykonání činnosti, který nás od (měnitelných) vstupních dat přivede v konečném čase k výsledku přesně definovaná konečná posloupnost činností vedoucích k výsledku (postup,

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

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

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

Algoritmizace. Cíle předmětu

Algoritmizace. Cíle předmětu Cíle předmětu Algoritmizace naučit se sestavovat algoritmy řešení jednoduchých problémů a zapisovat je v jazyku Java Organizace předmětu přednášky (učast nepovinná, ale doporučená) cvičení střídavě u tabule

Více

11. Přehled prog. jazyků

11. Přehled prog. jazyků Jiří Vokřínek, 2016 B6B36ZAL - Přednáška 11 1 Základy algoritmizace 11. Přehled prog. jazyků doc. Ing. Jiří Vokřínek, Ph.D. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze

Více

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Pojem algoritmus doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Pojem algoritmus 51 / 432

Více

Algoritmizace- úvod. Ing. Tomáš Otáhal

Algoritmizace- úvod. Ing. Tomáš Otáhal Algoritmizace- úvod Ing. Tomáš táhal Historie 9. století perský matematik a astronom Mohammed Al-Chorezím v latinském přepise příjmení= algoritmus Nejstarší algoritmus Euklides řecký matematik, 4. století

Více

Základy algoritmizace

Základy algoritmizace Algoritmus Toto je sice na první pohled pravdivá, ale při bližším prozkoumání nepřesná definice. Například některé matematické postupy by této definici vyhovovaly, ale nejsou algoritmy. Přesné znění definice

Více

IB111 Programování a algoritmizace. Programovací jazyky

IB111 Programování a algoritmizace. Programovací jazyky IB111 Programování a algoritmizace Programovací jazyky Programovací jazyky Programovací jazyk Prostředek pro zápis algoritmů, jež mohou být provedeny na počítači Program Zápis algoritmu v programovacím

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

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Čí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

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí)

Programovací jazyky. imperativní (procedurální) neimperativní (neprocedurální) assembler (jazyk symbolických instrukcí) Programovací jazyky Programovací jazyky nižší assembler (jazyk symbolických instrukcí) vyšší imperativní (procedurální) Pascal, C/C++, Java, Basic, Python, php neimperativní (neprocedurální) Lisp, Prolog

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

Matematika v programovacích

Matematika v programovacích Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 19. září 2011 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Doporučená literatura web: http://marian.fsik.cvut.cz/zapg

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

Maturitní témata Školní rok: 2015/2016

Maturitní témata Školní rok: 2015/2016 Maturitní témata Školní rok: 2015/2016 Ředitel školy: Předmětová komise: Předseda předmětové komise: Předmět: PhDr. Karel Goš Informatika a výpočetní technika Mgr. Ivan Studnička Informatika a výpočetní

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 Algoritmus Daniela Szturcová Tento

Více

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu:

Název předmětu: Školní rok: Forma studia: Studijní obory: Ročník: Semestr: Typ předmětu: Rozsah a zakončení předmětu: Plán předmětu Název předmětu: Algoritmizace a programování (PAAPK) Školní rok: 2007/2008 Forma studia: Kombinovaná Studijní obory: DP, DI, PSDPI, OŽPD Ročník: I Semestr: II. (letní) Typ předmětu: povinný

Více

3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3

3 Co je algoritmus? 2 3.1 Trocha historie... 2 3.2 Definice algoritmu... 3 3.3 Vlastnosti algoritmu... 3 Obsah Obsah 1 Program přednášek 1 2 Podmínky zápočtu 2 3 Co je algoritmus? 2 3.1 Trocha historie............................ 2 3.2 Definice algoritmu.......................... 3 3.3 Vlastnosti algoritmu.........................

Více

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

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

Více

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

Algoritmizace. Obrázek 1: Přeložení programu překladačem

Algoritmizace. Obrázek 1: Přeložení programu překladačem Algoritmizace V každém okamžiku ví procesor počítače přesně, co má vykonat. Pojmem procesor se v souvislosti s algoritmy označuje objekt (např. stroj i člověk), který vykonává činnost popisovanou algoritmem.

Více

Základy algoritmizace a programování

Základy algoritmizace a programování Základy algoritmizace a programování Přednáška 1 Olga Majlingová Katedra matematiky, ČVUT v Praze 21. září 2009 Obsah Úvodní informace 1 Úvodní informace 2 3 4 Organizace předmětu Přednášky 1. 5. Základní

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

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

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 Algoritmus Daniela Szturcová Tento

Více

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata

1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata 1 Základních pojmy z oblasti programování, vyšší programovací jazyky, programovací paradigmata Studijní cíl Tento první blok celého kurzu zaměřen na zvládnutí základních pojmů z oblasti programování a

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

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

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

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19

Algoritmy I. Cvičení č. 2, 3 ALGI 2018/19 Algoritmy I Cvičení č. 2, 3 1 ALG I, informace Cvičící RNDr. Eliška Ochodková, Ph.D., kancelář EA439 eliska.ochodkova@vsb.cz www.cs.vsb.cz/ochodkova Přednášející doc. Mgr. Jiří Dvorský, Ph.D., kancelář

Více

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 21. září 2018 Jiří Dvorský (VŠB TUO) Vyhledávání 242 / 433 Osnova přednášky

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

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP

Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................

Více

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

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

Více

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

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace Předmět: Algoritmizace a programování Téma: Algoritmy Vyučující: Ing. Milan Káža Třída: EK2 Hodina: 3 Číslo: V/5 Programování

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

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování

ŠVP Gymnázium Ostrava-Zábřeh. 4.8.16. Úvod do programování 4.8.16. Úvod do programování Vyučovací předmět Úvod do programování je na naší škole nabízen v rámci volitelných předmětů v sextě, septimě nebo v oktávě jako jednoletý dvouhodinový kurz. V případě hlubšího

Více

Informační a komunikační technologie

Informační a komunikační technologie Dodatek č. Školního vzdělávacího programu Obchodní akademie Lysá nad Labem, obor 63-4-M/02 Obchodní akademie, platného od. 9. 202 - platnost dodatku je od. 9. 206 Informační a komunikační technologie je

Více

Základy jazyka C. Základy programování 1 Tomáš Kühr

Základy jazyka C. Základy programování 1 Tomáš Kühr Základy jazyka C Základy programování 1 Tomáš Kühr Organizační záležitosti Konzultace Osobně v pracovně 5.043 Pondělí 15.00 16.00 Úterý 14.00 16.00 Čtvrtek 13.00 15.00 Pátek 9.30 11.30 Něco jde vyřešit

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

Sada 1 - Základy programování

Sada 1 - Základy programování S třední škola stavební Jihlava Sada 1 - Základy programování 01. Základní pojmy a principy programování 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

Ú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

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12. Vyhledávání doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 12. září 2016 Jiří Dvorský (VŠB TUO) Vyhledávání 201 / 344 Osnova přednášky

Více

Algoritmy a algoritmizace

Algoritmy a algoritmizace Otázka 21 Algoritmy a algoritmizace Počítačové programy (neboli software) umožňují počítačům, aby přestaly být pouhou stavebnicí elektronických a jiných součástek a staly se pomocníkem v mnoha lidských

Více

DTP Základy programování Úvod do předmětu

DTP Základy programování Úvod do předmětu DTP Základy programování 01 - Úvod do předmětu Úvod Co již umíte? Plán předmětu Studijní materiály Způsob ukončení předmětu Základní pojmy I. Řešený problém: Řešeným nebo zpracovávaným problémem je konkrétní

Více

Program a životní cyklus programu

Program a životní cyklus programu Program a životní cyklus programu Program algoritmus zapsaný formálně, srozumitelně pro počítač program se skládá z elementárních kroků Elementární kroky mohou být: instrukce operačního kódu počítače příkazy

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Čí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

Ú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

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

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 1.díl České vysoké učení technické Fakulta elektrotechnická A1B14MIS Mikroprocesory pro výkonové systémy 06 Ver.1.10 J. Zděnek,

Více

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2014 5.3-5.8 9/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 12 0:40 UML unifikovaný modelovací jazyk Zkratka tohoto

Více

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková

Více

Algoritmizace. 1. Úvod. Algoritmus

Algoritmizace. 1. Úvod. Algoritmus 1. Úvod Algoritmizace V dnešní době již počítače pronikly snad do všech oblastí lidské činnosti, využívají se k řešení nejrůznějších úkolů. Postup, který je v počítači prováděn nějakým programem se nazývá

Více

12PPOK PROJEKTOVÁNÍ POZEMNÍCH KOMUNIKACÍ

12PPOK PROJEKTOVÁNÍ POZEMNÍCH KOMUNIKACÍ Stránka 1 (celkem 6) 12PPOK PROJEKTOVÁNÍ POZEMNÍCH KOMUNIKACÍ (PREZENČNÍ FORMA STUDIA) ZIMNÍ SEMESTR 2018 2019 Informace dle ustanovení čl. 2 odst. 3 Směrnice děkana č. 2/2018 Povinná účast na jednotlivých

Více

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

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

Více

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí 02 Jazyk C - je imperativní říkáme, co se má udělat, voláme příkazy - další imperativní jazyky: Pascal, Java, C/C++ apod. - na rozdíl od jazyků deklarativních např. Prolog, Haskell, Scheme, Lisp (funkcionální

Více

TEORIE ZPRACOVÁNÍ DAT

TEORIE ZPRACOVÁNÍ DAT Vysoká škola báňská - Technická univerzita Ostrava Fakulta elektrotechniky a informatiky TEORIE ZPRACOVÁNÍ DAT pro kombinované a distanční studium Jana Šarmanová Ostrava 2003 Jana Šarmanová, 2003 Fakulta

Více

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016

Martin Flusser. Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague. October 17, 2016 ZPRO cvičení 2 Martin Flusser Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague October 17, 2016 Outline I 1 Outline 2 Proměnné 3 Proměnné - cvičení 4 Funkce 5 Funkce

Více

Výukový materiál zpracován v rámci projektu EU peníze školám

Výukový materiál zpracován v rámci projektu EU peníze školám Výukový materiál zpracován v rámci projektu EU peníze školám Registrační číslo projektu: CZ. 1.07/1.5.00/34.0637 Šablona III/2 Název VY_32_INOVACE_39_Algoritmizace_teorie Název školy Základní škola a Střední

Více

Diskrétní matematika. DiM /01, zimní semestr 2017/2018

Diskrétní matematika. DiM /01, zimní semestr 2017/2018 Diskrétní matematika Petr Kovář petr.kovar@vsb.cz Vysoká škola báňská Technická univerzita Ostrava DiM 470-2301/01, zimní semestr 2017/2018 O tomto souboru Tento soubor je zamýšlen především jako pomůcka

Více

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková

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

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44

Algoritmizace a programování. Ak. rok 2012/2013 vbp 1. ze 44 Algoritmizace a programování Ak. rok 2012/2013 vbp 1. ze 44 Vladimír Beneš Petrovický K101 katedra matematiky, statistiky a informačních technologií vedoucí katedry E-mail: vbenes@bivs.cz Telefon: 251

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

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

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

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

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

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

Objektově orientované programování

Objektově orientované programování 10. října 2011 Pragmatické informace Volitelný předmět, zápočet: zápočtový program(s dokumentací), aktivní účast na cvičení(body v CodExu), praktický test, zkouška: zkoušková písemka na objektový návrh

Více

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

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

Více

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Čí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

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

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

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

Více

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

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

Více

Lekce 01 Úvod do algoritmizace

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

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

Úvod do programování v jazyce Java

Úvod do programování v jazyce Java Úvod do programování v jazyce Java Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 5. říjen, 2011 Petr Krajča (UP) KMI/UP3J: Seminář I. 5.10.2011 1 / 17 Organizační informace email: petr.krajca@upol.cz

Více

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

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

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

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

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25

Úvod Seznámení s předmětem Co je.net Vlastnosti.NET Konec. Programování v C# Úvodní slovo 1 / 25 Programování v C# Úvodní slovo 1 / 25 Obsah přednášky Seznámení s předmětem Co je.net Vlastnosti.NET 2 / 25 Kdo je kdo Petr Vaněček vanecek@pf.jcu.cz J 502 Václav Novák vacnovak@pf.jcu.cz?? Při komunikaci

Více