Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

České vysoké učení technické Fakulta elektrotechnická Programování - úvod Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02.

Podobné prezentace


Prezentace na téma: "České vysoké učení technické Fakulta elektrotechnická Programování - úvod Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02."— Transkript prezentace:

1

2 České vysoké učení technické Fakulta elektrotechnická Programování - úvod Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02

3 A0B36PRI ÚVOD 012 Vítejte, představme se … Jste STUDENTI ČVUT FEL! Jste členy akademické obce! Děkan, senát, vědecká rada Zaměstnanci (tituly …), doktorandi Katedry Studenti 1. ročníku programu KME a EEM Přednáší Ing. Jiří Zdeněk, CSc. Doc. Ing. Ivan Jelínek, CSc. Cvičící:….

4 A0B36PRI ÚVOD 013 Kdo je kdo v Programování I 1.Vy – studenti Různé zkušenosti s různými programovacími jazyky 2.Přednášející: Ing. Jiří Zdeněk, CSc., Doc.Ing. Jelínek Ivan CSc. 3.Nejdůležitější učitelé: cvičící!! Ing. R. Havlíček, PhD., ved. Cvičení Ing. M. Chomát, CSc. Ing. S. Flígl, PhD. Ing. I. Beshajová-Pelikánová Ing. J. Kučerák Ing. K. Dušek Ing. M. Mudroch Ing. M. Filipský 4. Garant: Doc.Ing. Jelínek Ivan CSc. Proč asi ??

5 A0B36PRI ÚVOD 014 Cíl předmětu Cíl předmětu: Cílem předmětu je naučit studenty sestavovat základní programy v jazyku Java. Jádrem jsou datové typy, výrazy, funkce, pole, základní programovací techniky v jazyce Java Součástí výkladu jsou základy algoritmizace, netriviálních datových struktur a úvod do objektového přístupu V závěru je seznámení s principy jazyka C. Poznámkt: –Znalosti studentů z oblasti programování na začátku předmětu jsou nevyrovnané - nudící se vs. nestíhající studenti –Výsledky předmětu, statistika!!!!!!!!!! Organizace předmětu: Přednášky (účast nepovinná, ale velmi (!) doporučená) Cvičení: …. Samostatná práce: studium, domácí úkoly, semestrální práce

6 A0B36PRI ÚVOD 015 Klasifikace na základě bodového hodnocení) klasifikacepočet bodůčíselněslovně A výborně B ,5velmi dobře C dobře D60 – 692,5uspokojivě E dostatečně F< 504nedostatečně Zdroje bodů max. bodůmin. bodů 4 domácí úlohy3020 semestrální práce test na cvičeních155 zkouškový test2010 ústní zkouška20-10b Hodnocení a zkouška Možnost nechat si zapsat známku nebo jít k ústní zkoušce – odečte se 10 bodů Body ze cvičení, maximálně a více bodů → možnost A, B, C podle prémiového testu Zakončení předmětu: zápočet, zkouška (na základě bodového hodnocení) Minimální počet bodů pro zápočet je 40 bodů

7 A0B36PRI ÚVOD 016 Témata přednášek 1. Algoritmy, programy, programovací jazyky, jazyk Java 2. Řízení běhu programu - řídicí struktury 3.Proměnné, operátory, výrazy, representace čísel v počítači 4.Funkce a procedury, role proměnných 5. Předávání parametrů, soubory I (jednoduché typy) 6. Rozklad problému na podproblémy – procedurální programování, rekurze 7. Strukturované datové typy – pole, referenční proměnná 8.Vícerozměrná pole, string, pole jako parametr 9. Algoritmy vyhledávání a řazení, složitost algoritmů I 10. Složitost algoritmů II 11. Principy objektově orientovaného programování 12. Soubory II 13. Úvod do jazyka C 14. Rezerva

8 A0B36PRI ÚVOD 017 Témata cvičení 1.Seznámení s počítačovou učebnou a službami fakultní počítačové sítě 2.Seznámení s vývojovým prostředím (IDE) NetBeans, první program v Javě 3.Proměnné, operátory, výrazy, přiřazení, vstup a výstup 4.Větvení, podmíněný příkaz, programový přepínač (switch) 5.Cykly 6.Procedury a funkce I+ zadání semestrální práce 7.Procedury a funkce II, předávání parametrů funkcím, rozklad problému na podproblémy, procedurální programování 8.Strukturované datové typy I – pole, string 9.Strukturované datové typy II – vícerozměrná pole, matice pole jako parametr 10.Algoritmy řazení a třídění I 11.Algoritmy řazení a třídění II 12.OOP 13.Obhajoba semestrální práce, test, zápočet 14.Rezerva

9 Struktura cvičení Systém dvoutýdenních bloků: 1. týden bloku –diskuse nad domácí úlohou z minulého bloku, vyvolávání, hodnocení, oznámení bodů –zadání domácího úkolu nad tématem 1a a 2a, krátký výklad obou témat –procvičování obou témat na vzorových příkladech 2. týden bloku –konzultace nad domácí úlohou z 1. týdne bloku –konzultace nad oběma tématy z minulého bloku, případně vysvětlující příklady A0B36PRI ÚVOD 018

10 9 Zdroje informací a nástroje pro studium Vývojové prostředky: IDE – NetBeans Stáhnout zdarma a nainstalovat, viz cvičení Podklady k přednáškám a cvičením: Presentace předmětu A0B36PRI „Programování“ https://edux.feld.cvut.cz/courses/A0B36PRI/ Doporučená literatura Pro programovací jazyk JAVA Herout, P.: Učebnice jazyka Java, Kopp, Č.Budějovice, ISBN: Pro programovací jazyk „C“ Herout, P.: Učebnice jazyka C. III. vyd. Kopp, Č.Budějovice, ISBN:

11 A0B36PRI ÚVOD 0110 Další literatura (výběr) Pro programovací jazyk JAVA Zakhour, S: Java 6, výukový kurz, CPress, Brno, 2007, ISBN Virius, M.: JAVA pro zelenáče. Neocortex, Praha, ISBN: Keogh, J.: JAVA bez předchozích znalostí. Computer Press, Brno, ISBN: Herout, P.: JAVA - grafické uživatelské prostředí a čeština, Kopp, Č.Budějovice, ISBN: Eckel, B.: Myslíme v jazyku Java – knihovna programátora, Grada, Praha ISBN: Eckel, B.: Myslíme v jazyku Java – knihovna zkušeného programátora, Grada, Praha ISBN: Pro programovací jazyk „C“ Kernighan, B.W.-Ritchie, D.M.: Programovací jazyk C. Computer Press, Brno, ISBN: X Herout, P.: Učebnice jazyka C – 2 díl, Kopp, Č.Budějovice, ISBN:

12 A0B36PRI ÚVOD 0111 Právě začínáme!!

13 A0B36PRI ÚVOD 0112 Šest zákonů programování 1.V V každém programu je alespoň jedna chyba 2.Každý Každý program lze zkrátit alespoň o jeden řádek 3.Nejjednodušší Nejjednodušší chyby se nejhůře hledají 4.Každou Každou opravou se do programu zanese nová chyba 5.Když Když už se zdá, že program je v pořádku, určitě jste něco přehlédli 6.Programátor Programátor dělá to co umí, počítač si dělá, co chce

14 A0B36PRI „PROGRAMOVÁNÍ“ 0213 Proces programování

15 A0B36PR1 - ÚVOD 0114 Programy a programovací jazyky Program je předpis (zápis algoritmu) pro provedení určitých akcí počítačem zapsaný v programovacím jazyku Programovací jazyky strojově orientované –strojový jazyk = jazyk fyzického procesoru –asembler (jazyk symbolických adres) vyšší jazyky –imperativní (příkazové, procedurální) –neimperativní (např. funkcionální) Hlavní rysy imperativních jazyků (např. C, C++, Java, Pascal, Basic,...) zpracovávané údaje mají formu datových objektů různých typů, které jsou v programu reprezentovány pomocí proměnných resp. konstant program obsahuje deklarace a příkazy deklarace definují význam jmen (identifikátorů) příkazy předepisují akce s datovými objekty nebo způsob řízení výpočtu

16 Základní přístupy k programování Strojový, naivní přístup –Strojový kód, asembler, skripty,C Procedurální přístup –C, Java, … Objektový přístup –Java, C++, C#,… A0B36PR1 - ÚVOD 0115

17 Naivní přístup v Javě A0B36PR1 - ÚVOD 0116 main{ xxxxx; } Class{..}

18 Procedurální přístup v Javě statické metody A0B36PR1 - ÚVOD 0117 metoda{ xxxxx; } main{ metoda; … } metoda{ xxxxx; } metoda{ xxxxx; } metoda{ xxxxx; } Class{..}

19 JAVA – procedurální přístup public class Dekrementace { }// doc public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n; System.out.println("Zadej počet "); n = sc.nextInt(); while (n > 0) { System.out.println("Vypis " + n); n = zmensi(n); } static int zmensi(int n) { n=n-1; return n; }

20 Objektový přístup v Javě instanční metody A0B36PR1 - ÚVOD 0119

21 JAVA – objektový přístup class Citac{ } class Menu{ } public class CitacTest{ public static void main(String[] args) { Citac citac = new Citac(0); Menu menu = new Menu(); do { citac.zobraz("Hodnota = "+citac.hodnota()); switch (menu.vyber()) { case 1: citac.zvetsit(); break; case 2: citac.zmensit(); break; case 3: citac.nastavit(); break; } } while (menu.volba()!=0); citac.exit("Konec"); }

22 A0B36PR1 - ÚVOD 0121 Implementace programovacích jazyků Interpretační metoda: překlad interpretace Zjednoušeně!

23 A0B36PR1 - ÚVOD 0122 Implementace programovacích jazyků Kompilační metoda: Cílový kód překlad spuštění Zjednoušeně!

24 A0B36PR1 - ÚVOD 0123 Kompilační metoda - jazyk C, C++ Zdrojový kód v jazyku C Překlad v GNU Linuxu Překlad v Solarisu Překlad v MS Windows Program pro MS Windows Program pro Solaris Program pro GNU Linux OS MS Windows OS GNU Linux OS Solaris

25 A0B36PR1 - ÚVOD 0124 Interpretační metoda - jazyk Java Zdrojový kód v jazyku Java soubor.java Překlad (javac) Bytecode soubor.class OS MS Windows OS GNU Linux OS Solaris JRE

26 A0B36PR1 - ÚVOD 0125 IDE – vývojový nástroj - NetBeans Pro vývoj programů se používá vývojový nástroj nazývaný IDE (Integrated Development Environment) IDE je v dnešní době k dispozici pro všechny běžné používané programovací jazyky, často od různých výrobců software V předmětu A0B36PR1 + 2 budeme pro vývoj programů v Javě používat IDE NetBeans IDE NetBeans je možné zdarma stáhnout na webu a nainstalovat na platformě Windows nebo Unix (viz NetBeans obsahují (nebo využívají) všechny nezbytné části pro vývoj programu v Javě (textový editor, kompilátor, ladící prostředky a další části) S používáním NetBeans se seznámíte na cvičeních Jiná prostředí –Eclipse - opensource - zdarma, fa IBM –IDEA - komerční (30tidenní zkušební verze zdarma) –JBuilder - základní verze zdarma pro nekomerční využití, fa Borland –JDeveloper - vývojové prostředí firmy Oracle, freeware –BlueJ – bylo volně šiřitelné multiplatformní vývojové prostředí

27 A0B36PR1 - ÚVOD 0126 NetBeans

28 A0B36PR Java Platforma (JRE) = Java Core API + JVM Software Hardware Kompilátor Počítač – HW, výpočet Disk Interpret PřekladInterpretace Pozn: zjednodušeno Zdrojový kód,.java Byte code,.class API JVM Aplikační prostředí – knihovny interpret prostředí hardwarová vrstva

29 A0B36PR Vývoj programů v Javě JRE - běhové prostředí, JRE = JVM +API pro běh programů –JVM – Java Virtual Machine – virtuální stroj –API – Application Programming Interface - knihovny JDK - Software Development Kit pro Javu -sada základních nástrojů pro vývoj programů v Javě -JRE, překladač javac, debugger, javadoc, nástroje pro vytváření jar archivů, mnohé další -ke stažení na

30 A0B36PR1 - ÚVOD 0129 Jazyk JAVA - interpretace Jazyk Java je implementován interpretačním způsobem program je tvořen jedním nebo několika zdrojovými soubory s příponou.java: Program.java zdrojové soubory se přeloží překladačem(*) javac do vnitřní formy (byte code, bajt-kód) s příponou.class : Program.java > javac > Program.class interpretaci vnitřní formy provede program java (JVM – Java Virtual Machine v balíčku JRE Java Runtime Environment) a provede výpočet: Program.class > java > „výpočet” Poznámky: (*) v terminologii firmy Sun to je kompilátor program obvykle využívá řadu knihoven (Java Core API), které je třeba mít k dispozici jak při překladu, tak při interpretaci!!!

31 A0B36PR Proč jazyk Java? jde o vyšší, obecně použitelný programovací jazyk s vysokým stupněm zabezpečení je objektově orientovaný, umožňuje však i klasické procedurální programování vytvořené programy jsou zcela portabilní (program vytvořený pod MS Windows bez problémů funguje pod Unixem a naopak) syntaxe výrazů a příkazů vychází z jazyka C; přechod z Javy na C nebo C++ je tedy jednodušší, než odjinud základní implementaci (JDK – Java Development Kit) firmy Sun lze pro prostředí Windows i Unix stáhnout ze stránek firmy Sun: My používáme vývojové prostředí NetBeans 7., fy. –V současnosti je aktuálni Netbeans s Javou 7.0 u25 –Studenti si tedy mohou snadno vývojový nástroj instalovat na svých domácích počítačích a mohou se učit programovat i mimo počítačové učebny školy

32 A0B36PRI ÚVOD 0131 JAVA – první program Příklad: program vypíše daný text na obrazovku: public class PrvniProgram { public static void main(String[] args) { System.out.println("Nazdar Svete"); } Po překladu a spuštění se na obrazovku vypíše Nazdar Svete Nejjednodušší zdrojový program – je uložen v jediném souboru. Jméno souboru musí být shodné se jménem třídy (zde PrvniProgram) a přípona (rozšíření) jména souboru je povinná.java (náš program bude tedy uložen v souboru „PrvniProgram.java“) deklarace veřejné třídy ( public class ), hlavní funkce main (veřejná statická metoda, public static method) Hlavička funkce funkce main (): klíčová slova public static void ( void - procedura) (String[] args) specifikace vstupních parametrů Konvence: jména tříd se píší s prvním velkým písmenem

33 A0B36PRI ÚVOD 0132 JAVA – bloková struktura –Program má blokový charakter (blok třídy, blok(y) metod(y)) Nejtriviálnější program je tvořen metodou main ve třídě (třída = program) public class PrvniProgram { public static void main(String[] args) { System.out.println("Nazdar Svete"); } } Jméno třídy Začátek třídy Konec metody Konec třídy Jméno metodyZačátek metody Hlavička metody Tělo metody

34 A0B36PR1 - ÚVOD 0133 Vlastnosti programovacích jazyků Syntaxe souhrn pravidel udávajících přípustné tvary dílčích konstrukcí a celého programu syntaktické diagramy Sémantika udává význam jednotlivých konstrukcí

35 A0B36PR1 - ÚVOD 0134 Rozšířená BNF Rozšířená Backus-Naurova forma – EBNF Příklad: identifikátor identifikátor = písmeno {písmeno | číslice} písmeno = 'A' | 'B' | 'C' | 'D' |... | 'X' | 'Y' | 'Z' číslice = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '9' Neterminály: identifikátor, písmeno, číslice Terminály: ‘A’, ‘B’,... Význam metasymbolů: {x}žádný nebo několik výskytů x x | yx nebo y [x]žádný nebo jeden výskyt x PRO ZÁJEMCE

36 A0B36PR1 - ÚVOD Vlastní studium  ?

37 Kde lze studovat Další informace k této přednášce hledejte např. v: Herout, P.: Učebnice jazyka Java, Kopp, Č.Budějovice, 2010, str

38 České vysoké učení technické Fakulta elektrotechnická Programování - úvod Jazyk JAVA Konec A0B36PRI - PROGRAMOVÁN Í

39 A0B36PR1 - ÚVOD 0138 Vlastní studium  ?


Stáhnout ppt "České vysoké učení technické Fakulta elektrotechnická Programování - úvod Jazyk JAVA A0B36PRI - PROGRAMOVÁN Í v1.02."

Podobné prezentace


Reklamy Google