Iskolanapló

Kategória: Python - emelt szint

Feladat leírása

Iskolanapló illusztráció

Egy tanév lezárása mindig sok adminisztrációval jár. Az osztályfőnökök feladata, hogy a 
digitális napló központi adatokból elkészítsék az év végi statisztikákat. Ebben a folyamatban 
kiértékelik az egyes diákok tanulmányi átlagát, azonosítják a kitűnő tanulókat, illetve azokat is, 
akik valamilyen tárgyból bukásra állnak.

A tanulmányi eredmények mellett kiemelt figyelmet kap a mulasztások kezelése is. Az iskola 
házirendje pontosan szabályozza, hogy mennyi hiányzás milyen következményekkel jár. A 
szabályzat szerint, ha egy diák igazolatlan mulasztásainak száma a félév során eléri vagy 
meghaladja a 10 órát, az osztályfőnöknek fegyelmi eljárást kell kezdeményeznie.

A tanulok.txt fájl tartalmazza a tanulóknak adatait: 
OM112,Nagy Anna,11.A,5,4,5,5,10,0 


Az alábbi példából kivehető, hogy az OM112 azonosítójú tanuló, Nagy Anna nevű, 11.A 
osztályból év végén matematikából 5, Magyarból 4, Informatikából 5, Angolból 5 
érdemjegyeket kapott.
Az év során 10 igazolt hiányzása, és 0 igazolatlan hiányzása volt. 

A bemeneti állományban minden esetben az első sor tartalmazza az oszlopneveket, a sorokban 
az értékek vesszővel vannak elválasztva. Minden tanuló csak egyszer szerepel az állományban.

Készítsen programot, ami az alábbi kérdésekre válaszol! A program forráskódját mentse 
adatfeldolgozas néven! A program megírásakor a felhasználó által megadott adatok helyességét, 
érvényességét nem kell ellenőriznie. Ha nem egész számot kell beolvasnia vagy megjelenítenie, 
a tizedespont és a tizedesvessző használata egyaránt elfogadott.

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre 
a feladat sorszámát (például: 2. feladat)! Ha a felhasználótól kér be adatot, jelenítse meg 
a képernyőn, hogy milyen értéket vár! Az ékezetmentes kiírás is elfogadott. 


Részfeladatok

  1. 1. Olvassa be és tárolja el a diakok.txt állományban lévő adatokat!  

  2. 2. Írja ki hány diák adatait tárolták el az állományban!  

  3. 3. Csináljon egy függvényt amely megadja, hogy paraméterként kapott szám tömb tartalmazza-e az egyes számot. A vissza adott érték típusa logikai legyen. A függvény felhasználásával írja ki az összes bukott diák nevét. Fontos, hogy a függvény önmagában ne írjon ki semmit! 

  4. 4. Kérjen be egy osztályt és egy tantárgyat, és számítsa ki a bekért osztály és tárgy átlagát kettő tizedesjegyre kerekítve! Amennyiben az osztály vagy tantárgy bekérésénél nem pontos (Mint az állományban van megnevezve) nevet kapott, ismételje a bekérést amíg nem valós adatokat kap. Ügyeljen arra megoldása során, hogy a tantárgyakból előre tudjuk, hogy milyenek vannak, viszont az osztályokat kezelje úgy, hogy nem ismertek, így a bemeneti állományból gyűjtse ki őket.

  5. 5. Jelenítse meg a legjobb tanuló nevét és átlagát (Összes tantárgyból), utóbbit kerekítse két tizedesjegy pontossággal! Ha több egyező érték van akkor mindegyik egyező értéket írassa ki. 

  6. 6. Számolja meg, hány diák néz fegyelmi eljárás elé! Az eredményt szeretnénk drasztikusan megjeleníteni, ahány ilyen diák van annyi „!”-jelet tegyen a szám mögé, amennyiben nincs, akkor írja ki az alábbi szöveget: „Nincs olyan tanuló, aki fegyelmi eljárás elé néz.” 

  7. 7. Kérje be egy tanuló azonosítóját, írassa ki az igazolt hiányzásainak számát, majd számolja meg, hogy ez hány százaléka a többi tanulók igazolt hiányzásai összegének. Eredményét 1 tizedesjegy pontossággal jelenítse meg.


Mintaképek


Forrásfájlok

Megoldásfájlok