Programozás III ÖTLETEK A FELADATMEGOLDÁSHOZ. A HF-EK APROPÓJÁN Néhány javaslat: 1. Jó lenne, ha a feladatmegoldás előtt átnéznék az előadás-anyagokat.

Slides:



Advertisements
Hasonló előadás
Osztály leszármaztatás
Advertisements

1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Programozás III STRING-XML.
C++ programozási nyelv Gyakorlat hét
Funkcionális függés Redundancia 1NF, 2NF, 3NF
Programozás III KOLLEKCIÓK 2..
3. A programozás eszközei, programozás-technikai alapismeretek
MI 2003/ A következőkben más megközelítés: nem közvetlenül az eloszlásokból indulunk ki, hanem a diszkriminancia függvényeket keressük. Legegyszerűbb:
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Objective- C Bereczki Gréta Tamara
Öröklődés 2..
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Számitástechnikai alapismeretek
Fájlkezelés, IO Kivételkezelés Belső osztályok
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Fejlett Programozási Technológiák II. Világos Zsolt 12. gyakorlat.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Java programozási nyelv 3. rész – Osztályok I.
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.
C# tagfüggvények.
ELTE Szlávi-Zsakó: Programozási alapismeretek 8.1/ Kiválogatás Specifikáció:  Bemenet: N:Egész, X:Tömb[1..N:Valami]
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Programozás I Függvények általános jellemzői
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
Bekezdésformázás Nevem: Berkes András Speciális kategória
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Dr. Balogh Péter Gazdaságelemzési és Statisztika Tanszék DE-AMTC-GVK
Beolvasó utasítás Console.Read();  Int típusú adatot kapunk. Console.ReadLine();  String típusú adatot kapunk. Console.ReadKey();  Tetszőleges billentyű.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Hernyák Zoltán Programozási Nyelvek II.
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 Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
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 Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Java programozási nyelv Vezérlési szerkezetek
Java programozási nyelv Metódusok
Java programozási nyelv Adatbekérés konzolról
Csempe Programozás érettségi mintafeladat
Programozás III KOLLEKCIÓK.
World Wide Web Szabó Péter Számítástechnika-technika IV. évfolyam.
Programozás III UNIT TEST. És tényleg: Honnan lehet tudni, hogy működik-e vagy sem?
1 Objektum orientált programozás Öröklődés: többszörös öröklődés, konstruktorok, destruktorok, overloading Nagy Szilvia.
Objektumvezérelt rendszerek tervezése 7. óra – Iterator, State, Interpreter © Szőke Gábor.
CUDA C/C++ programozás
Programozás III KOLLEKCIÓK.
Programozás III KIVÉTEL.
Gyurkó György. Az állapotmodellezés célja Általánosságban ugyanaz, mint a többi dinamikus modellezési technikáé: Jobban megismerni a problémát. Finomítani.
Programozás, programtervezés
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Haladó C++ Programozás Programtervezési minták – alapok Sonkoly Balázs
Összeállította: Gergely János
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 Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
A szoftver mint komplex rendszer: objektumorientált megközelítés.
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
Algoritmus készítés.
Előadás másolata:

Programozás III ÖTLETEK A FELADATMEGOLDÁSHOZ

A HF-EK APROPÓJÁN Néhány javaslat: 1. Jó lenne, ha a feladatmegoldás előtt átnéznék az előadás-anyagokat is. 2. És persze, a gyakorlati feladatokat is. 3. No meg a feladat szövegét. Ha nem világos, nyugodtan meg lehet kérdezni.

A HF-EK APROPÓJÁN Végig kell gondolni, hogy mi változó, mi metódus, mit hol kell kiszámolni (meghatározni). A vezérlő osztály feladata lehetőleg csak a vezérlés. Alap-osztályokban NINCS input/output  ha valahogy tudatni kell a hívó osztállyal, hogy eredményes-e a hívás vagy sem, akkor void helyett pl. boolean metódust írunk. Hibakeresés: Olvassák el a hibaüzenetet!! Teszteljék a futást!

A HF-EK APROPÓJÁN Tesztelés: 1. Lehetnek teszt célú kiíratások. de inkább debug, pl: Berakhatunk break pointo(ka)t, ezeket figyelhetjük. debug indításaleállításléptetések Tutorial/NetBeansDebuggerTutorial.htm

A HF-EK APROPÓJÁN „Megelőző” megjegyzések: Ne írjanak kilométeres sorokat. Lehetőleg ne használjanak ilyen változóneveket: o, O, l, I (kis O, nagy O, kis L, nagy I) Lehetőleg végezzenek ELLENŐRZÖTT beolvasást. Örüljenek a jól sikerült megoldásnak.

A HF-EK APROPÓJÁN Osztálynév kiíratása: vagy this.getClass().getSimpleName().toLowerCase(), vagy kell egy String getOsztalyNev() metódus. Lehet-e két toString()? Nem, de a/ lehet mellette más String eredmenyString() metódus; b/ lehet egy feltételtől függő elágazás a toString()-en belül.

MEGOLDÁSI ÖTLETEK Vélemények: a/ De jó, hogy végre eljutottunk idáig. b/ Jó, de nekem ez zh-ig túl sok. 

MEGOLDÁSI ÖTLETEK Hogyan lehet minimális ráfordítással felhasználni az eddigieket? Ha az eddigieket érti és alaposan át is tudja gondolni, akkor remekül fel tudja használni őket. Nézzük a médiás példát!

MEGOLDÁSI ÖTLETEK Az eddigi:

EREDETI

ÚJ KÍVÁNSÁG Hogyan kellene módosítani, hogy grafikus felületre is jó legyen?

MEGOLDÁSI ÖTLETEK Azok a metódusok, amelyek nem írnak közvetlenül a konzol- ra, változtatás nélkül felhasználhatóak.

MEGOLDÁSI ÖTLETEK Az új projekt: A két vezérlő osztály közül bármelyik indítható.

MEGOLDÁSI ÖTLETEK Módosítási javaslat: csináljuk ugyanazt, mint eddig. (A MediaFrame osztályban)

MEGOLDÁSI ÖTLETEK

De az előző diasorozatban nem ez a legfontosabb, hanem: Az, hogy az eddig tanultak teljes mértékben felhasznál- hatóak, és ha jó a programlogika, akkor majdnem mindegy, hogy konzolos vagy grafikus felületen jelenítjük meg az eredményeket. Ezek a tapasztalatok jó előkészítői lehetnek az MVC/MVP tervezési mintának.

Pl. Ember példányok egyedi sorszámozása a/ Ember osztályban: vagy a konstruktorban adjuk meg, vagy set metódussal Probléma: nem egyedi, hiszen a sorszám értéke a példányosítótól vagy a példány használójától függ. (Ez persze nem jelenti azt, hogy ne adhatnánk kívülről generált, egymástól eltérő sorszámokat, csak ilyenkor lehetne egyformákat is adni.) ADÓSSÁG: EGYEDI SORSZÁM

b/ Az Ember osztályban bevezetünk egy minden emberre jellemző statikus változót – ez lesz az utolsó ember sorszáma. Az új ember a rákövetkező sorszámot kapja: Probléma: meg kell érteni EGYEDI SORSZÁM

Hogyan oldható meg, hogy a kihívottak újabb embereket hívjanak ki, majd azok még újabbakat, stb? MÉG EGY: A JAVA CHALLANGE