pr1j_04_programovaci_jazyk.ppt
Stiahnuť PPT · 397 kBPreber si túto poznámku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto poznámky.
Náhľad poznámky
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ý
Od kódu k aplikácii
úloha
nástroj
výsledok
napísanie programu ľubovoľný editor
súbor s koncovkou .java
kompilovanie
programu
java kompilátor
súbor s koncovkou .class
= bytecode
spustenie programu java interpreter
výstup programu
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:
{
prikaz
1;
prikaz
2;
...
prikaz
n;
};
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) {
p
11;
...
p
1m
} else {
p
21;
...
p
2n;
}
Prepis – vetvenie II.
neúplné vetvenie:
if (podmienka)
p;
alebo
if (podmienka)
{
p
11;
p
12;
...
p
1m
}
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 objem hranola.
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.
Document Outline
- Slide 1
- Slide 2
- Slide 3
- Slide 4
- Slide 5
- Slide 6
- Slide 7
- Slide 8
- Slide 9
- Slide 10
- Slide 11
- Slide 12
- Slide 13
- Slide 14
- Slide 15
- Slide 16
- Slide 17
- Slide 18
- Slide 19
- Slide 20
- Slide 21
- Slide 22
- Slide 23
- Slide 24
- Slide 25
- Slide 26
- Slide 27
- Slide 28
- Slide 29
- Slide 30
- Slide 31
- Slide 32
- Slide 33
- Slide 34
- Slide 35
- Slide 36
- Slide 37
- Slide 38
- Slide 39
Automaticky vygenerovaný textový náhľad. Pre plné formátovanie si stiahnite súbor.
nechodím na prednášky