1. feladatsor

Néhány további feladat:

A feladatok megoldásához ezeket vagy ezekhez hasonló adatfájlokat használjon:

1. feladatsor adatai

Ha sajátot ír, akkor figyeljen rá, hogy UTF-8 kódolással mentse, mert különben nem működik.


Focisták


Minden focistát jellemez a neve és az igazolási száma. Mindegyikük edz(), ekkor az edzési ideje megnövekszik az edzésre szánt aktuális idővel (a metódus paraméterében megadott érték – lehet egész, mondjuk a megkezdett órák száma). Mindegyik játszik() is, ekkor meccseinek száma eggyel növekszik, illetve időnként még gólt is rúg. Amikor goltRug(), akkor a rúgott gólok száma eggyel növekszik. Mindegyikőjük kap egy egységes alapfizetést, de a fizetés további része már függ attól, hogy milyen keményen és eredményesen dolgozott. Ha az edzésideje meghaladott egy, az összes focistára egységes edzési határt, akkor az alapfizetéshez még hozzáadódik az edzésidő valahányszorosa. Ez az edzési óradíj egységes az összes focista esetén. A játékukra is kapnak fizetést, ha legalább gólhatár mennyiségű gólt rúgtak (a határ egységes). Ekkor a fizetésük az egységes játékdíj meccsszámmal szorzott értékével növekszik.

Írja meg a Focista osztályt, tesztelje, a vezérlésben pedig indítsa be a fantáziáját. Például: adott végjelig olvassa be a focisták adatait (de szerencsésebb lenne fájlból), a beolvasás után azonnal eddzen véletlen ideig, véletlenszerűen döntse el, hogy játszik-e vagy sem, ill. rúg-e gólt vagy sem, és írassa ki a fizetését.

Persze, az igazi az lenne, ha már tömböket vagy listát is használna, de egyelőre ezek a fogalmak menjenek.

Néhány megoldási ötlet:

focistak.pdf


Dalverseny


Divatja van a különféle tévés vetélkedőknek (A dal, X faktor és társai). De muszáj mindig tévé előtt ülni? Szervezzünk meg egy házi dalversenyt. A versenyen bármelyik szak diákjai indulhatnak, produkciójukat egy zsűri értékeli majd.

A versenyre jelentkező énekeseknek meg kell adniuk a nevüket és a szakjukat, és regisztráláskor mindegyikük kap egy egyedi rajtszámot is. A verseny során egy zsűri tagjai pontozzák őket, minden egyes zsűritag hatására a versenyzők pontszáma a metódus paraméterében megadott értékkel növekszik.

A verseny adminisztrálását segítő program a következőket tudja:

– Olvassuk be a versenyzők adatait (a versenyzok.txt adatfájlból – adatszerkezet: név;szak) – rajtszámuk a beolvasás sorszáma legyen. (Ez nem garantálja a rajtszám egyediségét, de most csak ennyit veszünk.)

– Már a verseny megkezdése előtt láthassuk a konzolon az adataikat, azaz a versenyző rajtszámát, nevét, szakját és pontszámát. (Így is ellenőrizhető, hogy nincs korrupció, vagyis valóban nulláról indul-e mindenki.)

– A verseny most annyiból áll, hogy minden egyes versenyzőt pontoz a zsűri, azaz annyi véletlen pontszámot kap, ahány zsűritag van (a zsűritagok számát, és az adható maximális pontszámot konstansként megadhatjuk a program elején).

Természetesen a verseny végén is kíváncsiak vagyunk a kijelzőre.

– Állapítsuk meg az eredményeket, vagyis azt, hogy

a) Kik kapták a legtöbb pontszámot.

b) Mi a verseny végeredménye – azaz rendezzük pontszám szerint csökkenő sorrendbe a versenyzőket.

– Ki lehessen keresni a begépelt szakhoz tartozó versenyzőket. Arra is adjon lehetőséget, hogy a keresést meg lehessen ismételni. Természetesen azt is írja ki, ha senkit sem talál.

A korábbiakhoz képest nincs benne új, próbálja önállóan megoldani.


Téli olimpia


Ne csak a tévé előtt ülve figyeljük a téli sportokat, hanem vegyünk részt mi is egy kisebb szellemi olimpián, és írjunk programot az olimpikonok adatainak és eredményeinek kezelésére.

A sportolóknak regisztráláskor sokféle adatot kell megadniuk, ezek közül most csak a rajtszámukat, nevüket és sportágukat kérjük. Természetesen mindegyikük érmet szeretne szerezni. Az egyszerűség kedvéért most nem teszünk különbséget az érmek között, pusztán annyit akarunk megoldani, hogy amikor a sportoló érmet kap, akkor az érmei száma eggyel növekedjen.

Az olimpia lebonyolításakor használt rendszer a következőket tudja:

– Olvassuk be a sportolók adatait (adatfájlból – adatszerkezet: név;sportág) – rajtszámuk a beolvasás sorszáma legyen

– Már a verseny megkezdése előtt láthassuk a kijelzőn az adataikat, azaz a sportoló rajtszámát, nevét, sportágát és érmeinek számat.

– A verseny most annyiból áll, hogy megkérdezzük, hány versenyszám van, és ennyiszer véletlenül generáljuk a nyertest, vagyis azt, aki érmet kap. Természetesen a verseny végén is kíváncsiak vagyunk a kijelzőre.

– Állapítsuk meg az eredményeket, vagyis azt, hogy

a) Kik kapták a legtöbb érmet.

b) Mi a verseny végeredménye – azaz rendezzük éremszám szerint csökkenő sorrend­be a sportolókat.

– Különböző szempontok szerint lehessen keresni – pl. keressük ki a begépelt sportághoz tartozó sportolókat. (De a fantáziája szerint módosíthatja majd a keresés célját.) Arra is adjon lehetőséget, hogy a keresést meg lehessen ismételni. Természetesen azt is írja ki, ha senkit sem talál.


A korábbiakhoz képest nincs benne új, próbálja önállóan megoldani.