Java programozási nyelv 2. rész – Vezérlő szerkezetek

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Definíciók: Algoritmus: bármely véges sok lépéssel leírható tevékenység. Olyan pontos előírás, amely megmondja, hogy egy adott típushoz tartozó feladat.
Algoritmusok.
Algoritmusleíró eszközök
C++ programozási nyelv Gyakorlat hét
Összefoglalás 1. Pascal program szerkezete 2. Pascal típusai
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Ismétlés: Döntések a feltétel egy logikai kifejezés if feltétel then
3. előadás (2005. március 1.) Utasítások, tömbök
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
JavaScript.
Programozás alapjai.
C A C nyelv utasításai.
C A C nyelv utasításai. Ismétlés Utasítások csoportosítása.
Programozás I. Horváth Ernő.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 3. rész – Osztályok I.
A Java programozási nyelvSoós Sándor 1/4 Java programozási nyelv 12. rész – Képek kezelése Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
1 Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat 1. Bevezetés Miskolc, 2004.
Utasítások, elágazás- és ciklusszervezés C nyelvi utasítások
PHP Webprogramozás alapjai
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Szombathely Dinamikus WEB programozás: PHP és JSP.
Programozás I. Egymásba ágyazott szelekciók, többágú szelekció
Vizuális és web programozás II.
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
ISZAM III.évf. részére Bunkóczi László
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
C nyelv utasításai.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
ismétlődő (azonos vagy hasonló) tevékenységek megvalósítására szolgál
PHP nyelv. PHP Interpreteres nyelv → parancsértelmező szükséges hozzá Rasmus Lerdorf 1995 → személyes felhasználás (internetes önéletrajzának megtekintésének.
Programozási nyelvek.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Hernyák Zoltán Programozási Nyelvek II.
Objektumorientált programozás
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Java programozási nyelv Vezérlési szerkezetek
Algoritmusok.
Objektum orientált programozás
Objektum orientált programozás
A Visual Basic nyelvi elemei
Operátorok Vezérlési szerkezetek Gyakorlás
Török Katalin és Marosi Nóra 11/c. Pascal: Az es években megjelent magas szintű programozási nyelv, közel áll az emberi gondolkodáshoz. Nevét.
Algoritmizálás, adatmodellezés
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
C++2. Ciklusok elöltesztelő (for, while) A ciklusmag feldolgozása előtt történik a vizsgálat  lehet, hogy egyszer sem fut le. A soronkövetkező iteráció.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Utasítás és blokk. Elágazás típusai, alkalmazása Kovács.
Strukturált programozás.  A strukturált programozás jelenti valamennyi ma használatos programtervezési módszer alapját  Széles körben elfogadott az.
A programozás módszertana. Monolitikus programozás Egyszerű feladatok - egyszerű programok Egy program – egy programozó Nincs belső struktúra, lineáris.
Script nyelvek előadás
Gépészeti informatika (BMEGEMIBXGI)
Script nyelvek előadás
Programozás C# -ban Elágazások.
Bevezetés a programozásba Algoritmikus gondolkodás
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
ITERÁCIÓ.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

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

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)

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

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.

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

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: http://www.ngkszki.hu/~fidoo/download/pmmf/ ProgTerv/STUKI.HTM

Struktogram alapelemek 1 Szekvencia Elágazás (if) utasítás 1 utasítás 2 Elágazás (switch)

Struktogram alapelemek 2 Előltesztelő ciklus (while) Kidolgozott példak: http://www.ngkszki.hu/~fidoo/download/pmmf/ ProgTerv/PELDAK.HTM Egy struktogram tervező program: http://www.myfriend.de/index.htm?/download.html

Példa struktogram

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!

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.

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

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;

Összetett elágazás (switch) switch (egész kifejezés) { case cimke1: utasítások; break; case cimke2: case cimke3: ... default: }

Elöltesztelő ciklus (while) while (logikai kifejezés) utasítás

Hátultesztelő ciklus (do-while) utasítás while (logikai kifejezés) Ha a logikai kifejezés hamis, egyszer akkor is lefut a ciklusmag!

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

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?

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.

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.

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

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.

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