JAVA programozási nyelv NetBeans fejlesztőkörnyezetben



Hasonló dokumentumok
Felkészítés szakmai vizsgára modulhoz. II/14. évfolyam

Felkészítés szakmai vizsgára modulhoz. II/14. évfolyam

Szoftvertechnológia alapjai Java előadások

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Java I. A Java programozási nyelv

JAVA programozási. fejlesztőkörnyezetben

Programozási nyelvek JAVA EA+GY 1. gyakolat

Java programozási nyelv

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

Programozási nyelv Java

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Projektmenedzsment eszközök Projektirányítás számítógéppel

Informatika terméktervezőknek

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

A Java programozási nyelv

A C# programozási nyelv alapjai

Java I. A Java programozási nyelv

Szoftvertervezés és -fejlesztés I.

Programozási technológia I.

Webprogramozás szakkör

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Java II. I A Java programozási nyelv alapelemei

1. Bevezetés A C++ nem objektumorientált újdonságai 3

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

4. Használati útmutatás

3. Gyakorlat Ismerkedés a Java nyelvvel

Vezérlési szerkezetek

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

3 A C programozási nyelv szintaktikai egységei

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

INFORMATIKAI ALAPISMERETEK

Adatbázis és szoftverfejlesztés elmélet

Java II. I A Java programozási nyelv alapelemei

Kifejezések. Kozsik Tamás. December 11, 2016

Objektumorientált Programozás III.

Programozási nyelvek (ADA)

Imperatív és procedurális programozás a Javában

Pénzügyi algoritmusok

Java programozási nyelv

Adatszerkezetek és algoritmusok

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

I. Bevezetés. 1. ábra A Java "logója"

Mintavételes szabályozás mikrovezérlő segítségével

Készítette: Nagy Tibor István

Kémiai és fizikai kémiai szakmai vizsgafeladatok

KOMPLEX KOMMUNIKÁCIÓS ÉS TERMÉSZETTUDOMÁNYI CSOMAG MATEMATIKA TÁMOP /1-2F MATEMATIKA A MINDENNAPI ÉLETBEN 9.

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

A C programozási nyelv I. Bevezetés

Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozás I. Első ZH segédlet

OOP #14 (referencia-elv)

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

JAVA ALKALMAZÁSOK 1. ELŐADÁS 2/22/2017 1

Occam 1. Készítette: Szabó Éva

Java. JIT (Just in Time) fordítók alkalmazása, optimalizálás AOT (Ahead of Time) fordítók alkalmazásának lehetősége

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

S z á m í t ó g é p e s a l a p i s m e r e t e k

OOP: Java 1.Gy: Java alapok

BME MOGI Gépészeti informatika 4.

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

A C programozási nyelv I. Bevezetés

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

1. Bevezetés szeptember 9. BME Fizika Intézet. Szám. szim. labor ea. Tőke Csaba. Tudnivalók. feladat. Tematika. Moodle Házi feladatok

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Java programozási nyelv 6. rész Java a gyakorlatban

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Pénzügyi algoritmusok

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Méréstechnika gyakorlat

Java programozási nyelv 4. rész Osztályok II.

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Programozási alapismeretek 1. előadás

BEVEZETÉS A VISUAL C# 2008 HASZNÁLATÁBA

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

A szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Podoski Péter és Zabb László

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

A C# PROGRAMOZÁSI NYELV

kodolosuli.hu: Interaktív, programozást tanító portál BALLA TAMÁS, DR. KIRÁLY SÁNDOR NETWORKSHOP 2017, SZEGED

Programozási nyelvek Java

Széchenyi István Szakképző Iskola

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

és az instanceof operátor

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

AWK programozás, minták, vezérlési szerkezetek

JAVA SE/ME tanfolyam tematika

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Átírás:

Moduláris korszerű szakmai gyakorlatok informatika területre JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam TANÁRI KÉZIKÖNYV A TISZK rendszer továbbfejlesztése Petrik TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 A projekt az Európai Unió támogatásával, az Európai Szociális Alap társfinanszírozásával valósult meg.

Moduláris korszerű szakmai gyakorlatok informatika területre Programozási projektfeladatok TÁMOP-2.2.3-07/1-2F-2008-0011 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Programozási projektfeladatok i/13. évfolyam TANÁRI KÉZIKÖNYV

A kiadvány a TÁMOP-2.2.3-07/1-2F-2008-0011 azonosító számú projekt keretében jelenik meg. Szerző: Kovács Zsuzsanna Lektor: Balogh Zoltán Borító és tipográfia: Új Magyarország Fejlesztési Terv Arculati kézikönyv alapján A mű egésze vagy annak részletei az üzletszerű felhasználás eseteit ide nem értve oktatási és tudományos célra korlátozás nélkül, szabadon felhasználhatók. A tananyagfejlesztés módszertani irányítása: Observans Kft. Budapest, 2009. Igazgató: Bertalan Tamás Tördelés: Király és Társai Kkt. Cégvezető: Király Ildikó

A tananyag általános leírása TANANYAG CÍME A TANANYAG ÓRASZÁMA 42 ÁLTALÁNOS CÉLOK JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Általános cél A Java programozási nyelv alapvető elemeinek az elsajátítása. KAPCSOLÓDÁSOK KIMENETI KÖVETELMÉNYEK Konkrét célok Az objektum-orientált programozási szemlélet alapjainak a megismerése, megértése. Az alapvető adattípusok, adatstruktúrák és algoritmikus szerkezetek megismerése. Az alapvető adattípusok, adatstruktúrák és algoritmikus szerkezetek JAVA specifikus elemeinek a megismerése, megértése. Alapvető programtesztelési technikák elsajátítása. A NetBeans IDE lehetőségeinek megismerése. Kapcsolódások az OKJ 1144-06 moduljához: 165/1.2/1144-06 (Programozásmódszertan I.) 165/1.3/1144-06 (Programnyelvek (elméleti ismeretek)) 165/1.4/1144-06 (Programnyelvek (gyakorlat)) 165/4.2/1144-06 (A fejlesztés lépései) 165/5.1/1144-06 (A tesztelés lépései) 165/6.2/1144-06 (Alkalmazásfejlesztő eszközök) A tanulók ismerjék a Java programozási nyelv legfontosabb szerkezeteit és szolgáltatásait, és legyenek képesek önállóan, esetenként a tanulói jegyzet felhasználásával alkalmazni azokat. Értsék a Java program felépítését, programjaikat modulárisan építsék fel, kezeljék a szükséges hibákat. Programjaikat úgy írják meg, hogy azt később ők maguk, vagy tanulótársuk fel tudja használni. Ismerjék a Java hivatalos dokumentációját, képesek legyenek témaköröket önállóan feldolgozni. Ismerjék a NetBeans fejlesztői környezetet, annak kényelmi funkcióit; készségszinten sajátítsák el a környezetben történő programfejlesztést. Használatával legyenek képesek alkalmazást fejleszteni, azt futtatni, hibás működés esetén lépésenkénti futtatással megtalálni a hiba okát, és javítani azt. PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 3

Tanmenet Sorszám 1. 2. 3. Tanítási egység témakör címe Időtartam A tanítási egység típusa A Java technológia, a Java nyelv jellemzői. A Java program szerkezete. Elemi output. A Java/NetBeans fejlesztői környezet telepítése, testreszabása és megismerése Azonosítók, egyszerű típusok. Változódeklaráció, inicializálás és literálok, konstansok. Kifejezések, operátorok Utasítás és blokk. Elágazás típusai, alkalmazása 3x45 perc 3x45 perc 3x45 perc Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) 4. Ciklus típusai, alkalmazása 3x45 perc Gyakorlat (3x45 perc) 5. 6. 7. 8. 9. Kivételkezelés. Elemi input a Consol osztály segítségével Egy- és többdimenziós tömbök definiálása és alkalmazása Típusosztályok. Számosztályok. Math és StrictMath matematikai osztályok A Character osztály. String és Stringbuffer osztályok Osztályok, objektumok definiálása és alkalmazása. Saját kivételosztály 3x45 perc 3x45 perc 3x45 perc 3x45 perc 3x45 perc Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) 10. Öröklődés. Saját kivételosztály 3x45 perc Gyakorlat (3x45 perc) 11. 12. 13. 14. Csatorna fogalma, használata. A Consol osztály. Fájlkezelés alapjai Dátum és időkezelés. Date, Calendar és GregorianCalendar, TimeZone osztályok alkalmazása Collection interfész. Halmaz, rendezett halmaz és lista interfészek Hashtábla, dinamikus vektor és verem osztályok 3x45 perc 3x45 perc 3x45 perc 3x45 perc Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) Gyakorlat (3x45 perc) 4 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: A Java technológia, a Java nyelv Sorszám: 1. jellemzői. A Java program szerkezete. Elemi output. A Java/NetBeans Évfolyam: I/13. fejlesztői környezet telepítése, testreszabása és megismerése Időtartam 135 perc A tanítási egység típusa Gyakorlat (3x45 perc) Célok A Java technológia alapjainak a megismerése. A Java programkészítési folyamatának a megértése: a Java platform, Java VM, forrásállomány, bájtkód, programértelmezés fogalmak megismerése, megértése. A Java nyelv alapvető jellemzőinek a megismerése, megértése. A Java szabványok megismerése. A Java nyelv alkalmazási lehetőségeinek a megismerése. Az IDE fogalmának a megismerése. A NetBeans IDE internetes elérhetőségének a megismerése, a telepítés módjának a kipróbálása. A NetBeans fontosabb beállításainak áttekintése. A Java program szerkezetének megismerése és megértése. Elemi output megvalósítása a Java programban. A Hello Vilag alkalmazás megírása a NetBeans segítségével. Paraméteres felhasználó input megértése és kipróbálása. Paraméteres programok futtatása a NetBeans környezetben. Követelmények Képes legyen felsorolni és megmagyarázni a Java technológiához kapcsolódó alapvető fogalmakat. Képes legyen felsorolni és értelmezni a Java nyelv alapvető jellemzőit. Képes legyen azonosítani a generált Java programkódban az alapvető elemeket. Képes legyen a NetBeans fejlesztői környezetet az internetről letölteni, telepíteni. Képes legyen módosítani a NetBeans legfontosabb beállításait. Ismerje a NetBeans fejlesztői környezet legfontosabb részeit és azok funkcióját. Ismerje a Java NetBeans projekt fogalmát és szerepét. Ismerje a csomag fogalmát. Képes legyen reprodukálni a Hello Vilag program megírását. Tudjon megfelelően elnevezett, a megfelelő könyvtárba elmentett projektet létrehozni NetBeansben. Képes legyen egy Java forrásfájlt lefordítani és futtatni a NetBeans segítségével. Tudja, milyen állományok keletkeznek, és melyiket hol találja. Tudjon paraméteres programot futtatni NetBeansben, és ismerje a paraméterek elérésének módját. PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 5

Informatikai, oktatástechnikai eszközök Források, javasolt tananyagok, kiadványok, internetes honlapok Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org 6 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG témakör címe: A Java technológia, a Java nyelv jellemzői. A Java program szerkezete. Elemi output. A Java/NetBeans fejlesztői környezet telepítése, testreszabása és megismerése Sorszám Téma / altéma Készség / képesség Időtartam (perc) Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 1. Java nyelv eredete, Java platform A Java verziói Szabvány, nyilt forráskód Java Applet, JavaScript 2. A Java nyelv jellemzői: objektumorientált, platformfüggetlen, megbízható, biztonságos 3. A Java program felépítése Hello Vilag Parancssorból történő fordítás és futtatás 4. IDE fogalma Java NetBeans telepítésének lépései 5. Választható: A JDK telepítése 6. Választható: A NetBeans telepítése Megfigyelés Csoportosítás Általánosítás Megfigyelés Csoportosítás Általánosítás Megfigyelés Megfigyelés Önállóság Megfigyelés Önállóság Megfigyelés 7. A NetBeans testreszabása Önállóság Megfigyelés 10 Tanári előadás Prezentáció megtekintése 5 Tanári előadás Prezentáció megtekintése 10 Tanári előadás Prezentáció megtekintése 5 Tanári előadás Prezentáció megtekintése 10 Önálló munka Videó megtekintése 15 Önálló munka Videó megtekintése 10 Tanári előadás Önálló munka Videó megtekintése Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Tanulói jegyzet 1.1.1 Tanári prezentáció 1./01 02. Tanulói jegyzet 1.1.2 Tanári prezentáció 1./03. Tanulói jegyzet 1.2.1 Tanári prezentáció 1./04 05. Tanulói jegyzet 1.3.1 1.3.3 Tanári prezentáció 1./06 07. Önálló munka Tanulói jegyzet: 1.3.2 Tanári prezentáció 1./07. Videó: SZINFO13_VID_01_01 Önálló munka Tanulói jegyzet: 1.3.3 Tanári prezentáció 1./07. Videó: SZINFO13_VID_01_02 Irányított önálló munka Tanulói jegyzet: 1.3.4 Tanári prezentáció 1./08. Videó: SZINFO13_VID_01_03 N Más, tanult programozási nyelvekkel összevethető a Java nyelv. Más, tanult programozási nyelvekben tapasztalt elemi outputtal összevethető a Java megoldása. N N N N PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 7

A TANÍTÁSI EGYSÉG témakör címe: A Java technológia, a Java nyelv jellemzői. A Java program szerkezete. Elemi output. A Java/NetBeans fejlesztői környezet telepítése, testreszabása és megismerése Sorszám Téma / altéma Készség / képesség Időtartam (perc) Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 8. A NetBeans környezet részei Megfigyelés 9. NetBeans Java projekt Megfigyelés 10. HelloVilag program elkészítése 11. Paraméteres programok args tömb, paraméteres futtatás Main project 12. Választható: 1.4.1 1.4.4-es feladatok önálló megoldása 13. Programozási feladat önálló megoldása 14. Programozási feladatok páros megoldása Megfigyelés Megfigyelés Önállóság Visszaemlékezés Önellenőrzés Eredmények összevetése Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés Programkód írása Tesztelés Tanultak alkalmazása Kooperáció 5 Tanári előadás Videó megtekintése 5 Tanári előadás Videó megtekintése 15 Tanári előadás Önálló munka Videó megtekintése 15 Tanári előadás Önálló munka Videó megtekintése 10 Önálló tevékenység 10 Irányított tevékenység 25 Kooperatív módszer: Páros programozás Frontális osztálymunka Frontális osztálymunka Irányított önálló munka Frontális osztálymunka Tanulói jegyzet: 1.3.5 Tanári prezentáció 1./09. Videó: SZINFO13_VID_01_04 Tanulói jegyzet: 1.3.6 Tanári prezentáció 1./10. Tanulói jegyzet: 1.3.7 Tanári prezentáció 1./11. Videó: SZINFO13_VID_01_05 Tanulói jegyzet: 1.3.8 Tanári prezentáció 1./12. Videó: SZINFO13_VID_01_06 Önálló munka Tanulói jegyzet 1.4.1 1.4.4 N Önálló munka Tanulói jegyzet 1.4.5 N Csoportos tevékenység Tanulói jegyzet 1.4.6 N N N N N 8 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

1.4.1 Feladat 1.4 Feladatok megoldása Mi a különbség a Java nyelv és a Java platform között? A Java szó azonban nem csak egy programozási nyelvet jelöl, hanem a Java programok megírásához és futtatásához szükséges szoftverkörnyezetet, azaz a Java platformot is. A platform része a Java program, a Java fordító, és a programokat futtató virtuális gép is. A platform részét képezi továbbá egy igen bő és sokoldalú fejlesztői programcsomag, a Java SDK (Software Development Kit), vagy ahogy újabban hívják: JDK (Java Development Kit) is, melyben előre kidolgozott és szabadon felhasználható komponenseket és könyvtárakat találunk. 1.4.2 Feladat Mi a JVM, és mi a szerepe? A Java egy másik fontos tulajdonsága a platformfüggetlenség, más néven hordozhatóság. Ez azt jelenti, hogy ugyanaz a program különböző hardveren, más és más operációs rendszeren is változtatás nélkül képes futni. A Java esetében ezt úgy oldották meg, hogy a fordítóprogram csak ún. Java bájtkódra fordítja le a forráskódot ezt kapja meg a virtuális gép (JVM), és csak ő fordítja le azt gépi kódra (értelemszerűen az adott gép által értelmezhető gépi kódra). Mivel a programból csak futás közben lesz gépi kód, a Java interpretált nyelv. 1.4.3 Feladat Sorold fel a Java programozási nyelv legfontosabb jellemzőit! magas szintű, teljesen objektumorientált nyelv platformfüggetlen, más néven hordozható interpretált nyelv megbízható, avagy robusztus biztonságos szintaktikája a C++-t követi PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 9

1.4.4 Feladat a) JDK b) nyílt forráskódú c) Java Applet d) platformfüggetlen e) bájtkód Magyarázd meg a felsorolt kifejezéseket! Töltsd ki a táblázatot! A platform részét képezi továbbá egy igen bő és sokoldalú fejlesztői programcsomag, a Java SDK (Software Development Kit), vagy ahogy újabban hívják: JDK (Java Development Kit) is, melyben előre kidolgozott és szabadon felhasználható komponenseket és könyvtárakat találunk. Valamennyi Java verzió szabvány is egyben, de az alapvető fejlesztőeszközök 2006 óta nyílt forráskódúak, azaz bárki hozzáférhet és módosíthatja őket. A Java Applet egy HTML oldalból elérhető és a böngésző által futtatható, Java forrásból készült program. Ez azt jelenti, hogy ugyanaz a program különböző hardveren, más és más operációs rendszeren is változtatás nélkül képes futni. A fordítóprogram csak ún. Java bájtkódra fordítja le a forráskódot ezt kapja meg a virtuális gép (JVM), és csak ő fordítja le azt gépi kódra (értelemszerűen az adott gép által értelmezhető gépi kódra). f) interpretált A programból csak futás közben lesz gépi kód. g) robusztus h) sze- automatikus métgyűjtés 1.4.5 Feladat A feladat forráskódja megtalálható a Tanulói jegyzetben. 1.4.6 Feladat A Java nyelv megbízható avagy robusztus, mert a programozási hibák egy részét megakadályozza, a másik részét pedig futás közben kiszűri, és támogatja a fejlesztőt azok professzionális kezelésében. (Garbage Collector): a nyelv automatikusan felszabadítja a már nem használt erőforrásokat. System.out.print( Vezetéknév: ); System.out.println(args[0]); // 1. paraméter kiírása System.out.print( Keresztnév: ); System.out.println(args[1]); // 2. paraméter kiírása System.out.print( Életkor: ); System.out.println(args[2]); // 3. paraméter kiírása 10 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: Azonosítók, egyszerű típusok. Változódeklaráció, inicializálás és liter Sorszám: 2. álok, konstansok. Kifejezések, operátorok Évfolyam: I/13. A tanítási egység típusa Időtartam 135 perc Gyakorlat (3x45 perc) Célok Azonosító fogalmának és az azonosító nyelvi szabályainak megismerése, foglalt szavak felismerése. Adattípus fogalmának és fajtáinak átismétlése, a Java egyszerű adattípusainak megismerése. Változó és változódeklaráció fogalmának átismétlése, változódeklaráció megismerése Javában. Inicializálás és literál fogalmának megértése, lehetséges literálok és azok jelzésének áttekintése. Konstans fogalmának átismétlése, szintaktikájának megismerése. Operátor és kifejezés fogalmának átismétlése, logikai és aritmetikai operátorok áttekintése, speciális értékadó illetve prefix és postfix operátorok megértése. Automatikus és explicit típuskonverzió fogalmának ismertetése. Operátorok precedenciasorrendjének bemutatása. Követelmények Legyen képes objektumait a nyelv szabályainak megfelelően elnevezni. Ismerje a foglalt szavakat. Legyen képes a feladatnak megfelelő elemi adattípust megválasztani. Tudjon változókat deklarálni és inicializálni, változóknak értéket adni, ismerje a literál fogalmát és annak jelölését. Tudjon konstanst definiálni. Tudja megfelelően alkalmazni a különböző operátortípusokat. Értse az automatikus és explicit típuskonverzió fogalmát, a kettő közötti különbséget. Tudja, mikor és hogyan kell a feladatok megoldásakor explicit típuskonverziót alkalmazni. Tudjon szintaktikailag helyes kifejezéseket előállítani az operátorok alkalmazásával. Értse az operátorok precedenciájának fontosságát, hatását a kifejezések kiértékelésére. Informatikai, oktatástechnikai eszközök Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 11

Források, javasolt tananyagok, kiadványok, internetes honlapok Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org 12 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG témakör címe: Azonosítók, egyszerű típusok. Változódeklaráció, inicializálás és literálok, konstansok. Kifejezések, operátorok Sorszám Téma / altéma Készség / képesség Időtartam (perc) Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 1. Azonosítók, foglalt szavak 2. 2.4.1-es feladat önálló megoldása és értékelése 3. Adattípus, egyszerű adattípusok a Javában 4. Változódeklaráció, inicializálás, literálok, konstansok 5. Logikai és összehasonlító operátorok Aritmetikai operátorok 6. Értékadó operátorok Prefix és postfix operátorok Azonosító konstruálása és analízise Foglalt szavak felismerése Azonosító konstruálása és analízise Önellenőrzés Eredmények összevetése Elemi adattípusok összehasonlítása Megfigyelés Megfigyelés Megfigyelés Különböző megoldások összehasonlítása 10 Tanári előadás Prezentáció megtekintése 5 Irányított tevékenység 10 Tanári előadás Prezentáció megtekintése 25 Tanári előadás Prezentáció megtekintése 10 Tanári előadás Prezentáció megtekintése 15 Tanári előadás Prezentáció megtekintése Frontális osztálymunka Egyéni munka, Csoportos értékelés Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Tanulói jegyzet 2.1.1 Tanári prezentáció 2./01. Tanulói jegyzet 2.4.1 N Tanulói jegyzet 2.1.2 Tanári prezentáció 2./02. Tanulói jegyzet 2.2 Tanári prezentáció 2./03 04. Tanulói jegyzet 2.3.1 2.3.3 Tanári prezentáció 2./05. Tanulói jegyzet 2.3.4 2.3.5 Tanári prezentáció 2./06. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztalt egyszerű típusokkal összevethető. Más, tanult programozási nyelvekben tapasztalt változódeklarációval összehasonlítható. Más, tanult programozási nyelvekben tapasztalt operátorokkal összehasonlítható. N PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 13

A TANÍTÁSI EGYSÉG témakör címe: Azonosítók, egyszerű típusok. Változódeklaráció, inicializálás és literálok, konstansok. Kifejezések, operátorok Sorszám Téma / altéma Készség / képesség Időtartam (perc) Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 7. Operátorok kiértékelése, precedencia 8. 2.4.2-es feladat önálló megoldása és értékelése 9. Programozási feladatok önálló megoldása Megfigyelés Azonosító konstruálása és analízise Önellenőrzés Eredmények összevetése Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés 10 Tanári előadás Prezentáció megtekintése 15 Irányított tevékenység 35 Önálló tevékenység Frontális osztálymunka Egyéni munka Csoportos értékelés Tanulói jegyzet 2.3.6 Tanári prezentáció 2./07. Tanulói jegyzet 2.4.2 N Önálló munka Tanulói jegyzet 2.4.3 2.4.6 Más, tanult programozási nyelvekben tapasztalt kiértékelési sorrenddel összehasonlítható. N 14 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

2.4 Feladatok megoldása 2.4.1 Feladat Melyik azonosító helyes szintaktikailag? Karikázd be azon azonosítók betűjelét, melyek megfelelnek a szabályoknak! Mi a probléma a hibás azonosítókkal? a) 5osOsztalyzatokSzama b) _$_valtozo$a c) new d) newyorkbanlakoklistaja e) CIKLUS_VALTOZO 2.4.2 Feladat Mi lesz a megadott kifejezések értéke? Töltsd ki a táblázatot! A szam változó kezdőértéke minden kifejezésnél 10. A log logikai változó kezdőértéke mindig true. Kifejezés Eredmény a) szam++*2 20 b) ++szam*2 22 c) (szam+10)%3 2 d) szam+10%3 11 e) 9<6 && (3==8 4!=7) hamis f) 9<6 && 3==8 4!=7 igaz g)!(log 3<8) hamis h)!log 3<8 igaz 2.4.3 Feladat int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); // a oldal // b oldal // c oldal int terfogat = a*b*c; int felszin = 2*(a*b + a*c + b*c); System.out.print( Térfogat: ); System.out.println(terfogat); System.out.print( Felszín: ); System.out.println(felszin); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 15

2.4.4 Feladat int szam1 = Integer.parseInt(args[0]); // egyik szám int szam2 = Integer.parseInt(args[1]); // másik szám int osszeg = szam1 + szam2; int kulonbseg = szam1 - szam2; int szorzat = szam1 * szam2; float hanyados = (float)szam1 / szam2; System.out.print( Összeg: ); System.out.println(osszeg); System.out.print( Különbség: ); System.out.println(kulonbseg); System.out.print( Szorzat: ); System.out.println(szorzat); System.out.print( Hányados: ); System.out.println(hanyados); 2.4.5 Feladat int szam1 = Integer.parseInt(args[0]); // 1. szám int szam2 = Integer.parseInt(args[1]); // 2. szám int szam3 = Integer.parseInt(args[2]); // 3. szám int szam4 = Integer.parseInt(args[3]); // 4. szám int szam5 = Integer.parseInt(args[4]); // 5. szám float szamtanikozep = (float)(szam1 + szam2 + szam3 + szam4 + szam5)/5; System.out.print( Számok: ); System.out.print(szam1); System.out.print(, ); System.out.print(szam2); System.out.print(, ); System.out.print(szam3); System.out.print(, ); System.out.print(szam4); System.out.print(, ); System.out.println(szam5); System.out.print( Számtani közép: ); System.out.println(szamtanikozep); 2.4.6 Feladat int a = Integer.parseInt(args[0]); int b = Integer.parseInt(args[1]); int c = Integer.parseInt(args[2]); // a // b // c double diszkriminans = Math.sqrt(b*b-4*a*c); double x1 = (-b + diszkriminans)/2*a; double x2 = (-b - diszkriminans)/2*a; System.out.print( x1 = ); System.out.println(x1); System.out.print( x2 = ); System.out.println(x2); 16 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: utasítás és blokk. Elágazás típusai, alkalmazása Időtartam Célok Követelmények Informatikai, oktatástechnikai eszközök Források, javasolt tananyagok, kiadványok, internetes honlapok Sorszám: 3. Évfolyam: I/13. A tanítási egység típusa 135 perc Gyakorlat (3x45 perc) Utasítás és blokk fogalmának és nyelvi sajátosságainak megismerése. Lokális változó fogalmának átismétlése, blokkon belüli láthatóság bemutatása. Szekvencia és elágazás fogalmának átismétlése, egyszerű elágazás áttekintése. Egyszerű elágazás szintaktikájának megismerése, egyszerű elágazások egymás után fűzésének megtanulása. Összetett elágazás áttekintése, a Java switch szerkezetének megértése. Tudjon utasításokat és blokkokat készíteni. Ismerje fel egy programban az elágazás alkalmazásának a lehetőségét, illetve szükségességét. Tudja alkalmazni az egyszerű, a két- és többirányú elágazásokat Java programban. Legyen képes áttekinthetően kódolni az elágazás struktúrát. Legyen képes elágazásokat egymásba ágyazni. Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 17

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG témakör címe: Utasítás és blokk. Elágazás típusai, alkalmazása Ssorszám Téma / altéma Készség / képesség Időtartam (perc) 1. Utasítás és blokk Megfigyelés 2. Egyszerű elágazás Megfigyelés 3. Összetett elágazás Megfigyelés Egyszerű és összetett elágazás összehasonlítása 4. Programozási feladatok önálló megoldása Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 5 Tanári előadás Prezentáció megtekintése 20 Tanári előadás Prezentáció megtekintése 20 Tanári előadás Prezentáció megtekintése Videó megtekintése 90 Önálló tevékenység Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Tanulói jegyzet 3.1 Tanári prezentáció 3./01. Tanulói jegyzet 3.2.1 Tanári prezentáció 3./02 03. Tanulói jegyzet 3.2.2 Tanári prezentáció 3./04. Videó: SZINFO13_ VID_03_01 Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Önálló munka Tanulói jegyzet 3.2.1 3.2.7 Programozási feladatok önálló megoldása 18 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

3.2 Feladatok megoldása 3.2.1 Feladat int i = Integer.parseInt(args[0]); if (i % 2 == 0) { // páros System.out.println( A szám páros! ); else { // nem páros System.out.println( A szám páratlan! ); 3.2.2 Feladat int i = Integer.parseInt(args[0]); if (i % 2 == 0) { // oszthatóság: 2 System.out.println( A szám osztható 2-vel! ); else { System.out.println( A szám nem osztható 2-vel! ); if (i % 3 == 0) { // oszthatóság: 3 System.out.println( A szám osztható 3-mal! ); else { System.out.println( A szám nem osztható 3-mal! ); if (i % 5 == 0) { // oszthatóság: 5 System.out.println( A szám osztható 5-tel! ); else { System.out.println( A szám nem osztható 5-tel! ); 3.2.3 Feladat int a = Integer.parseInt(args[0]); // a oldal int b = Integer.parseInt(args[1]); // b oldal int c = Integer.parseInt(args[2]); // c oldal if (a+b > c && a+c > b && b+c > a) { // szerkeszthető System.out.println( A háromszög megszerkeszthető! ); else { // nem szerkeszthető System.out.println( Nem megszerkeszthető! ); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 19

3.2.4 Feladat int szam = Integer.parseInt(args[0]); if (0 <= szam && szam <= 1000000) { if (szam > 999999) { System.out.println( A szám hétjegyű! ); else if (szam > 99999) { System.out.println( A szám hatjegyű! ); else if (szam > 9999) { System.out.println( A szám ötjegyű! ); else if (szam > 999) { System.out.println( A szám négyjegyű! ); else if (szam > 99) { System.out.println( A szám háromjegyű! ); else if (szam > 9) { System.out.println( A szám kétjegyű! ); else if (szam >= 0) { System.out.println( A szám egyjegyű! ); else { System.out.println( A számnak 0 és 1000000 között kell lennie! ); 3.2.5 Feladat if (args.length == 2) { int szam1 = Integer.parseInt(args[0]); int szam2 = Integer.parseInt(args[1]); if (szam1 > szam2) { System.out.println( Az első szám a nagyobb! ); else if (szam1 < szam2) { System.out.println( A második szám a nagyobb! ); else { System.out.println( A két szám egyenlő! ); else { System.err.println( Két számot adj meg! ); 20 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

3.2.6 Feladat int x = Integer.parseInt(args[0]); switch (x) { case 10: System.out.println( tíz ); case 9: System.out.println( kilenc ); case 8: System.out.println( nyolc ); case 7: System.out.println( hét ); case 6: System.out.println( hat ); case 5: System.out.println( öt ); case 4: System.out.println( négy ); case 3: System.out.println( három ); case 2: System.out.println( kettő ); case 1: System.out.println( egy ); case 0: System.out.println( nulla ); break; default: System.err.println( Túl nagy számot adtál meg! ); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 21

3.2.7 Feladat if (args.length == 3) { int a = Integer.parseInt(args[0]); // a int b = Integer.parseInt(args[1]); // b int c = Integer.parseInt(args[2]); // c if (a == 0) { System.out.println( Az egyenlet nem másodfokú! ); double x = (double)-c/b; System.out.print( x = ); System.out.println(x); else { double diszkriminans = (double)b*b-4*a*c; if (diszkriminans >= 0) { diszkriminans = Math.sqrt(diszkriminans); double x1 = (-b + diszkriminans)/2*a; double x2 = (-b - diszkriminans)/2*a; System.out.print( x1 = ); System.out.println(x1); System.out.print( x2 = ); System.out.println(x2); else { System.out.println( Nincs megoldás! ); else { System.err.println( Három együtthatót kérek! ); 22 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: Ciklus típusai, alkalmazása Sorszám: 4. Évfolyam: I/13. Időtartam 135 perc A tanítási egység típusa Gyakorlat (3x45 perc) Célok Ciklus fogalmának átismétlése. Elöltesztelő ciklus fogalmának áttekintése, szintaktikájának megértése. Hátultesztelő ciklus fogalmának áttekintése, szintaktikájának megértése. For-ciklus megértése, hasznosságának felismerése. Követelmények Ismerje fel egy programban az ciklusok alkalmazásának a lehetőségét, illetve szükségességét. Tudja alkalmazni a különböző típusú ciklusokat Java programban. Legyen képes áttekinthetően kódolni a ciklusokat. Informatikai, oktatástechnikai eszközök Források, javasolt tananyagok, kiadványok, internetes honlapok Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 23

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG témakör címe: Ciklus típusai, alkalmazása Sorszám Téma / altéma Készség / képesség Időtartam (perc) 1. Ciklus, elöltesztelő ciklus Megfigyelés 2. Hátultesztelő ciklus Megfigyelés Összehasonlítás 3. For-ciklus Megfigyelés Összehasonlítás 4. NetBeans ciklus és kiíró kódsablonok Debuggolás 5. Programozási feladatok önálló megoldása Megfigyelés Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 15 Tanári előadás Prezentáció megtekintése 15 Tanári előadás Prezentáció megtekintése 15 Tanári előadás Prezentáció megtekintése 10 Tanári előadás Videó megtekintése 65 Önálló tevékenység Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Tanulói jegyzet 4.1.1 Tanári prezentáció 4./01. Tanulói jegyzet 4.1.2 Tanári prezentáció 4./02. Tanulói jegyzet 4.1.3 Tanári prezentáció 4./03. Önálló munka Tanári prezentáció 4./04. Videó: SZINFO13_VID_04_01 Videó: SZINFO13_VID_04_02 Önálló munka Tanulói jegyzet 4.2.1 4.2.12 N Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. N 24 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

4.2 Feladatok megoldása 4.2.1 Feladat System.out.println( A paraméterek: ); if (args.length > 0) { for (int i = 0; i < args.length-1; i++) { System.out.print(args[i]); System.out.print(, ); System.out.println(args[args.length-1]); else { System.err.println( Nem adtál meg paramétert! ); 4.2.2 Feladat System.out.println( Páros számok 1 és 20 között: ); for (int i = 1; i <= 20; i++) { if (i % 2 == 0) { System.out.print(i); System.out.print( ); System.out.println(); 4.2.3 Feladat if (args.length == 2) { int tol = Integer.parseInt(args[0]); int ig = Integer.parseInt(args[1]); System.out.println( 3-mal osztahtó számok +tol+ és +ig+ között: ); for (int i = tol; i <= ig; i++) { if (i % 3 == 0) { System.out.print(i+ ); System.out.println(); else { System.err.println( Két paramétert várok! ); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 25

4.2.4 Feladat if (args.length == 1) { int szam = Integer.parseInt(args[0]); int oszto = 0; System.out.println(szam + osztói: ); for (int i = 2; i <= szam/2; i++) { if (szam % i == 0) { System.out.print(i + ); oszto++; if (oszto == 0) { System.out.print( A szám prím! ); System.out.println(); else { System.err.println( Egy paramétert adj meg! ); 4.2.5 Feladat if (args.length == 2) { String szo = args[0]; int szor = Integer.parseInt(args[1]); for (int i = 0; i < szor; i++) { for (int j = 0; j<i; j++) { System.out.print( ); System.out.println(szo); else { System.err.println( Két paramétert várok! ); 4.2.6 Feladat if (args.length == 1) { int szam = Integer.parseInt(args[0]); int osztosum = 0; for (int i = 1; i <= szam/2; i++) { if (szam % i == 0) { osztosum += i; if (szam == osztosum) { System.out.println( A szám tökéletes! ); else { System.out.println( A szám nem tökéletes! ); else { System.err.println( Egy paramétert adj meg! ); 26 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

4.2.7 Feladat if (args.length == 2) { int osztosum1 = 0, osztosum2 = 0; for (int k = 0; k < 2; k++) { int szam = Integer.parseInt(args[k]); for (int i = 1; i <= szam/2; i++) { if (szam % i == 0) { if (k == 0) { osztosum1 += i; else { osztosum2 += i; if (Integer.parseInt(args[0]) == osztosum2 && Integer.parseInt(args[1]) == osztosum1) { System.out.println( A két szám barátságban áll! ); else { System.out.println( Nem barátkoznak! ); else { System.err.println( Két számot adj meg! ); 4.2.8 Feladat if (args.length > 0) { int osszeg = 0; for (int i = 0; i < args.length; i++) { int szam = Integer.parseInt(args[i]); osszeg += szam; System.out.println( Számtani közép: +(float)osszeg/args.length); else { System.err.println( Nem adtál meg paramétert! ); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 27

4.2.9 Feladat if (args.length == 1) { int szam = Integer.parseInt(args[0]); if (szam>=100 && szam<=9999) { int szamjegysum = 0; for (int i = 1000; i >= 1; i/=10) { int szamjegy = szam / i; szamjegysum += szamjegy; szam -= szamjegy*i; System.out.println( Számjegek összege: + szamjegysum); else { System.err.println( 100 és 9999 közötti számot adj meg! ); else { System.err.println( Egy paramétert adj meg! ); 4.2.10 Feladat for (int i = 0; i < 10; i++) { // sor for (int j = 0; j < 40; j++) { // oszlop if (i<5 && j<15) { System.out.print( * ); else { System.out.print( - ); System.out.println(); 4.2.11 Feladat int sor = 5, oszlop = 5; if (args.length == 2) { sor = Integer.parseInt(args[0]); oszlop = Integer.parseInt(args[1]); for (int i = 1; i <= sor; i++) { // sor for (int j = 1; j <= oszlop; j++) { // oszlop if (i==1 i==sor j==1 j==oszlop) { System.out.print( * ); else { System.out.print( ); System.out.println(); 28 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: kivételkezelés. Elemi input a Consol osztály segítségével Időtartam Célok Követelmények Informatikai, oktatástechnikai eszközök Források, javasolt tananyagok, kiadványok, internetes honlapok Sorszám: 5. Évfolyam: I/13. A tanítási egység típusa 135 perc Gyakorlat (3x45 perc) Szintaktikai és szemantikai hiba fogalmának átismétlése, biztonságos program definiálása. Kivétel fogalmának megtanítása, az ezzel kapcsolatos fogalmak, kifejezések ismertetése. Ellenőrzött és nem ellenőrzött kivételek bemutatása. Kivételkezelés bemutatása a Java nyelvben. A Consol osztály bevezetése, elemi input bemutatása a segítségével. Értse meg a biztonságos program fogalmát, a hibák kezelésének szükségességét. Ismerje fel programjai írása során, ha kivétel kezelésére van szükség. Tudja kezelni a kivételeket. Legyen képes áttekinthetően kódolni a kivételek kezelését. Tudjon elemi adatokat beolvasni a konzolról a Consol osztály segítségével. Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 29

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG témakör címe: Kivételkezelés. Elemi input a Consol osztály segítségével Sorszám Téma / altéma Készség / képesség Időtartam (perc) 1. Szintaktikai és szemantikai hiba, biztonságos program 2. Kivétel, ellenőrzött és nem ellenőrzött kivételek 3. Kivétel kezelése Try-catch blokk Példa Finally ág Megfigyelés Megfigyelés Megfigyelés 5. A Consol osztály bevezetése Megfigyelés 6. A Consol osztály használata és kivételkezelést támogató eszközök a NetBeansben 7. Programozási feladatok önálló megoldása Megfigyelés Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés Módszer Munkaforma 10 Tanári előadás Prezentáció megtekintése 15 Tanári előadás Prezentáció megtekintése 10 Tanári előadás Prezentáció megtekintése 5 Tanári előadás Prezentáció megtekintése 10 Tanári előadás Videó megtekintése Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka 85 Önálló tevékenység Önálló munka Képzési anyagok, eszközök Egyéb javaslatok Tanulói jegyzet 5.1.1 Tanári prezentáció 5./01. Tanulói jegyzet 5.1.2 Tanári prezentáció 5./02 03. Tanulói jegyzet 5.1.3 Tanári prezentáció 5./04 07. Tanulói jegyzet 5.2 Tanári prezentáció 5./08 09. Tanári prezentáció 5./10. Videó: SZINFO13_VID_05_01 Tanulói jegyzet 5.3.1 5.3.6 N N Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. N N 30 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

5.3 Feladatok megoldása 5.3.1 Feladat try { int szam = 0, i = 0; while (szam!= 11) { szam = Consol.readInt( Adj meg egy számot: ); i++; System.out.println( A 11-es a(z) + i +. volt. ); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); 5.3.2 Feladat try { int szam = Consol.readInt( Adj meg egy számot: ); boolean paros = (szam%2 == 0); if (szam%3 == 0) { if (paros) { System.out.println( A szám osztható 2-vel és 3-mal! ); else { System.out.println( A szám osztható 3-mal, de 2-vel nem! ); else { if (paros) { System.out.println( A szám osztható 2-vel, de 3-mal nem! ); else { System.out.println( A szám nem oszható sem 2-vel sem 3-mal! ); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 31

5.3.3 Feladat try { int szam1 = Consol.readInt( Adj meg egy számot: ); int szam2 = Consol.readInt( Adj még egy számot: ); int szam3 = Consol.readInt( Adj még egy számot: ); int max = szam1; if (szam2>max) { max = szam2; if (szam3 > max) { max = szam3; System.out.println( A legnagyobb szám: + max); if (szam1%3 == 0 && szam2%3 == 0 && szam3%3 == 0) { System.out.println( Mindhárom szám osztható 3-mal! ); else { System.out.println( Nem osztható mind 3-mal! ); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); 5.3.4 Feladat try { int szam1 = Consol.readInt( Adj meg egy számot: ); int szam2 = Consol.readInt( Adj még egy számot: ); int szam3 = Consol.readInt( Adj még egy számot: ); int szam4 = Consol.readInt( Adj még egy számot: ); int szam5 = Consol.readInt( Adj még egy számot: ); if (szam3 == szam1 + szam2 && szam4 == szam2 + szam3 && szam5 == szam3 + szam4) { System.out.println( Fibonacci sorozat! ); else { System.out.println( Nem Fibonacci sorozat! ); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); 32 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

5.3.5 Feladat try { int szam1 = Consol.readInt( Adj meg egy számot: ); int szam2 = Consol.readInt( Adj még egy számot: ); int szam3 = Consol.readInt( Adj még egy számot: ); int szam4 = Consol.readInt( Adj még egy számot: ); int szam5 = Consol.readInt( Adj még egy számot: ); float hanyados = (float)szam2 / szam1; if (szam3 / szam2 == hanyados && szam4 / szam3 == hanyados && szam5 / szam4 == hanyados) { System.out.println( Mértani sorozat! ); else { System.out.println( Nem mértani sorozat! ); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 33

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: egy- és többdimenziós tömbök definiálása és alkalmazása Időtartam Célok Követelmények Informatikai, oktatástechnikai eszközök Források, javasolt tananyagok, kiadványok, internetes honlapok Sorszám: 6. Évfolyam: I/13. A tanítási egység típusa 135 perc Gyakorlat (3x45 perc) Tömb, vektor és mátrix fogalmának átismétlése. Az egydimenziós tömb megvalósításának megismerése a Java nyelvben. Konstans tömbök áttekintése. Többdimenziós tömbök szintaktikájának megértése. Változó méretű mátrixok bemutatása. Tudjon tömbváltozót deklarálni, létrehozni, inicializálni. Legyen képes a tömbök elemeit egyedileg, vagy csoportosan elérni, feldolgozni. Tudjon konstans tömböket definiálni. Tudjon többdimenziós tömböt létrehozni és használni. Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org 34 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG - témakör címe: Egy- és többdimenziós tömbök definiálása és alkalmazása Sorszám Téma / altéma Készség / képesség Időtartam (perc) 1. Egydimenziós tömbök, konstans tömb Megfigyelés 2. Többdimenziós tömb Megfigyelés 3. Programozási feladatok önálló megoldása Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok 20 Tanári előadás Prezentáció megtekintése 15 Tanári előadás Prezentáció megtekintése 100 Önálló tevékenység Frontális osztálymunka Frontális osztálymunka Tanulói jegyzet 6.1.1 Tanári prezentáció 6./01 02. Tanulói jegyzet 6.1.2 Tanári prezentáció 6./03 04. Önálló munka Tanulói jegyzet 6.2.1 6.2.7 N Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. Más, tanult programozási nyelvekben tapasztaltakkal összevethető a Java szintaktikája. PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 35

6.2 Feladatok megoldása 6.2.1 Feladat try { int[] szamok = new int[10]; for (int i = 0; i < szamok.length; i++) { szamok[i] = Consol.readInt( Adj egy számot: ); System.out.println( A számok: ); for (int i = 0; i < szamok.length; i++) { System.out.print(szamok[i] + ); System.out.println(); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); 6.2.2 Feladat try { int db = Consol.readInt( Hány számot szeretnél? ); float sum = 0; float[] szamok = new float[db]; for (int i = 0; i < szamok.length; i++) { szamok[i] = Consol.readFloat( Adj egy számot: ); sum += szamok[i]; System.out.println( A számok: ); for (int i = 0; i < szamok.length; i++) { System.out.print(szamok[i] + ); System.out.println(); System.out.println( A számok összege: + sum); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); 36 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

6.2.3 Feladat try { int db = Consol.readInt( Hány szám: ); int[] szamok = new int[db]; int sum = 0, dbparos = 0; for (int i = 0; i < szamok.length; i++) { szamok[i] = Consol.readInt( Adj egy számot: ); sum += szamok[i]; if (szamok[i]%2 == 0) { dbparos++; System.out.println( Átlag: + (float)sum/szamok.length); System.out.println( Páros számok száma: + dbparos); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); 6.2.4 Feladat (*) try { String[] hetnapjai = { hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap ; int index = Consol.readInt( A hét napjának száma: ); System.out.println(hetNapjai[index-1]); catch (IOException ex) { System.err.println( Hiba történt olvasáskor! ); catch (NumberFormatException ex) { System.err.println( Nem számot adtál! ); catch (IndexOutOfBoundsException ex) { System.err.println( Rossz index! ); 6.2.5 Feladat int[][] matrix = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { matrix[i][j] = 10*i+j+1; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.print(matrix[i][j]+ ); System.out.println(); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 37

6.2.6 Feladat int[][] matrix = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { matrix[i][j] = 10*i+j+1; int[][] ematrix = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { ematrix[i][j] = 1; int[][] summatrix = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { summatrix[i][j] = matrix[i][j] + ematrix[i][j]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.print(summatrix[i][j]+ ); System.out.println(); 6.2.7 Feladat (*) int[][] matrix = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { matrix[i][j] = 10*i+j+1; int[][] tukormatrix = new int[10][10]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { tukormatrix[i][j] = matrix[j][9-i]; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { System.out.print(tukormatrix[i][j]+ ); System.out.println(); 38 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

A TANÍTÁSI EGYSÉG ÁLTALÁNOS BEMUTATÁSA CÍM: típusosztályok. Számosztályok. Math és StrictMath matematikai osztályok Sorszám: 7. Évfolyam: I/13. Időtartam 135 perc A tanítási egység típusa Gyakorlat (3x45 perc) Célok Követelmények Informatikai, oktatástechnikai eszközök Források, javasolt tananyagok, kiadványok, internetes honlapok A típusosztályok, csomagolóosztályok fogalmának megismerése; a void kulcsszó megértése. A konstruktor és inicializálás jelentőségének megértése, a típuskonverziós lehetőségek felismerése. Az egész és lebegőpontos szám típusosztályok megismerése, azok konstruktorainak, típuskonverziós lehetőségeinek, összehasonlítási eszközeinek és egyéb metódusainak bemutatása. A Math és StrictMath osztályok legfontosabb metódusainak áttekintése kipróbálása. Megértse a típusosztályok fogalmát és jellemzőit. Ismerje fel egy programban típusosztályok alkalmazásának lehetőségét, és szükségességét. Tudja alkalmazni az egész és lebegőpontos szám típusosztályokat, tudja őket példányosítani, konvertálni más típusokra, összehasonlítani az egyes típuspéldányokat, és ismerje a legfontosabb metódusaikat. Tudja alkalmazni a Math és StrictMath matematikai osztályok metódusait. Számítógép (diákonként 1-1 db), hálózatba kötve, ajánlott min. 1 GHz-es processzor és 512 MB RAM. Operációs rendszer: Windows XP/Vista/7, vagy Linux Szoftver: JDK 6u14 + NetBeans IDE 6.7 (fejlettebb verzió is lehet) Projektor, tanári számítógép Vetítővászon Internet-elérés Nyékyné Gaizler Judit (2001): JAVA 2 Útikalauz Programozóknak 1.3 / I. kötet, Budapest: ELTE TTK Hallgatói Alapítvány http://java.sun.com http://www.netbeans.org PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 39

A TANÍTÁSI EGYSÉG témakör részletes leírása A TANÍTÁSI EGYSÉG témakör címe: Típusosztályok. Számosztályok. Math és StrictMath matematikai osztályok Sorszám 1. Téma / altéma Készség / képesség Időtartam (perc) Típusosztály, csomagolóosztály, konstruktor és inicializálás, típuskonverzió 2. Numerikus konstansok, egész számosztályok konstruktorai, típuskonverzió, összehasonlítás 3. Valós szám osztályok konstruktorai, típuskonverzió, egyéb metódusok 4. 5. Math és StrictMath osztályok konstansai, fontosabb metódusai Programozási feladatok önálló megoldása Megfigyelés Megfigyelés Megfigyelés Megfigyelés Programkód írása Tesztelés Tanultak alkalmazása Önellenőrzés 15 Módszer Munkaforma Képzési anyagok, eszközök Egyéb javaslatok Tanári előadás Prezentáció megtekintése 20 Tanári előadás Prezentáció megtekintése 15 Tanári előadás Prezentáció megtekintése 25 60 Tanári előadás Prezentáció megtekintése Önálló tevékenység Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Frontális osztálymunka Tanulói jegyzet 7.1 Tanári prezentáció 7./01 02. Tanulói jegyzet 7.2.1-7.2.4 Tanári prezentáció 7./03 06. Tanulói jegyzet 7.2.5-7.2.7 Tanári prezentáció 7./07 08. Tanulói jegyzet 7.3 Tanári prezentáció 7./09 10. Önálló munka Tanulói jegyzet 7.4.1 7.4.5 N N N N Más, tanult programozási nyelvekben tapasztaltakkal összevethető a matematikai támogatása. 40 JAVA programozási nyelv NetBeans fejlesztőkörnyezetben Tanári kézikönyv I/13. évfolyam

7.4 Feladatok megoldása 7.4.1 Feladat System.out.println( Byte: (min) + Byte.MIN_VALUE + (max) + Byte.MAX_VALUE); System.out.println( Short: (min) + Short.MIN_VALUE + (max) + Short.MAX_VALUE); System.out.println( Integer: (min) + Integer.MIN_VALUE + (max) + Integer.MAX_VALUE); System.out.println( Long: (min) + Long.MIN_VALUE + (max) + Long.MAX_VALUE); System.out.println( Float: (min) + Float.MIN_VALUE + (max) + Float.MAX_VALUE); System.out.println( Double: (min) + Double.MIN_VALUE + (max) + Double.MAX_VALUE); 7.4.2 Feladat Double pluszvegt = new Double(Double.POSITIVE_INFINITY); Double minuszvegt = new Double(Double.NEGATIVE_INFINITY); int szam = 10; System.out.println( Végtelen + szám = + (pluszvegt+szam)); System.out.println( -Végtelen - szám = + (minuszvegt-szam)); System.out.println( Végtelen * szám = + (pluszvegt*szam)); System.out.println( -Végtelen * szám = + (minuszvegt*szam)); System.out.println( Végtelen * -szám = + (pluszvegt*-szam)); System.out.println( -Végtelen * -szám = + (minuszvegt*-szam)); System.out.println( Végtelen / szám = + (pluszvegt/szam)); System.out.println( -Végtelen / szám = + (minuszvegt/szam)); System.out.println( Végtelen / -szám = + (pluszvegt/-szam)); System.out.println( -Végtelen / -szám = + (minuszvegt/-szam)); System.out.println( Végtelen + Végtelen = + (pluszvegt+pluszvegt)); System.out.println( Végtelen - Végtelen = + (pluszvegt-pluszvegt)); System.out.println( -Végtelen + -Végtelen = +(minuszvegt+minuszvegt)); System.out.println( -Végtelen + Végtelen = + (minuszvegt+pluszvegt)); System.out.println( Végtelen * Végtelen = + (pluszvegt*pluszvegt)); System.out.println( -Végtelen * -Végtelen = +(minuszvegt*minuszvegt)); System.out.println( -Végtelen * Végtelen = + (minuszvegt*pluszvegt)); System.out.println( Végtelen / Végtelen = + (pluszvegt/pluszvegt)); System.out.println( -Végtelen / -Végtelen = +(minuszvegt/minuszvegt)); System.out.println( -Végtelen / Végtelen = + (minuszvegt/pluszvegt)); PETRIK TISZK TÁMOP-2.2.3-07/1-2F-2008-0011 41