1 / 39

Programovací jazyk

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

Télécharger la présentation

Programovací jazyk

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programovací jazyk • programovací jazyk • prostredie a programovací jazyk Java • prepis algoritmov do jazyka Java • riešené úlohy

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

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

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

  5. Ž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)

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

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

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

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

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

  11. Od kódu k aplikácii

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

  13. Š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”); } }

  14. Š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”); } }

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

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

  17. 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 */

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

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

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

  21. Š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 */

  22. Prepis – sekvencia • príkazy oddeľujeme znakom “;” • sekvencia: { prikaz1; prikaz2; ... prikazn; };

  23. 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 */

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

  25. 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); }

  26. Prepis – vetvenie vetvenie: if (podmienka) p1; else p2; if (podmienka) { p11; ... p1m }else { p21; ... p2n; }

  27. Prepis – vetvenie II. • neúplné vetvenie: if (podmienka) p; alebo if (podmienka) { p11; p12; ... p1m }

  28. 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); }

  29. 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; }

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

  31. 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); }

  32. Prepis – cykly • s podmienkou na začiatku while (podmienka) { prikaz; } • napr. ... while (i<10) { System.out.println(i); i++; } ...

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

  34. Objemy a obsahy • Vypočítajte povrch a objemhranola.

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

  36. Delenie nulou • Pridajte do aplikácie delenie – ošetrite výpočet pre delenie nulou

  37. Absolútna hodnota čísla • Zistite absolútnu hodnotu čísla pomocou podmienky.

  38. Faktoriál • Zistite faktoriál pre zadané číslo.

  39. NSD • Nájdite najväčší spoločný deliteľ dvoch čísel pomocou euklidovho algoritmu.

More Related