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 21. září 2018 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 Prostředky pro zápis algoritmů Algoritmus formálnější přístup Shrnutí Jiří Dvorský (VŠB TUO) Algoritmy I 2 / 547 Celková osnova přednášek (pokrač.) 2. Základy C++ Počítač Hardware základní struktura počítače Software Osobní počítače Programovací jazyk Jazyk C++ Vznik spustitelného programu Základní stavební bloky C++ Komentáře v C++ Datové typy v C++ Proměné 3. Řídící struktury jazyka C++ 4. Funkce v jazyce C++ 5. Složitost algoritmů Motivace Analýza složitosti algoritmů Jiří Dvorský (VŠB TUO) Algoritmy I 3 / 547 Celková osnova přednášek (pokrač.) 6. Pole v jazyce C++ Výpočty lineární algebry Vektorové výpočty Výpočty se čtvercovými maticemi Game of Life Popis hry Zadání úlohy Analýza řešení Implementace Refaktorování 7. Rekurze Co si představit pod pojmem rekurze? Faktoriál Fibonacciho posloupnost 8. Využití rekurze pro řešení problémů Backtracking Jezdcova procházka Jiří Dvorský (VŠB TUO) Algoritmy I 4 / 547

2 Celková osnova přednášek (pokrač.) 9. Vyhledávání Definice problému Sekvenční vyhledávání Vyhledávání půlením intervalu 10. Třídění RadixSort 11. Základní třídící algoritmy 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 12. Pokročilé třídící algoritmy QuickSort Třídění rozdělováním Třídění haldou HeapSort 13. Hledání nejkratší trasy aneb Sex, chlast a C++ Jiří Dvorský (VŠB TUO) Algoritmy I 5 / 547 Celková osnova přednášek (pokrač.) Zadání úlohy chlast Metoda řešení sex Implementace C++ Výsledky Jiří Dvorský (VŠB TUO) Algoritmy I 6 / 547 O předmětu Algoritmy I Úvodní přednáška doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava 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. Jiří Dvorský (VŠB TUO) Úvodní přednáška 7 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 8 / 547

3 O předmětu Algoritmy I Rozsah předmětu, způsob zakončení Rozsah předmětu výuka probíhá v zimním semestru prvního ročníku bakalářského studia, hodinová dotace: předmět je úvodním kurzem algoritmického řešení úloh s využitím datových struktur, budeme se zabývat základními algoritmy třídění a vyhledávání v poli, základním použitím rekurzivních algoritmů, 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. převážně jako výchozí datovou strukturu budeme používat pole, Způsob zakončení algoritmy a datové struktury budou demonstrovány v jazyce C++, zakončení klasifikovaným zápočtem, vazba na předmět Programování I. klasifikovaný zápočet není zkouška, nejsou tři termíny jako u zkoušky, Jiří Dvorský (VŠB TUO) Úvodní přednáška 9 / 547 Garant předmětu 10 / 547 Prerekvizity jsou souhrnem požadavků, které je nutné splnit aby si student mohl zapsat předmět. Prerekvizity jsou buď formální nebo věcné. Jiří Dvorský, Ph.D. EA441 jiri.dvorsky@vsb.cz Předmět Algoritmy I nemá žádné formální prerekvizity, předpokládá se ale znalost středoškolské matematiky a obecná orientace ve výpočetní technice. K čemu je garant předmětu? 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. Jiří Dvorský (VŠB TUO) Úvodní přednáška Prerekvizity Garant předmětu, přednášející, tutor komb. formy doc. Mgr. Kancelář: Web: Jiří Dvorský (VŠB TUO) Úvodní přednáška 11 / 547 Předmět Algoritmy I je ale povinnou prerekvizitou navazujícího předmětu Algoritmy II. Předmět Algoritmy II máte zapsán už teď, jde o povinný předmět, ale bez úspěšného ukončení předmětu Algoritmy I Vám nebude možno zapsat do Edisonu jakýkoliv výsledek v předmětu Algoritmy II. Jiří Dvorský (VŠB TUO) Úvodní přednáška 12 / 547

4 Docházka Studenti se specifickými nároky Přednášky jsou obecně nepovinné účast na nich je doporučená Cvičení jsou naopak povinná, účast a aktivita na cvičeních jsou hodnoceny, je nutno získat dostatečné bodové hodnocení. Centrum Slunečnice FEI poskytuje podporu 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! Jiří Dvorský (VŠB TUO) Úvodní přednáška 13 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 14 / 547 Individuální studijní plán Konzultační hodiny Individuální studijní plán umožňuje, ve odůvodněných případech, individuální termíny pro plnění studijních povinností. Výzva Je vysoce žádoucí, aby studenti, kteří získají individuální studijní plán, neprodleně kontaktovali svého cvičícího a garanta předmětu a dohodli se na individuálních termínech plnění úkolů. Individuální studijní plán neznamená naprostou libovůli v termínech. 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í. 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 15 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 16 / 547

5 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 17 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 18 / 547 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 19 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 20 / 547

6 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. 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 21 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 22 / 547 Úkoly a jejich hodnocení Úkoly Průběžná aktivita na cvičeních Hodnocení v předmětu Algoritmy I se skládá ze tří částí, úkolů: 1. Průběžná aktivita na cvičeních 2. Test z programování 3. Písemná práce Všechny úkoly jsou povinné. Z každá úkoly je nutné získat aspoň minimální počet bodů. Tato část hodnocení probíhá průběžně po celý semestr. Na každém cvičení bude cvičícím ohodnocena Vaše aktivita. Aktivita je hodnocena pomocí barevného kódu: zelená student na cvičení pracoval aktivně, v látce se orientoval, dařilo se mu implementovat zadané úkoly, oranžová student na cvičení byl spíše pasivní, na cvičení nebyl příliš připraven (ve znalostech měl mezery ), implementace úkolů se příliš nedařila a červená student na cvičení byl zcela pasivní, o výuku nejevil zájem, implementaci úkolů nezvládl. Do této kategorie spadá i neomluvená neúčast na cvičení. Každému barevnému kódu odpovídá určitá váha, která se projeví v celkovém hodnocení všech cvičení. Zelená aktivita má váhu 1, oranžová má váhu 0,5 a červená 0. Jiří Dvorský (VŠB TUO) Úvodní přednáška 23 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 24 / 547

7 Úkoly Průběžná aktivita na cvičeních (pokrač.) Z takto získaných vah z jednotlivých cvičení se na konci semestru vypočte průměrná váha, která se vynásobí maximálním možným počtem bodů (20) a výsledek je Vámi získaný počet bodů. Je zřejmé, že všechny zelené kódy odpovídají maximálnímu počtu bodů (20), samé červené kódy odpovídají nulovému počtu bodů. Body za aktivitu nelze získat zpětně. Příklad Student Franta na pěti cvičeních získal zelené hodnocení, na třech oranžové a na dvou červené. Průměrnou váhu vypočtene jako: , = 6, 5 10 = 0, 65. Výsledné bodové hodnocení je tedy 0, = 13 bodů. Jiří Dvorský (VŠB TUO) Úvodní přednáška 25 / 547 Úkoly Test z programování Řádné termíny testu proběhnou na cvičeních v týdnu od 10. prosince Test proběhne tak, že na začátku cvičení dostanete zadání, které ve zbývajícím čase naprogramujete, odladíte a předvedete jeho správnou funkčnost. Řádný termín úkolu je pro všechny studenty daného cvičení povinný. Opravné termíny proběhnou ve zkouškovém období. 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. Na tento úkol máte jeden řádný pokus a jeden opravný pokus. Žádné další pokusy nejsou možné. Jiří Dvorský (VŠB TUO) Úvodní přednáška 26 / 547 Úkoly Písemná práce Úkoly Písemná práce (pokrač.) Řádný termín závěrečné písemná práce proběhne přednášce 17. prosince Opravné termíny proběhnou ve zkouškovém období. Písemná práce bude zaměřena na (pořadí podle významu): 1. teoretické znalosti, 2. schopnost vysvětlit ukázku kódu v C++ a 3. napsat zdrojový kód funkce implementující jednoduché zadání (např. implementujte funkci která vypíše sudá čísla z intervalu 1 až N, kde N bude parametr funkce), včetně jednoduché rekurzivní funkce. Řá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ň 15 bodů. Počet bodů na prvním termínu Opravný termín 0 až 14 NE 15 až 25 ANO více než 26 není nutný, úspěch Obdobná povinnost omluvit se platí i pro opravný termín. Na tento úkol máte jeden řádný pokus a jeden opravný pokus. Žádné další pokusy nejsou možné. Jiří Dvorský (VŠB TUO) Úvodní přednáška 27 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 28 / 547

8 Hodnocení úkolů Obecné pokyny ke všem úkolům Je nutné splnit všechny výše uvedené úkoly, a zároveň u všech úkolů aspoň minimální počet bodů. Úkol Min. počet bodů Max. počet bodů Průb. aktivita na cvičeních Test z programování Písemná práce 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, sdílet 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. Jiří Dvorský (VŠB TUO) Úvodní přednáška 29 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 30 / 547 Obecné pokyny ke všem úkolům (pokrač.) Obecné pokyny ke všem úkolům (pokrač.) 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! Nepovolení opravy u písemné práce 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ů! Jiří Dvorský (VŠB TUO) Úvodní přednáška 31 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 32 / 547

9 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 33 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 34 / 547 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 35 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 36 / 547

10 Tutoriály Kombinovaná forma studia 1. tutoriál povinný 21. září 2018 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ý 5. října 2018 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 37 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 38 / 547 Tutoriály 3. tutoriál povinný 19. října 2018 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 povinný 2. listopadu 2018 K tomuto datu se předpokládá zvládnutí následujících témat: Rekurze, vymezení pojmu, příklady, jednoduchý backtracking. 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. Tutoriály 5. tutoriál nepovinný 16. listopadu 2018 Tento tutoriál se nekoná. 6. tutoriál nepovinný 30. listopadu 2018 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 39 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 40 / 547

11 Tutoriály Úkoly první test 7. tutoriál povinný 14. prosince 2018 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 19. října Opravný termín se bude psát u obhajob projektů. 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 41 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 42 / 547 Úkoly druhý test Úkoly třetí test Druhý test se bude psát na čtvrtém tutoriálu 16. 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 14. 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 43 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 44 / 547

12 Úkoly projekt 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 I. Úkoly projekt (pokrač.) 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/2017 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 21. 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 45 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 46 / 547 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. Jiří Dvorský (VŠB TUO) Úvodní přednáška 47 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 48 / 547

13 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 49 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 50 / 547 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 51 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 52 / 547

14 Vývojová prostředí pro C++ Studijní literatura Na učebnách je pro výuku k dispozici Microsoft Visual Studio 2017 (VS2017). Pro domácí přípravu si stáhněte Visual Studio Community 2017 (VS2017) a to buď prostřednictvím: Microsoft Imagine, nebo přímo ze stránek Visual Studio Community, Vývojové prostředí VS2017 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ů. Učební materiály lze rozdělit do dvou skupin: literatura o algoritmech a datových strukturách a literatura o programovacím jazyku C++. 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 53 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 54 / 547 Základní literatura o algoritmech Doplňková literatura o algoritmech 1. Dvorský J.: Algoritmy, učební text, studijní opora v terminologii kombinované formy studia, dostupné na 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í Cormen, Leiserson, Rievest: Introduction to Algorithms, MIT Press, 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, Sedgewick, R.: Algorithms in C++, Addison-Wesley Publishing Company, Wood, D.: Data Structures, Algorithms and Performance, Addison-Wesley Publishing Company, Jiří Dvorský (VŠB TUO) Úvodní přednáška 55 / 547 Jiří Dvorský (VŠB TUO) Úvodní přednáška 56 / 547

15 Základní literatura o C++ O jazyce C++ 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 57 / 547 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 58 / 547 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 59 / 547 Ostatní učební materiály 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 60 / 547

16 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 61 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 62 / 547 Algoritmický problém versus algoritmus vstupní data vstupní podmínka co vše musí splňovat vstupní data výstupní data výstupní podmínka co vše musí splňovat výstupní data Příklad Algoritmický problém Vyvrtání díry do betonového panelu vstupní data betonový panel vstupní podmínka specifikace panelu výstupní data díra v panelu výstupní podmínka průměr a hloubka vyvrtané díry. Algoritmický problém versus algoritmus (pokrač.) Algoritmický problém reprezentuje zadání úlohy a algoritmus představuje způsob, jak tento problém řešit. Zřejmě může existovat více algoritmů řešících tentýž algoritmický problém. Algoritmus budeme chápat jako postup, jak vstupní data transformovat na výstupní. K našim účelům bude stačit tato intuitivní definice algoritmu Příklad Možné algoritmy řešící problém Vyvrtání díry do betonového panelu : 1. dloubání kávovou lžičkou, 2. ruční vrtačka 3. příklepová vrtačka 4. vrtací kladivo s SDS upínáním... Jiří Dvorský (VŠB TUO) Pojem algoritmus 63 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 64 / 547

17 Algoritmický problém versus algoritmus (pokrač.) Nekonstruktivní řešení problému aneb Na tohle není algoritmus! 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. Algoritmus popisuje konstruktivní řešení problému řešení problému je pomocí algoritmu konstruováno ze vstupních dat! Stejný postup používá například geometrie. 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 65 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 66 / 547 Nekonstruktivní řešení problému aneb Na tohle není algoritmus! (pokrač.) 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 67 / 547 O původu slova algoritmus Slovo algoritmus je odvozeno od perského matematika jménem Abú Abd Alláh Muhammad Ibn Músá al-chórezmí Abú Dža far česky Otec Abdulláha, Mohamed, syn Mojžíšův, pocházející z města Chwarizm. Město Chwarizm, někdy též Chórézm, najdete v dnešním Uzbekistánu pod jménem Chiva. Jeho mateřským jazykem byla perština, ale knihy psal arabsky. Jméno Al-Chórezmí bylo ve středověku latinizované na Al-Gorizmí, později na Algorismí. Zhruba v roce 825 napsal knihu Kitáb al-džám a wa-l-tafríq bil-hisáb al-hindi, kterou v roce 1145 přeložil Robert z Chesteru do latiny jako Algorithmi de numero indorum. Jiří Dvorský (VŠB TUO) Pojem algoritmus 68 / 547

18 O původu slova algoritmus (pokrač.) Algoritmus V této knize popsal indický poziční číselný systém, výpočty s ním a číslo 0. Slovo algorismus, odvozeno od jeho jména, původně znamenalo provádění aritmetiky pomocí arabských číslic ; abacisté počítali pomocí abaku, algoristé pomocí algorismů. Zavedl algebru jako samostatnou matematickou disciplínu, slovo algebra pochází z arabského al-džabr. Dále zavedl pojem neznámá a označovat ji tradičně písmenem x. 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 69 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 70 / 547 Vlastnosti algoritmu Vlastnosti algoritmu (pokrač.) 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. 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říklad 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. Jiří Dvorský (VŠB TUO) Pojem algoritmus 71 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 72 / 547

19 Vlastnosti algoritmu (pokrač.) Prostředky pro zápis algoritmů Opakovatelnost Při použití stejných vstupních údajů musí algoritmus dospět vždy k témuž výsledku. Algoritmus si tedy můžeme představit jako mlýnek na maso pokud do něj vložíme stejné suroviny a zatočíme klikou, dostaneme vždy stejný výsledek jako při předchozím mletí. Rezultativnost Algoritmus musí vydat aspoň jeden výstup, který je správný tj. vyhovuje výstupní podmínce. Elementárnost Algoritmus se skládá z konečného počtu jednoduchých (elementárních) kroků. Pro zápis algoritmů můžeme využít: přirozený jazyk slovní popis například receptu, Vraž do toho kopu vajec a dvě libry másla... grafický zápis vývojový diagram, strukturogram, pseudokód nebo programovací jazyk. Jiří Dvorský (VŠB TUO) Pojem algoritmus 73 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 74 / 547 Vývojový diagram Pseudokód Vývojový diagram [2] grafické znázornění jednotlivých kroků algoritmu, obrazce různého tvaru, navzájem propojené pomocí šipek, obrazce reprezentují jednotlivé kroky: obdélník s popisem dílčí krok zpracování, kosočtverec větvení postupu v závislosti na splnění podmínky, obdélník se zaoblenými rohy počátek nebo ukončení zpracování, šipky určují směr zpracování Frank Gilbreth, 1921, dokumentace procesů v průmyslu. 1 while i < n do 2 a while loop including a repeat until loop; 3 repeat 4 if x A then 5 we do that; 6 end 7 until this end condition; 8 end kompaktní a neformální způsob zápisu počítačového algoritmu, používá strukturní konvence programovacích jazyků, nezahrnuje detailní syntaxi specifické pro konkrétní programovací jazyk, pro srozumitelnost je částečně doplněn popisy podrobností v přirozeném jazyce nebo kompaktně vyjádřeným matematickým zápisem. Jiří Dvorský (VŠB TUO) Pojem algoritmus 75 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 76 / 547

20 Turingův stroj Turingův stroj (pokrač.) 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ů. Neformálně řečeno je Turingův stroj primitivní počítač s co nejjednoduššími instrukcemi a jednou pamětí, páskou. Turingův stroj [1] Výpočet na Turignově stroji: 1. na pásku zapíšeme vstupní posloupnost symbolů w 2. Turingův stroj začne zpracovávat vstup a na pásce budeme očekávat výstupní symboly. 3. Turingův stroj ukončí výpočet ve třech možných stavech: 3.1 vstup w odpovídá vstupním podmínkám, vstup byl přijat a na pásce je výsledek, přijato, 3.2 vstup w neodpovídá vstupním podmínkám, vstup nebyl přijat, nepřijato 3.3 Turingův stroj se zacyklí a nikdy se nezastaví, nelze rozhodnout Turingův stroj tedy neumí řešit všechny problémy. Jiří Dvorský (VŠB TUO) Pojem algoritmus 77 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 78 / 547 Church-Turingova teze Church-Turingova teze (pokrač.) Church-Turingova teze Ke každému algoritmu existuje ekvivalentní Turingův stroj. Jinak řečeno, vše co lze vypočítat Turingovým strojem (počítačem), lze vypočítat i algoritmem a naopak. Naše počítače jsou tedy stejně schopné jako kterékoliv jiné počítače, které by bylo možné sestrojit na druhém konci vesmíru. Nebereme ale v úvahu rychlost počítače a velikost paměti, což v praxi hraje významnou roli. 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, který je turingovsky úplný tj. ekvivalentní Turingovu stroji. Z toho plyne, že všechny programovací jazyky mají stejnou vyjadřovací sílu, lze v nich naprogramovat stejné algoritmy. Otázkou zůstává, proč existuje takové množství programovacích jazyků? Důvod: důvod je praktický, programovací jazyky jsou uzpůsobeny pro jistý okruh problémů. V jednom jazyce se lépe programuje tato úloha, v jiném jazyce jiná. Jiří Dvorský (VŠB TUO) Pojem algoritmus 79 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 80 / 547

21 Shrnutí Literatura Algoritmický problém Algoritmus konečnost, hromadnost, jednoznačnost, opakovatelnost, rezultativnost, elementárnost. Turingův stroj Church-Turingova teze [1] Turingův stroj. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: stroj#/media/file:maquina.png [2] Vývojový diagram. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, [cit ]. Dostupné z: Jiří Dvorský (VŠB TUO) Pojem algoritmus 81 / 547 Jiří Dvorský (VŠB TUO) Pojem algoritmus 82 / 547 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 83 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 84 / 547

22 Počítač Počítač zařízení schopné provádět výpočty a rozhodnutí založená na logice. Hardware (HW) technická část počítače, 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. Základní struktura 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++ 85 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 86 / 547 Základní struktura počítače Základní struktura počítače 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. Aritmeticko logická jednotka (ALU) Řadič 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 řídící část počítače, řídí a koordinuje ostatní části počítače. 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. Jiří Dvorský (VŠB TUO) Základy C++ 87 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 88 / 547

23 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++ 89 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 90 / 547 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 o 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, různé programovací jazyky jsou určeny pro různé účely. Jiří Dvorský (VŠB TUO) Základy C++ 91 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 92 / 547

24 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ů. 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++ 93 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 94 / 547 Nižší programovací jazyky (pokrač.) 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 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++ 95 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 96 / 547

25 Kompilované programovací jazyky (pokrač.) Poznámky překladač se někdy označuje jako kompilátor (angl. compiler) a překlad jako kompilování (angl. 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č se při překladuz řídí gramatikou zdrojového jazyka, de-facto provádí větný rozbor, tak jak jej znáte z výuky češtiny, 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. Interpretované programovací jazyky klasický přístup 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++ 97 / 547 Jiří Dvorský (VŠB TUO) Základy C++ 98 / 547 Interpretované programovací jazyky virtuální stroj Vyšší 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. Lze dělit podle programovacího paradigmatu, čili stylu programování, na: Procedurální jazyky tj. imperativní jazyky procedurální paradigma program popisuje krok za krokem co se má provést, strukturované C, BASIC, objektově orientované Smalltalk, Java. Neprocedurální jazyky tj. deklarativní jazyky neprocedurální paradigmata popisujeme spíše výsledek, ne jak ho dostáhnout, funkcionální Lisp, Haskell, Scheme, logické Prolog. Jiří Dvorský (VŠB TUO) Základy C++ 99 / 547 Jiří Dvorský (VŠB TUO) Základy C / 547

26 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 / 547 Jiří Dvorský (VŠB TUO) Základy C / 547 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, 2014 současný standard označovaný C++14, podporovaný gcc, VS2017 atd připravovaný standard, aktuálně ve formě draftu. rozšíření jazyka C o OOP, plus další úpravy, jazyk není čistě objektový. Jiří Dvorský (VŠB TUO) Základy C / 547 Jiří Dvorský (VŠB TUO) Základy C / 547

27 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 1 #include <iostream> 2 3 using namespace std; 4 5 // This is single line comment. 6 void main() 7 { 8 cout << "Hello World" << endl; 9 } Č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 / 547 Jiří Dvorský (VŠB TUO) Základy C / 547 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 / 547 Jiří Dvorský (VŠB TUO) Základy C / 547

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

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 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 12. září 2016 Jiří Dvorský (VŠB TUO) Úvodní přednáška 1 / 346 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

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

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

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

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 12. září 2016 Jiří

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

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

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

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

Ú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

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

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

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

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

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

Ú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. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu.

Algoritmus. Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Algoritmus Cílem kapitoly je seznámit žáky se základy algoritmu, s jeho tvorbou a způsoby zápisu. Klíčové pojmy: Algoritmus, vlastnosti algoritmu, tvorba algoritmu, vývojový diagram, strukturogram Algoritmus

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

1 Strukturované programování

1 Strukturované programování Projekt OP VK Inovace studijních oborů zajišťovaných katedrami PřF UHK Registrační číslo: CZ.1.07/2.2.00/28.0118 1 Cíl Seznámení s principy strukturovaného programování, s blokovou strukturou programů,

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

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

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

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_02 Škola Střední průmyslová škola Zlín Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Inovace výuky

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

Š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

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

VISUAL BASIC. Přehled témat

VISUAL BASIC. Přehled témat VISUAL BASIC Přehled témat 1 ÚVOD DO PROGRAMOVÁNÍ Co je to program? Kuchařský předpis, scénář k filmu,... Program posloupnost instrukcí Běh programu: postupné plnění instrukcí zpracovávání vstupních dat

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š 18 prosinec 2015 IB111 přednáška 13: programovací jazyky 18 prosinec 2015 1 / 21 Osnova dnešní přednášky Programovací

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

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Složitost algoritmů doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 27. prosince 2015 Jiří Dvorský (VŠB TUO) Složitost algoritmů

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

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

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

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

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

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

Programování II. Modularita 2017/18

Programování II. Modularita 2017/18 Programování II Modularita 2017/18 Modul? Osnova přednášky Vývoj programování Modularita Příklad Vývoj programování Paradigmata programování Jak a proč se jazyky vyvíjejí? V čem se OOP liší od předchozích

Více

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ

VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ VIRTUALIZACE POČÍTAČE HISTORIE A VÝVOJ Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Virtualizace počítače historie a

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

Základy matematiky pro FEK

Základy matematiky pro FEK Základy matematiky pro FEK 1. přednáška 22.9.2016 Blanka Šedivá KMA zimní semestr 2016/2017 Blanka Šedivá (KMA) Základy matematiky pro FEK zimní semestr 2016/2017 1 / 19 Organizační pokyny přednášející:

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

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

V t í á t V á V s ČVU V T v v P r P a r ze

V t í á t V á V s ČVU V T v v P r P a r ze Vítá Vás Fakulta informačních ních technologií ČVUT v Praze 25. 11. 2009 Den otevřených dveří FIT 1 Historie FIT je zatím velmi krátká - jsme na startu 31. 3. 2008 první info na www.cvut.cz 20. 1. 2009

Více

Vývojové diagramy 1/7

Vývojové diagramy 1/7 Vývojové diagramy 1/7 2 Vývojové diagramy Vývojový diagram je symbolický algoritmický jazyk, který se používá pro názorné zobrazení algoritmu zpracování informací a případnou stručnou publikaci programů.

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

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika

INOVACE PŘEDMĚTŮ ICT. MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Vyšší odborná škola ekonomická a zdravotnická a Střední škola, Boskovice INOVACE PŘEDMĚTŮ ICT MODUL 11: PROGRAMOVÁNÍ WEBOVÝCH APLIKLACÍ Metodika Zpracoval: Jaroslav Kotlán srpen 2009s Úvod Modul Programování

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

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

Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018

Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018 Zadání semestrálního projektu Algoritmy II. letní semestr 2017/2018 doc. Mgr. Jiří Dvorský, Ph.D. Verze zadání 6. dubna 2018 První verze Obecné pokyny 1. Celkem jsou k dispozici tři zadání příkladů. 2.

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

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

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

SYLABUS BAKALÁŘSKÁ PRÁCE A PRAXE

SYLABUS BAKALÁŘSKÁ PRÁCE A PRAXE SYLABUS MODULU BAKALÁŘSKÁ PRÁCE A PRAXE František Prášek Ostrava 2011 : Sylabus modulu Bakalářská práce a praxe Autoři: Ing. František Prášek Vydání: první, 2011 Počet stran: 15 Tisk: Vysoká škola podnikání,

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

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

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

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

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

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

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

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

Programování a algoritmizace: úvod

Programování a algoritmizace: úvod Programování a algoritmizace: úvod 2010 Dnešní přednáška o předmětu, administrativa motivace Cíle předmětu Úvod do programátorského a algoritmického stylu myšlení Obecné principy použitelné v řadě programovacích

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus

Pracovní listy - programování (algoritmy v jazyce Visual Basic) Algoritmus Pracovní listy - programování (algoritmy v jazyce Visual Basic) Předmět: Seminář z informatiky a výpočetní techniky Třída: 3. a 4. ročník vyššího stupně gymnázia Algoritmus Zadání v jazyce českém: 1. Je

Více

OPS Paralelní systémy, seznam pojmů, klasifikace

OPS Paralelní systémy, seznam pojmů, klasifikace Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus

Více

Programovací jazyky Přehled a vývoj

Programovací jazyky Přehled a vývoj Programovací jazyky Přehled a vývoj 1 Programování a programovací jazyk Historie a současnost programovacích jazyků Objektově orientované a vizuální programování Značkovací a skriptovací jazyky 2 Programování

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

Soulad studijního programu. Aplikovaná informatika

Soulad studijního programu. Aplikovaná informatika Standard studijního Aplikovaná informatika A. Specifika a obsah studijního : Typ Oblast/oblasti vzdělávání Základní tematické okruhy Kód Rozlišení Profil studijního Propojení studijního s tvůrčí činností

Více

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr

Seminář z Informatiky a výpočetní techniky. Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr Seminář z Informatiky a výpočetní techniky Slovanské gymnázium Olomouc 4. září 2014 Tomáš Kühr Tomáš Kühr Lektor na Katedře informatiky Přírodovědecké fakulty Univerzity Palackého v Olomouci Web: http://www.inf.upol.cz/lide/tomas-kuhr

Více