Általános leírás
Törekedj arra, hogy szép, áttekinthető kódot írj! Úgy oldd meg a feladatokat, hogy függvényeket használsz a megoldáshoz! A felhasznált függvényekben ne történjen konzolra való kiírás!
Mindegyik feladatban nagyon fontos, hogy bár egyetlen inputfájlt kapsz, úgy írd meg a programod, hogy bármilyen, a feladatkiírásnak megfelelő inputfájllal működjön!
3.100-L legjobbak kiválasztása
Olvasd be az alábbi fájl tartalmát, majd oldd meg a következő feladatokat! Minden feladat előtt a program írja ki a feladat sorszámát!
Az input.txt tanulók matematika és magyar központi írásbeli felvételi vizsgán elért eredményeit és hozott pontszámait tartalmazza. A fájl UTF-8 kódolású, nincs fejlécsora; minden sora egy tanuló adatait tartalmazza, szóközzel elválasztva, az alábbi sorrendben: vezetéknév keresztnév OM-azonosító matematikaeredmény magyareredmény hozott pontszám. A névmezők nem tartalmaznak szóközt, senkinek nincs harmadik neve. Az OM-azonosító egyedi, 11 számjegyből álló azonosító, amelyet szövegként tárolj! A két írásbeli eredmény egy-egy 0 és 50 közötti egész szám. A hozott pontszám az általános iskolai eredményekből már kiszámított, 0 és 30 közötti pontszám; a fájlban tizedesponttal szerepel, legfeljebb két tizedesjeggyel. Ezt nem kell az érdemjegyekből kiszámítanod.
Kovács Anna 71234567890 45 42 28.50
Nagy Bence 72345678901 48 39 27.75
Tóth Eszter 73456789012 40 47 30.00
A feladatban az iskola felvételi pontszámításának írásbeli eredményekre vonatkozó súlyozását és a hozott pontszámot használjuk. Egyszerűsítésként szóbeli eredményt, jogosultsági feltételeket és az iskola egyéb rangsorolási szabályait nem vesszük figyelembe. Tekintsd úgy, hogy minden tanuló mindkét tagozatra jelentkezett!
A teljes lista rendezése nem megengedett! A maximumkiválasztásos vagy a buborékos
rendezést módosítsd úgy, hogy csak a legjobb N elem meghatározásához szükséges
meneteket végezze el! Ezek az elemek a megadott szempont szerint rendezve kerüljenek az eredménybe;
a többi elem egymáshoz viszonyított sorrendje tetszőleges maradhat.
Beépített rendezést és a rendezést elrejtő könyvtári műveletet sem használhatsz.
-
Készíts újrafelhasználható függvényt, amely paraméterként megkap egy listát, egy
Negész számot és az elemek sorrendjét meghatározó összehasonlító függvényt! A függvény a fent leírt részleges rendezéssel válassza ki, és új listában adja vissza az elsőNelemet, a legjobbtól a legrosszabbig haladva! Feltételezheted, hogy0 <= N <= lista.Count.N = 0esetén üres listát adjon vissza. A következő két feladatot ennek a függvénynek a felhasználásával oldd meg, egymástól függetlenül, a teljes tanulói listából kiindulva! - Válaszd ki az informatika (digitális kultúra) tagozat rangsorának első 20 tanulóját! A rangsoroláshoz használt pontszám: hozott pontszám + 0,8 · matematikaeredmény + 0,6 · magyareredmény. A magasabb pontszám jelent jobb eredményt. Pontegyenlőség esetén vezetéknév, majd keresztnév szerint, magyar ábécérendben növekvően rendezz; teljes névazonosság esetén a kisebb OM-azonosító kerüljön előre! Írd ki a kiválasztott tanulók sorszámát, teljes nevét, OM-azonosítóját és számított pontszámát! Ha 20-nál kevesebb tanuló szerepel a fájlban, mindegyiküket válaszd ki!
- Válaszd ki azt a 90 tanulót, akit a tömegkommunikáció (mozgóképkultúra és médiaismeret) tagozat szóbeli vizsgájára behívnánk! A rangsoroláshoz használt pontszám: hozott pontszám + 0,5 · matematikaeredmény + 0,5 · magyareredmény. A magasabb pontszám jelent jobb eredményt. Pontegyenlőség esetén vezetéknév, majd keresztnév szerint, magyar ábécérendben növekvően rendezz; teljes névazonosság esetén a kisebb OM-azonosító kerüljön előre! Írd ki a kiválasztott tanulók sorszámát, teljes nevét, OM-azonosítóját és számított pontszámát! Ha 90-nél kevesebb tanuló szerepel a fájlban, mindegyiküket válaszd ki!