2 Postup při programování, úvod do programovacího jazyka Java
|
|
- Barbora Zemanová
- před 9 lety
- Počet zobrazení:
Transkript
1 2 Postup při programování, úvod do programovacího jazyka Java Studijní cíl V tomto bloku bude věnována pozornost správnému postupu při programování, budou detailně vysvětleny jednotlivé etapy programování a podíváme se také na základy vyššího programovacího jazyka Java. Doba nutná k nastudování 2 2,5 hodiny 2.1 Postup při programování Při programování, stejně jako při jakékoliv jiné odborné činnosti, je vhodné dodržovat standardizované postupy. Stejně jako např. při stavbě domu, kdy je nejprve vypracován návrh, potom projekt a teprve potom následuje samotný proces jeho výstavby, tak i v oblasti vývoje počítačových programů existuje několik metodik, kterými je vhodné se řídit. Vysvětlování jakékoliv komplexní metodiky vývoje softwaru (např. Unified Process nebo Agile Unified Process - agilní metodiky vývoje software) by bylo nad rámec tohoto výukového materiálu (s touto problematikou se seznámíte v jiných specializovaných předmětech během dalšího studia), proto si uvedeme pouze stručně jeden z možných postupů při programování a zaměříme se na podrobný popis každé etapy. Dále uvedený postup při programování je opravdu nutné brát pouze jako jeden z možných, který ale budeme uplatňovat v tomto kurzu základů programování. V jiných kurzech programování nebo v navazujících předmětech se můžete a nejspíše se i setkáte s jiným postupem při programování, který může mít oproti zde uvedenému postupu celou řadu výhod (např. programování řízené testy). Tento kurz je určen začátečníkům v oblasti programování, proto je zde představen asi nejjednodušší koncept přístupu k programování. Nyní již tedy k základním osmi etapám, na které budeme rozkládat zadání úloh, které budeme mít za cíl vyřešit. Nejdříve si jednotlivé etapy představíme v obecné rovině a v průběhu dalšího výkladu se dostaneme také k příkladům. 1. Formulace úlohy prvním krokem při řešení jakékoliv úlohy je formulace úlohy. Pokud přijde nějaký zákazník s tím, že by si chtěl nechat naprogramovat nějaký konkrétní produkt, tak je nejprve nutné daný produkt formulovat pro pochopení toho, co máme programovat a proč. Součástí této etapy jsou následující úkoly: a. Stanovují se cíle řešení jaké funkce má daný program obsahovat jedná se opravdu o základní úkol, aby nedošlo k tomu, KST/IZAPR - Základy programování blok 2, strana 1 (9) Michael Bažant
2 že výsledný program bude dělat něco jiného, než co požaduje zákazník. b. Požadavky na přesnost definujeme, jaké má uvažovat program vstupy, s jakou přesností má docházet ke zpracování dat, jaké má program poskytovat výstupy apod. c. Podklady pro řešení zjištění, zda máme pro řešení úlohy vůbec dostupné všechny potřebné podklady, zda vůbec máme s dostupnými podklady možnost danou úlohu řešit. 2. Analýza úlohy v této etapě se vytváří první představy o řešení. V rámci této etapy je nutné si odpovědět na následující otázky: a. Je úloha řešitelná? V dnešní době výkonných počítačů by se mohlo zdát, že jsou všechny úlohy řešitelné, ale z hlediska definovaných požadavků zákazníkem tomu tak být nemusí. Pokud by zákazník chtěl například realizovat nějaké složité výpočty v reálném čase, tak se může stát, že tento požadavek nebude možné splnit (spousta problémů není v reálném čase řešitelná). b. Jsou výchozí informace postačující? Po vytvoření představy o řešení dané úlohy je nutné zvážit, zda jsou dostupné informace o úloze postačující. 3. Návrh řešení tato etapa již obsahuje konkrétní návrh toho, jak daný problém řešit s tím, že je výhodné nejprve jeden větší problém rozložit na více problémů menších a teprve poté volit metody řešení menších problémů. V tomto kroku se ale stále jedná o návrh, nikoliv samotné řešení, které bude následovat. a. Rozklad na podproblémy (třídy, metody, procedury, funkce apod.) b. Návrh metod řešení (např. třídění quicksort, bubblesort apod.) 4. Sestavení algoritmu řešení když máme z předchozí etapy jasno v tom, jaký způsob řešení zvolíme, tak v této etapě daný způsob řešení zapíšeme. Samozřejmě není nutné (a obvykle to ani není vhodné) ihned psát samotný zdrojový kód programu. Je možné využít celou řadu jiných technik, které jsou k dispozici a které již znáte z předchozího studia (např. vývojové diagramy). a. Návrh vhodných datových struktur b. Zápis algoritmu c. Vývojový diagram d. Programovací jazyk v kombinaci s přirozeným jazykem (pseudojazyk) KST/IZAPR - Základy programování blok 2, strana 2 (9) Michael Bažant
3 5. Kódování programu zápis zdrojového kódu v programovacím jazyku. Pokud máme sestaveny algoritmy řešení programu, tak již nic nebrání zapsání zdrojového kódu ve vybraném programovacím jazyku 6. Odladění v této etapě je nutné podrobit námi zapsaný program zkoušení (verifikaci) zda pro dané vstupy poskytuje správné výstupy, přičemž můžeme využít několik možných přístupů: a. Zkoušení programu, případně testování se základy testování se seznámíte v následujícím předmětu Objektově orientované programování. V tomto kurzu budeme používat zkoušení programu. b. Porovnání výsledků c. Ověření správnosti programu 7. Optimalizace nastává v momentě, kdy program poskytuje správné výsledky a v této etapě nemá cenu optimalizovat na úrovni počtu cyklů v daném algoritmu nebo počtu proměnných apod. Tyto základní optimalizace zvládne rozumný překladač sám, spíše jde o záležitosti týkající se volby datových typů a datových struktur, které mohou vést k významným zrychlením běhu programu, zrychlení výpočtů, snížení paměťové náročnosti apod. Nutno podotknout, že zkušenější programátoři již tyto optimalizace zvažují a zapracovávají v bodě 3 návrh řešení. Závěrem k této problematice je nutné poukázat na to, že je výhodné ve všech etapách (i v etapách 1 4) programování zvažovat testovací data tzn. mít přehled o tom, jak se daný návrh projeví na těchto testovacích datech. V další části tohoto kurzu bude naše pozornost zaměřena zejména na etapy 5 a 6 uvedeného postupu, neboť předchozí kroky jste již poměrně podrobně prošli v předchozím kurzu základů algoritmizace. Tam, kde bychom se věnovali úlohám složitějšího charakteru (než jaké byly řešeny v kurzu základy algoritmizace), budou diskutovány i etapy předchozí Úvod do programovacího jazyka Java Po úvodních obecnějších informacích, které jsou ale nezbytné pro základní orientaci v oblasti programování, se může naše pozornost zaměřit na vyšší programovací jazyk Java. V tomto úvodu si uvedeme základní informace o tomto jazyku a v dalších blocích budeme rozvíjet znalosti tohoto jazyka o další konstrukce Proč jazyk Java? Při návrhu jazyka Java byl důraz kladen na odstranění složitostí, které obsahují jiné vyšší programovací jazyky, a proto se jazyk Java stal velmi populárním při výuce základů programování. Kromě této příjemné vlastnosti má ale celou řadu dalších příznivých vlastností jako jsou: KST/IZAPR - Základy programování blok 2, strana 3 (9) Michael Bažant
4 Univerzálnost je možné psát programy pro serverové aplikace, desktopové aplikace, aplikace pro přenosná zařízení (mobilní telefony, PDA), webové aplikace, aplety. Nejedná se o zkratku, ale slovo. Proto píšeme Java, nikoliv JAVA. Java Virtual Machine (JVM) programy nejsou kompilovány přímo do strojového kódu ale do bytecode (mezikódu), který je spouštěn na virtuálním stroji jazyka Java. Díky použití této technologie je možné využívat příjemné vlastnosti jako je Garbage Collection (automatické rušení objektů v paměti pokud na ně není k dispozici reference) a také některé vlastnosti z bezpečnosti. K detailům těchto vlastností se dostaneme v dalším výkladu Stručná historie jazyka Java Projekt na vývoj dnešního jazyka Java založil James Gosling v roce Původní název projektu Oak (dub) podle stromu před kanceláří, tento název byl již používán jiným programovacím jazykem. Z toho důvodu byl vybrán název Java z několika náhodných slov. V roce 1995 byl uveden jazyk Java ve verzi 1.0 s tím, že heslo při uvedení znělo Napiš jednou, spusť kdekoliv. Poté následovaly další verze jazyka: JDK JDK JDK JDK JDK JDK 1.5 (Java 5) 2004 JDK 1.6 (Java 6) 2006 JDK 1.7 (Java 7) Vlastnosti jazyka Java Jazyk Java, stejně jako i jiné vyšší programovací jazyky, disponuje celou řadou vlastností. Z důvodu obsažnosti tématu se omezíme pouze na stručný výklad základních vlastností jazyka, zájemce o bližší informace může nahlédnout např. do zdroje [1]. Mimo jiné je jazyk Java: Objektově orientovaný jazyk Java je již od začátku vyvíjen jako objektově orientovaný jazyk (komunikace mezi objekty viz Obrázek 1). Nikoliv tedy jako jiné jazyky, ke kterým byla objektově orientovaná funk- KST/IZAPR - Základy programování blok 2, strana 4 (9) Michael Bažant
5 cionalita doplňována až v průběhu vývoje. Jazyk Java je objektově orientovaný až na 8 primitivních datových typů. Obrázek 1: Princip objektově orientovaného programování Distribuovaný - jazyk Java je navržen pro podporu aplikací v síti - podporuje různé úrovně síťového spojení, práce se vzdálenými soubory, umožňuje vytvářet distribuované klientské aplikace a servery. Jazyk je navržen tak, aby bylo možné distribuované výpočty realizovat snadno. Přístup k síťovým prostředkům je v zásadě stejný jako k lokálním souborům. Snadný - syntaxe jazyka je navržena na základě C++, přičemž cílem bylo jazyk významně zjednodušit oproti C++ a dosáhnout více funkčnosti než je v jazyce C++ a méně negativních aspektů pro začátečníky. Např. odpadá práce s ukazateli, používají se reference (odkazy na objekty v paměti), je k dispozici automatická správa paměti, dochází k automatické uvolňování paměti během života programu, datový typ boolean nabývá jen hodnot true nebo false Vícevláknový - nativně je možné využívat vícevláknový přístup (multithread) při psaní aplikací. Bezpečný - do jazyka je implementováno několik bezpečnostních mechanismů, kterých bylo dosaženo implementací Java Runtime Environment (JRE), které: o o o spouští zkompilovaný kód vykonává načítání tříd (class loader) oddělení jmen tříd lokálního systému souborů od importovaných ze sítě, určování oblastí pamětí spouštěného programu až po nahrání všech tříd do paměti atd. Vykonává verifikaci kódu (bytecode verifier) a finální spouštění testování a kontrola fragmentů kódu na ilegální kód (mohl by porušit přístupová práva) KST/IZAPR - Základy programování blok 2, strana 5 (9) Michael Bažant
6 Nezávislý na platformě není nutné kompilovat zdrojový kód pro konkrétní platformu jako v případě jiných jazyků - viz Obrázek 2 jako příklad pro jazyk C. Obrázek 2: Kompilace a spuštění programu napsaného v jazyce C na různých platformách Způsob kompilace a spuštění programu napsaného v jazyce Java viz Obrázek 3. U tohoto obrázku je nutné vysvětlení některých pojmů, jako např. bytecode, což je speciální strojový jazyk, které umí interpretovat Java Virtual Machine. Programy v jazyce Java jsou tedy spouštěny nebo chcete-li interpretovány programem, jehož název zní Java Virtual Machine. Program napsaný v jazyce Java tedy není spouštěn přímo na operačním systému, ale je spouštěn prostřednictvím Java Virtual Machine. To má tu výhodu, že jakýkoliv systém, na kterém je nainstalovaný Java Virtual Machine může spouštět programy napsané v jazyce Java nezávisle na tom, na kterém systému byly programy vyvíjeny. Bytecode je tedy speciální strojový jazyk, který je interpretován pomocí Java Virtual Machine, je nezávislý na hardware a každý počítač s Java interpretem může spustit zkompilovaný program napsaný v jazyce Java. Java Virtual Machine (JVM) je virtuální stroj, který poskytuje specifikace hardwaru, pro který se kompilují všechny programy v jazyce Java. JVM je odhadem nainstalován na více než stanic po celém světě (údaj k roku 2009). KST/IZAPR - Základy programování blok 2, strana 6 (9) Michael Bažant
7 Obrázek 3: Kompilace a spuštění programu napsaného v jazyce Java na různých platformách Pro vývoj aplikací v jazyce Java je nutné mít k dispozici JDK (Java Development Kit), který obsahuje: JRE Java runtime environment (java) Java Virtual Machine závislý na platformě, obsahuje Java knihovny (class libraries) závislé na platformě Java compiler (javac) Java API (Application Programming Interface) dokumentace (Java- Doc) Doplňkové utility (pro vytváření souborů JAR, ladění programů atd.) - např. JConsole ve složce bin (sledování paměti a vláken) Příklady programů Výhody a nevýhody jazyka Java Jazyk Java má, stejně jako i jiné jazyky, celou řadu výhod a také celou řadu nevýhod. Mezi hlavní výhody patří vlastnosti uvedené v předchozí kapitole. Mezi nevýhody můžeme zařadit následující vlastnosti: paměťové nároky, vyžaduje interpret, kombinuje primitivní datové typy a objekty, programy napsané v jazyce Java mohou být při běhu pomalejší než v jiných jazycích. KST/IZAPR - Základy programování blok 2, strana 7 (9) Michael Bažant
8 2.2.5 Jazyk Java kompilace a spuštění programu Kompilaci zdrojového kódu zapsaného v jazyce Java provádíme pomocí Java kompilátoru (Java compiler), který je součástí nástrojů obsažených v JDK. Java compiler provádí kompilaci zdrojového kódu na bytecode. Pro spuštění dále používaných příkazů je nutné mít nainstalované JDK a případně mít také v operačním systému nastavenou cestu k těmto příkazům. Příkaz pro kompilaci je následující: javac [nastaveni] [soubory se zdroj. kodem] Příklad: javac HelloWorld.java Výsledkem kompilace je bytecode uložený v souboru se stejným názvem (ve stejné složce) Příklad: HelloWorld.class Pomocí různých parametrů je možné měnit nastavení kompilace, následující nastavení -d provede uložení výsledného souboru do složky classes. Příklad nastavení: javac d classes HelloWorld.java Pro spuštění programu napsaného v jazyce Java používáme příkaz java [- nastaveni] class [argumenty] Příklad: java HelloWorld Postup při kompilaci a spuštění programu z příkazové řádky je uveden na obrázku (viz Obrázek 1). Obrázek 4: Postup při kompilaci a spuštění programu v příkazovém řádku Závěrem této kapitoly bych upozornil na rozdíl při zadávání souborů jako parametrů při kompilaci a spouštění, který je zřejmý z přechozích příkladů. Při kompilaci zadáváme celá název soubor i s příponou názvu souboru.java, při spuštění bez přípony názvu souboru.class. KST/IZAPR - Základy programování blok 2, strana 8 (9) Michael Bažant
9 Otázky na procvičení 1. Jaké základní kroky si představíte pod pojmem programování? 2. Co může představovat optimalizace programu? 3. Které činnosti se vykonávají během návrhu řešení programu? 4. Co rozumíme pod zkratkou JVM? 5. Co rozumíme pod zkratkou JRE? Odkazy a další studijní prameny 1. Java Tutorial - KST/IZAPR - Základy programování blok 2, strana 9 (9) Michael Bažant
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
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
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
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
10 Balíčky, grafické znázornění tříd, základy zapozdření
10 Balíčky, grafické znázornění tříd, základy zapozdření Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům balíčkům, grafickému
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech
7 Formátovaný výstup, třídy, objekty, pole, chyby v programech Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost formátovanému výstupu,
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ů
6 Příkazy řízení toku
6 Příkazy řízení toku Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost příkazům pro řízení toku programu. Pro všechny tyto základní
Úvod. Únor Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 23
Seminář Java Úvod Radek Kočí Fakulta informačních technologií VUT Únor 2010 Radek Kočí Seminář Java Úvod 1/ 23 Téma přednášky Organizace semináře Java úvod, distribuce Radek Kočí Seminář Java Úvod 2/ 23
3. Základy programovacího jazyka Java
3. Základy programovacího jazyka Java Programovací jazyk Java nese označení jazyk 3.v generace 3GL, kde označeni 3 označuje imperativní jazyk vysoké úrovně. Tento jazyk se vyznačuje vysokou mírou univerzálnosti,
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
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
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Ú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
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ý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í
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,
ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ 2013 2+2.1 3/14
ZÁKLADY PROGRAMOVÁNÍ Mgr. Vladislav BEDNÁŘ 2013 2+2.1 3/14 Co je vhodné vědět, než si vybereme programovací jazyk a začneme programovat roboty. 1 / 12 0:40 Programování na PC Při programování na PC musíme
Vývojové nástroje jazyka Java
Vývojové nástroje jazyka Java Tato kapitola informuje čtenáře, jaké nástroje je zapotřebí nainstalovat pro spouštění a vývoj programů v jazyce Java, hlavním cílem kapitoly je seznámit čtenáře s aplikacemi,
Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost rozhraním a výjimkám.
13 Rozhraní, výjimky 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 rozhraním a výjimkám. Doba nutná k nastudování 2 2,5 hodiny
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?
5 Přehled operátorů, příkazy, přetypování
5 Přehled operátorů, příkazy, přetypování Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně budou uvedeny detaily týkající se operátorů. Doba nutná k nastudování
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
Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle
Java [džava] nebo [džáva] v americkém slangu "kafe" Sun Microsystems nyní Oracle Významné zdroje ze stovek/tisíců dostupných http:// java.sun.com Java http://dione.zcu.cz/java výborný rozcestník Historie
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á
11 Diagram tříd, asociace, dědičnost, abstraktní třídy
11 Diagram tříd, asociace, dědičnost, abstraktní třídy 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 diagramům tříd, asociaci,
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ů,
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.
Ú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Ý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
První kroky s METEL IEC IDE
První kroky s poskytuje programování v IEC 61131-3 jazycích, podporuje jak grafickou tak textovou podobu. Umožňuje vytvářet, upravovat a ladit IEC 61131-3 (ST, LD, IL, FBD) programy pro řídicí jednotky
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
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
1. Programování proti rozhraní
1. Programování proti rozhraní Cíl látky Cílem tohoto bloku je seznámení se s jednou z nejdůležitější programátorskou technikou v objektově orientovaném programování. Tou technikou je využívaní rozhraní
Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:
Aplikace Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části: prezentační vrstva vstup dat, zobrazení výsledků, uživatelské rozhraní, logika uživatelského rozhraní aplikační vrstva
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
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
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Vzdělávací oblast Informatika a informační a komunikační technologie pro vzdělávací obor Programování
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
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í
Š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
Semestrální práce KIV/PC
Semestrální práce KIV/PC Václav Löffelmann 2014-12-31 1 Zadání Naprogramujte v ANSI C přenositelnou konzolovou aplikaci, která jako vstup obdrží soubor obsahující obrázek ručně psané číslice a soubor s
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í
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
Vyřešené teoretické otázky do OOP ( )
Vyřešené teoretické otázky do OOP (16. 1. 2013) 1) Vyjmenujte v historickém pořadí hlavní programovací paradigmata a stručně charakterizujte každé paradigma. a) Naivní chaotičnost, špatná syntaxe a sémantika
Úvod. Leden Fakulta informačních technologií VUT. Radek Kočí Seminář Java Úvod 1/ 22
Seminář Java Úvod Radek Kočí Fakulta informačních technologií VUT Leden 2008 Radek Kočí Seminář Java Úvod 1/ 22 Téma přednášky Organizace semináře Java úvod, distribuce Radek Kočí Seminář Java Úvod 2/
4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody
4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty
Ú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
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í
Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky
Google Web Toolkit Martin Šurkovský, SUR096 Vysoká škola Báňská - Technická univerzita Ostrava Katedra informatiky 29. března 2010 Martin Šurkovský, SUR096 (VŠB - TUO) Google Web Toolkit 29. března 2010
5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina
5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.
Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.
Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces
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
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
Obsah. Zpracoval:
Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč
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
Algoritmizace řazení Bubble Sort
Algoritmizace řazení Bubble Sort Cílem této kapitoly je seznámit studenta s třídícím algoritmem Bubble Sort, popíšeme zde tuto metodu a porovnáme s jinými algoritmy. Klíčové pojmy: Třídění, Bubble Sort,
Hodnoticí standard. Programátor (kód: M) Odborná způsobilost. Platnost standardu. Skupina oborů: Informatické obory (kód: 18)
Programátor (kód: 18-003-M) Autorizující orgán: Ministerstvo vnitra Skupina oborů: Informatické obory (kód: 18) Týká se povolání: Programátor Kvalifikační úroveň NSK - EQF: 4 Odborná způsobilost Název
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
Seznámení s prostředím dot.net Framework
Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené
ČÁ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
Ú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
3. Je defenzivní programování technikou skrývání implementace? Vyberte jednu z nabízených možností: Pravda Nepravda
1. Lze vždy z tzv. instanční třídy vytvořit objekt? 2. Co je nejčastější příčinou vzniku chyb? A. Specifikace B. Testování C. Návrh D. Analýza E. Kódování 3. Je defenzivní programování technikou skrývání
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování
Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování Charakteristika vyučovacího předmětu Cílem předmětu je poskytnout žákům ucelený
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ý
1 Uživatelská dokumentace
1 Uživatelská dokumentace Systém pro závodění aut řízených umělou inteligencí je zaměřen na závodění aut v prostředí internetu. Kromě toho umožňuje testovat jednotlivé řidiče bez nutnosti vytvářet závod
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006
Počítačové laboratoře bez tajemství aneb naučme se učit algoritmizaci a programování s využitím robotů CZ.1.07/1.3.12/04.0006 Lekce 1 Jazyk Java Tento projekt je spolufinancován Evropským sociálním fondem
Překladač a jeho struktura
Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice
ANOTACE vytvořených/inovovaných materiálů
ANOTACE vytvořených/inovovaných materiálů Číslo projektu Číslo a název šablony klíčové aktivity Tematická oblast Formát Druh učebního materiálu Druh interaktivity CZ.1.07/1.5.00/34.0722 III/2 Inovace a
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é
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
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í
Ročníkový projekt. Jaroslav Žáček jaroslav.zacek@osu.cz
Ročníkový projekt Jaroslav Žáček jaroslav.zacek@osu.cz Cíle předmětů Vytvoření fungující aplikace, která splňuje definované požadavky Vyzkoušet si celý životní cyklus projektu - specifikace zadání, formování
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena.
2015 GEOVAP, spol. s r. o. Všechna práva vyhrazena. GEOVAP, spol. s r. o. Čechovo nábřeží 1790 530 03 Pardubice Česká republika +420 466 024 618 http://www.geovap.cz V dokumentu použité názvy programových
Základy programování (C#) Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1134_Základy programování (C#) _PWP
Základy programování (C#) Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1134_Základy programování (C#) _PWP Název školy: Číslo a název projektu: Číslo a název šablony klíčové aktivity: Označení
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
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
1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky
1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky 1. Nainstalujte ovladač na připojení NXJ přes USB rozhraní. Pokud jste nainstalovali software od LEGO Mindstorms, který se k legu
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java
3 Vývojová prostředí, základní prvky jazyka Java, konvence jazyka Java Studijní cíl V tomto bloku navážeme na konec předchozího bloku a seznámíme se s vývojovými prostředími, které se nejčastěji používají
Real Time programování v LabView. Ing. Martin Bušek, Ph.D.
Real Time programování v LabView Ing. Martin Bušek, Ph.D. Úvod - související komponenty LabVIEW development Konkrétní RT hardware - cíl Použití LabVIEW RT module - Pharlap ETS, RTX, VxWorks Možnost užití
Studijní zdroje. Studijní zdroje. Studijní zdroje. Podmínky ukončení předmětu. Vlastnosti a použití jazyka Java. Semestrální projekt
Programovací jazyk Java Vlastnosti a použití jazyka Java přednáška č. 1 Podmínky ukončení předmětu Co bude hodnoceno: testy, aktivita a samostatná práce ve cvičeních (celkem až 30 bodů), semestrální projekt
Algoritmizace a programování
Algoritmizace a programování Řídicí struktury jazyka Java Struktura programu Příkazy jazyka Blok příkazů Logické příkazy Ternární logický operátor Verze pro akademický rok 2012/2013 1 Struktura programu
Čtvrtek 3. listopadu. Makra v Excelu. Obecná definice makra: Spouštění makra: Druhy maker, způsoby tvorby a jejich ukládání
Čtvrtek 3. listopadu Makra v Excelu Obecná definice makra: Podle definice je makro strukturovanou definicí jedné nebo několika akcí, které chceme, aby MS Excel vykonal jako odezvu na nějakou námi definovanou
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
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1
24-2-2 PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE AUTOR DOKUMENTU: MGR. MARTINA SUKOVÁ DATUM VYTVOŘENÍ: 23.7.2013 KLÍČOVÁ AKTIVITA: 02 UČIVO: STUDIJNÍ OBOR: PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) INFORMAČNÍ TECHNOLOGIE
Programování 1 - Java
Programování 1 - Java A0B36PR1-Programování 1 Fakulta elektrotechnická České vysoké učení technické A0B36PR1 - ÚVOD 01 1 Vítejte, představme se Přednášející Doc. Ing. Ivan Jelínek, CSc. Studenti 1. ročníku
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
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,
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
PROGRAMOVÁNÍ PRO MS WINDOWS 2
Cílem předmětu je seznámit posluchače s moderními prostředky pro tvorbu aplikací pro Windows jmenovitě s programovou platformou NET a programovacím jazykem C#. V průběhu budou vysvětlena následující témata:
Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21
Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní
Vzdálená správa v cloudu až pro 250 počítačů
Vzdálená správa v cloudu až pro 250 počítačů S pomocí ESET Cloud Administratoru můžete řídit zabezpečení vaší podnikové sítě bez nutnosti nákupu, instalace nebo údržby dalšího hardwaru. Řešení je poskytováno
1 Úvod 1.1 Vlastnosti programového vybavení (SW)
1 Úvod 1.1 Vlastnosti programového vybavení (SW) - dávkové zpracování - omezená distribuce - zakázkový SW - distribuované systémy - vestavěná inteligence - laciný HW - vliv zákazníka 1950 1960 1970 1980
Řízení reálných projektů, agilní metodiky
Agent Technology Group Katedra kybernetiky Fakulta elektrotechnická - České vysoké učení technické Praha, 2009 Osnova Lze vyvíjet software bez metodiky? - bohužel ano menší komerční firmy (zejména 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í
Identifikátor materiálu: ICT-4-01
Identifikátor materiálu: ICT-4-01 Předmět Téma sady Informační a komunikační technologie Téma materiálu Počítačové algoritmy Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí Počítačové
Java/QE Akademie - Osnova
Java/QE Akademie - Osnova Lekce 1 1. Co je to Java? 1.1. Struktura Java kódu 2. Potřebné nástroje pro vývoj 2.1. JVM 2.2. JRE 2.3. JDK 3. Co je to proměnná a její zápis v Javě 3.1. Klasické proměnné 3.2.