400 likes | 676 Views
Programovací jazyk. programovací jazyk prostredie a programovací jazyk Java prepis algoritmov do jazyka Java riešené úlohy. Programovací jazyk. algoritmický jazyk – umožňuje zápis postupnosti vykonávania príkazov
E N D
Programovací jazyk • programovací jazyk • prostredie a programovací jazyk Java • prepis algoritmov do jazyka Java • riešené úlohy
Programovací jazyk • algoritmický jazyk – umožňuje zápis postupnosti vykonávania príkazov • programovací jazyk – formalizuje algoritmický jazyk do zápisu, ktorý dokáže spracovať prekladač a na základe neho realizovať príkazy prostredníctvom nemysliaceho zariadenia (obvykle počítača) • programovanie – analógia algoritmizácie, no navyše so zápisom v príslušnom programovacom jazyku
Typy programovacích jazykov • programovacie jazyky nižšej úrovne • bližie k jazyku stroja • jednoduchšie/rýchlejšie vykonavanie inštrukcií • často viazané na inštrukčnú sadu procesora • strojový kód, assembler, možno C • programovacie jazyky vyššej úrovne • používateľsky príjemnejšie • bližšie ľudskému jazyku – abstraktnejšia komunikácia • preklad do inštrukcií procesora • často multiplatformné • Java, C, Pascal, Basic, Fortran
História programovacích jazykov • 40-te roky 20. storočia – programovanie v strojovom jazyku počítača • 50-te roky 20. storočia – programovanie v jazyku symbolických adries • 1956 – programovací jazyk fortran (FORmula TRANslation) • 1958 – programovací jazyk algol (ALGOrithmic Language) • 1961 - programovací jazyk basic (Beginners All-Purpose Symbolic Instruction Code) • okolo 1970 – programovací jazyk pascal (systematické, štruktúrované programovanie) • okolo 1980 - programovací jazyk C (+ prechod k objektovo orientovanému programovaniu) • 90-te roky 20. storočia - vývoj komplexnejších verzií jazykov s cieľom využitia nových možností predovšetkým osobných počítačov (grafika, zvuk, multimédiá) – programovanie riadené udalosťami (Visual Basic, Delphi) • súčasnosť – programovacie jazyky nezávislé na platforme (Java, skriptovacie jazyky – PHP, ASP programovacie jazyky pre tvorbu aplikácií), .NET platforma
Životný cyklus programu • definícia problému • jasná definícia problému je polovicou riešenia • analýza problému • delenie problému na menšie a jednoduchšie podproblémy • kompletná definícia vstupov a výstupov • návrh riešenia • popis postupnosti krokov ľudským/algoritmickým jazykom • kódovanie • programovanie – prepis návrhu do zdrojového kódu • testovanie • odstraňovanie chýb programu (syntaktických i logických)
Kompilátor a interpreter • systém môže pristupovať k vykonávaniu kódu dvoma spôsobmi: • zdrojový kód preloží do strojových inštrukcií (exe súbor) – prekladaču hovoríme kompilátor, procesu prekladania kompilácia, • chyby v kóde musia byť odstránené pred spustením • C, Pascal • zdrojový kód sa vykonáva „za behu“ programu, procesoru ho prekladá interpreter príkaz po príkaze • skupina základných syntaktických chýb je odhalená na začiatku, časť až počas behu programu • Basic, Java
Programovací jazyk Java • vytvorený: • v roku 1991 • tvorca: James Gosling zo SUN Microsystems • dôvody: potreba vytvorenia platformne nezávislého jazyka schopného pracovať na rôznych elektronických zariadeniach • možnosť využívania v prostredí WWW
Technológia Java • programovací jazyk • umožňuje vytvárať všetky druhy aplikácií, ktoré sú schopné vytvárať ostatné programovacie jazyky • vývojové prostredie • súprava nástrojov (kompilátor, interpreter, generátor dokumentácie atď.) • aplikačné prostredie (JRE – Java Runtime Environment) • prostredie zabezpečujúce beh programu v jazyku Java • SDK – Software Development Kit • webbrowser
Súčasti jazyka/prostredia • Java Virtual Machine • fiktívne zariadenie emulujúce reálne zariadenie • poskytuje špecifikácie skutočného hardvéru • umožňuje beh programu napísaného pre iné zariadenie • bytecode – špeciálny skompilovaný kód (.class) prekladaný JVM do inštrukcií procesora • JIT (just-in-time) kompilátor mení bytecode do inštrukcií príslušného procesora
Súčasti jazyka/prostredia II. • Garbage collection • uvoľňuje pamäť od nepoužívaných objektov • Code security • kontroluje kód na nekorektný obsah (výnimky umožňujúce prístup k neoprávnených prvkom) a vykoná ho len v prípade, ak je bezpečný
Koniec teórie... • poďme programovať • výber vývojového prostredia • Java NetBeans • prostredie poskytujúce nástoje na: • vytvorenie projektu (File – New Project) • písanie (editor) a ladenie • kompilovanie (Build – Build Main Project) • spúšťanie (Run – Run Main Project) • detaily na seminároch...
Štruktúra programu • typický prvý príklad public class Hello { /** * My first Java program */ public static void main( String[] args ){ // prints the string Hello world on screen System.out.println(“Hello world”); } }
Štruktúra programu • typický prvý príklad public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } }
Popis programu public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } } • program v Jave je organizovaný v triedach (class) • hovorí, že názov nášho projektu je Hello • zatiaľ je totožný s názvom súboru, do ktorího ukladáme projekt
Popis programu public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } } • zložené zátvorky určujú začiatok a koniec bloku, v našom prípade celého programu (classu)
Popis programu public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } } • komentáre používateľa text medzi začiatkom a koncom kompilátor ignoruje • začiatok komentára /* • koniec komentára */
Popis programu public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } } • metóda main je metóda, ktorá sa v rámci classu vykonáva po jeho „spustení“ • obsahuje ju každý class • zvyčajne má presne túto štruktúru – detaily neskôr
Popis programu public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } } • riadkový komentár • text za znakmi // v rámci riadku sa ignoruje
Popis programu public class Hello { /** * My first Java program */ public static void main( String[] args ){ //prints the string Hello world on screen System.out.println(“Hello world”); } } • zabezpečí výpis textu v úvodzovkách
Špeciálny Java-komentár • /** /** This is an example of special java doc comments used for \n generating an html documentation. It uses tags like: @author Florence Balagtas @version 1.2 */
Prepis – sekvencia • príkazy oddeľujeme znakom “;” • sekvencia: { prikaz1; prikaz2; ... prikazn; };
Premenné • pri programovaní je zjavná potreba používania premenných • každá premenná musí byť deklarovaná – uvedené jej meno a typ • navyše jej môže byť priradená východzia hodnota • zatiaľ budeme používať premenné celočíselného typu, ktoré definuje kľúčové slovo int • {... int a; // deklaruje celočíselnú premennú a int b = 3; /* deklaruje celočíselnú premennú a nastaví jej východziu hodnotu 3 */
POZOR!!!! • Java je Case-sensitive = na veľkosti záleží • meno nie je Meno • pre názvy premenných platia štandardné pravidlá • príkaz i++ zvýši hodnotu premennej o 1 • príkaz i-- zníži hodnotu premennej o 1 • neskôr si o tomto zápise povieme podrobnejšie
Prepis – sekvencia – príklad • Napíšte program, ktorý vypočíta obsah a obvod obdĺžnika. { int a = 3; // zabezpecit vstup zatial int b = 4; // nevieme hodnoty vlozime // do premennych int s,o; s = a*b; o = 2*(a+b); System.out.println(s,o); }
Prepis – vetvenie vetvenie: if (podmienka) p1; else p2; if (podmienka) { p11; ... p1m }else { p21; ... p2n; }
Prepis – vetvenie II. • neúplné vetvenie: if (podmienka) p; alebo if (podmienka) { p11; p12; ... p1m }
Prepis – vetvenie– príklad • Nájdite a vypíšte maximum z dvoch celých čísel. { int a = 8; int b = 15; if (a > b) System.out.println(a); else System.out.println(b); }
Prepis – cyklus • s pevným počtom opakovaní od menšieho k väčšiemu for(i=1;i<=n;i++) { prikaz; } • s pevným počtom opakovaní od väčšieho k menšiemu for(i=n;i>=1;i--) { prikaz; }
Prepis – cyklus II. • vo všeobecnosti for (InicializacnyVyraz; podmUkoncenia; krok){ prikaz1; prikaz2; . . . } • InicializacnyVyraz – nastaví východziu hodnotu pre riadiacu premennú cyklu • podmUkoncenia – porovnáva hodnotu riadiacej premennej s danou hodnotou, ak je podmienka splnená vykoná príkazy v cykle • krok – aktualizuje hodnotu riadiacej premennej
Prepis – cyklus– príklad • Vypočítajte súčet prvých 100 celočíselných hodnôt. { int i; int sucet = 0; for(i=1;i<=100;i++) { sucet = sucet + i; } System.out.println(sucet); }
Prepis – cykly • s podmienkou na začiatku while (podmienka) { prikaz; } • napr. ... while (i<10) { System.out.println(i); i++; } ...
Prepis – cykly • s podmienkou na konci do { prikaz1; ... prikaz1; } while(podmienka);//kým je splnená podmienka • napr. do { System.out.println(i); i++; } while (i<10)
Objemy a obsahy • Vypočítajte povrch a objemhranola.
Jednoduchá kalkulačka • Vytvorte aplikáciu, ktorá dokáže realizovať základné matematické operácie (súčet, súčin, rozdiel) s dvoma celými číslami.
Delenie nulou • Pridajte do aplikácie delenie – ošetrite výpočet pre delenie nulou
Absolútna hodnota čísla • Zistite absolútnu hodnotu čísla pomocou podmienky.
Faktoriál • Zistite faktoriál pre zadané číslo.
NSD • Nájdite najväčší spoločný deliteľ dvoch čísel pomocou euklidovho algoritmu.