Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaEmma Orsósné Megváltozta több, mint 10 éve
1
Java programozási nyelv 2. rész – Vezérlő szerkezetek
Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember
2
Tartalomjegyzék Programozási módszertanok
Strukturált programozás, struktogram Vezérlő szerkezetek JAVA-ban Az utasítás fogalma A blokk fogalma Egyszerű elágazás (if) Összetett elágazás (switch) Elöltesztelő ciklus (while) Hátultesztelő ciklus (do-while) For ciklus (for) For ciklus folyt. Címkék Break utasítás Continue utasítás Visszatérés egy metódusból (return)
3
Programozási módszertanok
Egykoron: A programozás művészet volt Monolitikus programozás, egy ember ír egy programot A programnak nincs belső struktúrája Programozó zseni, nem tudja elmondani, hogyan csinálja! Szoftverkrízis Több programozóra van szükség Szükség van a programozók képzésére Egy program soha nincs készen, fel kell készülni a javításokra, továbbfejlesztésre, esetleg a programozó nélkül! Művészetből tudománnyá kellett alakítani a szakmát Ezért van szükség módszertanokra
4
Moduláris programozás
Alapelv: Oszd meg és uralkodj! Top-down dekompozíció - Bottom-up kompozíció Előnyök: Tiszta szerkezet, tiszta kapcsolatok Egy-két helyen kell módosítani, ha valamilyen javításra, változtatásra van szükség Párhuzamos fejlesztést, tesztelést tesz lehetővé Egyszerre több ember dolgozhat egy feladaton Újrafelhasználhatóság, bizonyos modulok szabványosíthatók, újra felhasználhatók Hátrányok: Nem ad módszert arra, hogy tökéletesen jól működő modulokból hogyan lehet jó programot összeállítani.
5
Strukturált programozás
DIJKSTRA: Hierarchikus programozás Top-down elven fokozatosan finomítjuk a programot. Nincsen bottom-up fázis. Minden szinten tudományosan bizonyítható a program helyessége. BOEHM ÉS JACOPINI: Minden algoritmus felépíthető a következő elemekből: szekvencia szelekció, elágazás iteráció, ciklus JACKSON-ELV: az adatszerkezetek is leírhatók a fenti három szerkezettel
6
Struktogram A strukturált programozás alapszerkezeteit egymásba ágyazott grafikus elemekkel ábrázoljuk. Amit le tudunk rajzolni, azt könnyedén átírhatjuk strukturált programmá, és viszont. Bármely strukturált programot le tudunk rajzolni struktogrammal. Alapfogalmak: ProgTerv/STUKI.HTM
7
Struktogram alapelemek 1
Szekvencia Elágazás (if) utasítás 1 utasítás 2 Elágazás (switch)
8
Struktogram alapelemek 2
Előltesztelő ciklus (while) Kidolgozott példak: ProgTerv/PELDAK.HTM Egy struktogram tervező program:
9
Példa struktogram
10
Vezérlőszerkezetek Java-ban
A strukturált programozás megvalósítása JAVA-ban A C++ szintaktikájára épül kisebb eltérésekkel Ennek elemeit vesszük sorra a következő oldalakon Csak az eltéréseket emelem ki!
11
Az utasítás fogalma Utasítás: kifejezés utasítás deklaráció utasítás
értékadás postfix, vagy prefix ++, ill. -- -szal képezett kifejezés metódushívás példányosítás (a new operátor használatával) deklaráció utasítás egy lokális változó létrehozása és opcionális inicializálása a lokális változó a deklarációtól az őt magában foglaló blokk végéig létezik A kétfajta utasítás tetszőleges sorrendben követheti egymást. Minden utasítást pontosvessző (;) zár le.
12
A blokk fogalma Blokk (utasítások szekvenciája):
Utasítások { és } jelek közé írt sorozata Mindenhol, ahol utasítás írható, ott blokk is írható. Például: { int i; i = 123; int j = i*i; }
13
Egyszerű elágazás (if)
if (logikai kifejezés) utasítás1 else utasítás2 Sajnos mindkét ágban állhat egyetlen utasítás is, ezért fennáll az if-then-else probléma: if (a == 1) { if (b == 2) { c = 1; } else { c = 2; } } if (a == 1) if (b == 2) c = 1; else c = 2;
14
Összetett elágazás (switch)
switch (egész kifejezés) { case cimke1: utasítások; break; case cimke2: case cimke3: ... default: }
15
Elöltesztelő ciklus (while)
while (logikai kifejezés) utasítás
16
Hátultesztelő ciklus (do-while)
utasítás while (logikai kifejezés) Ha a logikai kifejezés hamis, egyszer akkor is lefut a ciklusmag!
17
For ciklus (for) for (kezdet; logikai kifejezés; továbblépés) utasítás
Ez nagyjából ekvivalens a következővel: { kezdet; while (logikai kifejezés) { utasítás; továbblépés; }
18
For ciklus folyt. Miért csak nagyjából ekvivalens a kétféle ciklus?
continue utasítás Miért fontos a külső zárójel a while ciklus körül?
19
Címkék Címke bármely utasítás elé tehetünk címkét, például:
cimke: utasítás A most következő utasítások használhatók címkével és anélkül is. Ha megadunk címkét, akkor a címkével jelölt blokkra vonatkozik. Ha nem adunk meg címkét, akkor a legbelsőre.
20
Break utasítás Egy blokkból való kilépésre szolgál. Például:
int i = 1; ciklus: while (i < 1000) { for (int j = 1; j <= i; j++) { if (KilepesTeszt(i, j)) break ciklus; … } Break utasítással nem lehet kilépni egy metódusból.
21
Continue utasítás A ciklusmag hátralévő részét átugorva, a ciklus feltételére kerül a vezérlés. For ciklus esetén a továbblépés is lefut! Például: while (! bemenet.eof()) { sor = bemenet.readln(); if (ures(sor)) continue; Feldolgoz( sor ); }
22
Visszatérés egy metódusból (return)
Egy metódusból a return utasítással tudunk visszatérni. A return után írt kifejezés lesz a metódus visszatérési értéke. A Java fordító ellenőrzi, hogy a metódus minden lehetséges lefutása esetén végrehajtásra kerüljön egy return utasítás. Ha úgy találja, hogy ez nem teljesül, akkor fordítási hibát kapunk.
23
Nem létezik goto utasítás
A Java nyelvben nincsen goto utasítás! Ennek ellenére a goto foglalt kulcsszó! Az eddig megismert szerkezetekkel - kiegészítve a később tárgyalandó finally-val - minden felmerülő programozási feladat megoldható.
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.