documenta

9
Gábor Dénes Főiskola Programozás Technológia II. Név:____________________Neptun kód:_______________ Dátum:___________ A gyakorlati feladat megoldásait, kérem küldje a [email protected] email címre. A feladatot tömörítse be és neptunkód_nev_csoport_dátum.kiterjesztes formában, mellékletként küldje el, az elküldött levél tárgyában ugyanez szerepeljen. A kitöltendő feladatokat olvashatóan töltse ki. Nem kötelező a megadott sorrendben megoldani a feladatokat, először olvassa át, majd azt oldja meg azt a feladatot, amit a legjobban és leggyorsabban tud megoldani, majd azokat vegye sorba amelyek lassabban illetve nehezebben mennek! 1. Egészítse ki az osztály definíciót és a kérdéses elemet határozza meg. A dőlt betűs rész meghatározásra vár (mit jelent, mi fogalom lényege, mikor használjuk a Java nyelvben, illetve az OOP elvek szerint) A vastagon szedett részek helyére egy-egy Java kulcsszót kell írni. public a Osztaly b OsOsztaly c Einterfesz, Minterfesz{ Osztaly(){ // kódrészlet } } public ………………………………………………………………………………………………………………………………… a ………………………………………………………………………………………………………………………………… b ………………………………………………………………………………………………………………………………… c ………………………………………………………………………………………………………………………………… Osztaly() ………………………………………………………………………………………………………………………………… Elérhető pontszám 25p Ebből elért ……………p A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található. 2. Keresse meg a hibát a kódban, válassza ki a megfelelő hibát és indokolja. (Több válasz is lehetséges) package elso; import javax.swing.*; class Ember {} class A{ } public class B extends A{ 1

Upload: feherl2

Post on 13-Dec-2014

29 views

Category:

Documents


5 download

DESCRIPTION

A

TRANSCRIPT

Page 1: DocumentA

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________A gyakorlati feladat megoldásait, kérem küldje a [email protected] email címre. A feladatot tömörítse be és neptunkód_nev_csoport_dátum.kiterjesztes formában, mellékletként küldje el, az elküldött levél tárgyában ugyanez szerepeljen. A kitöltendő feladatokat olvashatóan töltse ki. Nem kötelező a megadott sorrendben megoldani a feladatokat, először olvassa át, majd azt oldja meg azt a feladatot, amit a legjobban és leggyorsabban tud megoldani, majd azokat vegye sorba amelyek lassabban illetve nehezebben mennek!

1. Egészítse ki az osztály definíciót és a kérdéses elemet határozza meg. A dőlt betűs rész meghatározásra vár (mit jelent, mi fogalom lényege, mikor használjuk a Java nyelvben, illetve az OOP elvek szerint) A vastagon szedett részek helyére egy-egy Java kulcsszót kell írni.

public a Osztaly b OsOsztaly c Einterfesz, Minterfesz{ Osztaly(){

// kódrészlet}

}

public …………………………………………………………………………………………………………………………………

a …………………………………………………………………………………………………………………………………

b …………………………………………………………………………………………………………………………………

c …………………………………………………………………………………………………………………………………

Osztaly() …………………………………………………………………………………………………………………………………

Elérhető pontszám 25p Ebből elért ……………p

A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található.

2. Keresse meg a hibát a kódban, válassza ki a megfelelő hibát és indokolja. (Több válasz is lehetséges)

package elso;import javax.swing.*;class Ember {}class A{}public class B extends A{

public int void metodus(){ArrayList<Ember> e = new ArrayList();

}}

a. ArrayList<Ember> e = new ArrayList();………………………………………………………………………………………………………………………………

b. import javax.swing.*;………………………………………………………………………………………………………………………………

c. class A{}………………………………………………………………………………………………………………………………

d. public int void metodus()………………………………………………………………………………………………………………………………

1

Page 2: DocumentA

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________Elérhető pontszám 10p Ebből elért ……………p

A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található.

3. Mi az eredménye az alábbi kódnak? Egy válasz lehetséges!

public class Nyuszik {static int darab = 0;Nyuszik() {

while(darab < 10) new Nyuszik(++darab);}Nyuszik(int x) { super(); }public static void main(String[] args) {

new Nyuszik(); new Nyuszik(darab); System.out.println(darab++);}

}

a. 9b. 10c. 11d. Futás időben keletkező hiba

Elérhető pontszám 5p Ebből elért ……………pA pontozásnál figyelembe kell venni a válasz helyességét. Indoklásnak helye nincs!

4. Indokolja meg a 6 hibát az alábbi kódban. Kérem vegye figyelembe, hogy a sortörés és az ékezetes file és változó, metódus, osztály név nem számít hibának!

2

Page 3: DocumentA

/**Újság.java */package prog2.news;

public class Újság {

public static final int NAPILAP = 0, HETILAP = 1, HAVILAP = 2;String cím;int periódus, darabSzám = 10;

private Újság(String cím) {this(cím, HAVILAP);

}public Újság(String cím, int periódus) {

this.cím = cím;this.periódus = periódus;

}

/**Újság.java folytatása

public static void elad() {if (darabSzám = 0) {

System.out.println("Sajnos az újság elfogyott.");} else {

darabSzám--; System.out.println("Kellemes olvasást!");}

}}

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________

3

Page 4: DocumentA

/**Műsoros.java*/package prog2.news;public class Műsoros extends Újság {int tvCsatornákSzáma = 15;public Műsoros(String cím) {

super(cím);periódus = Újság.HETILAP;

}}

/**Test.java*/package prog2.test;

import prog2.news;

class Test {public static void Main(String[] args) {

Újság lap = new Műsoros("TVRHét");Műsoros m = new Újság("Blikk",

prog2.Újság.NAPILAP);lap.elad();m.elad();}

}

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________

4

Page 5: DocumentA

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________

a. ………………………………………………………………………………………………………………………………

b. ………………………………………………………………………………………………………………………………

c. ………………………………………………………………………………………………………………………………

d. ………………………………………………………………………………………………………………………………

e. ………………………………………………………………………………………………………………………………

f. ………………………………………………………………………………………………………………………………

Elérhető pontszám 30p Ebből elért ……………p

A pontozásnál figyelembe kell venni a válasz helyességét, ha indoklás van az indoklás lényegi tartalmát. Nem lehet általánosságokat megfogalmazni, nem lehet jó válasz hibás indoklás páros, nem lehet rossz válasz jó példa párosítás. Nem írhatja 5 ember egyszerre példának, hogy az Interfész a bank automatákban található

Elérhető összpontszám 70p Ebből elért ……………p Teljesítménye …………..%

5

Page 6: DocumentA

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________

Részletese értékelő:

1. Feladat

public …………………………………………………………………………………………………………………………………

a …………………………………………………………………………………………………………………………………

b …………………………………………………………………………………………………………………………………

c …………………………………………………………………………………………………………………………………

Osztaly() …………………………………………………………………………………………………………………………………

2. Feladata. ArrayList<Ember> e = new ArrayList();

………………………………………………………………………………………………………………………………b. import javax.swing.*;

………………………………………………………………………………………………………………………………

c. class A{

………………………………………………………………………………………………………………………………

d. public int void metodus()

……………………………………………………………………………………………………………………………………3. Feladat

a. 9b. 10c. 11d. Futás időben keletkező hiba

4.a. ………………………………………………………………………………………………………………………………

b. ………………………………………………………………………………………………………………………………

c. ………………………………………………………………………………………………………………………………

d. ………………………………………………………………………………………………………………………………

e. ………………………………………………………………………………………………………………………………

f. ………………………………………………………………………………………………………………………………

6

Page 7: DocumentA

Gábor Dénes Főiskola Programozás Technológia II.

Név:____________________ Neptun kód:_______________ Dátum:___________5. Számítógépen megoldandó feladat, kérem olvassa el figyelmesen. A IFizetéstKap interface-t és a többi osztályt, amelyet megemlít a feladat, akkor és csak akkor fogadom el, ha ennek a feladatban szereplő nevét használják (ékezeteket el lehet hagyni), helyette ne írjunk IFizetés, IVakamiinterface-t.Ellenőrzések nem szükségesek, 0 val való osztás stb. A feladatot a következő formában küldjék:neptunkód_nev_csoport_dátum.zip vagy neptunkód_nev_csoport_dátum.rar , a tárgyban ugyanez a tartalom legyen, természetesen a tárgyban nem szükséges a „.zip” vagy a „.rar” megjelölés.

Készítsen egy Személy nevű osztályt az alábbiak szerint:• Kívülről el nem érhető mezőkben tárolja a személy neptunkódját és nevét• Getter/setter metódusokat készítsen a neptunkód, és a név példányszintű változókhoz.

Készítse el a Hallgató osztályt a Személy osztály leszármazottjaként:• A hallgató jegyeinek tárolására vegyen fel egy ArrayList osztályt • Rendelkezzen konstruktorral, ami egy név és neptun kód alapján példányosít • Rendelkezzen egy Jegybeírás metódussal, aminek paramétere a beírandó jegy, amelyet az

ArrayList be beír.Legyen a Jegybeírás metódusnak olyan változata is, amely több jegyet ír egyszerre.

• Az osztály Átlag metódusának visszatérési értéke legyen a jegyek átlaga Készítse el az Oktató osztályt a Személy leszármazottjaként:

• Egészítse ki egy mezővel, (tanításideje) ami tárolja, hogy az oktató mióta tanít (években = > egész szám)

• Rendelkezzen neptunkód, név, tanításideje paramétereket váró konstruktorral • Az osztály rendelkezzen egy statikus változóval, ami tárolja, hogy mennyivel növekszik egy

tanár fizetése évenként Statikus getter/setter metódusokkal legyen lehetőség ehhez hozzáférniEgészítse ki az osztálykönyvtárt az alábbiakkal:

• Készítsen egy IFizetéstKap interfészt, ami definiál egy Fizetése nevű, paraméter nélküli, egész számot visszaadó műveletet

• Valósítsa meg a Hallgató osztály ezt az interfészt:A Fizetése metódus visszatérési értéke legyen (átlag * 5000)

• Valósítsa meg az Oktató osztály ezt az interfészt:A Fizetés metódus visszatérési értéke itt (évek száma * 6000) Készítsen egy olyan osztályt az elkészült osztályok kipróbálására, amellyel lehetőség van az alábbiakra ( nem kell konzolról beolvasni az adatokat elég, ha simán ebben az osztályban a metóduson keresztül megadja):

• Felhasználó által megadott adatok alapján Hallgató és Oktató objektumok létrehozása, és ezek tárolása egy közös adatszerkezetben (ArrayList/HashMap)

• Neptun kód megadása után, ha az ahhoz tartozó személy hallgató, legyen lehetőség új jegy beírására (ha nem hallgató, akkor a program ezt jelezze)

Készítsen egy Grafikus felületet, ahol megadhatja az Oktató neptun kódját, nevét. Egy gombot, aminek hatására a beírt adatokat egy ArrayList-ben eltárolja. Az ArrayList tartalmát minden adat hozzáadás után a KONZOLRA írja ki.

Elérhető összpontszám 100p Ebből elért ……………p Teljesítménye …………..%

7