Programozó versenyek

Magas szintű programozási nyelvek 2, 2016. június 2., Cs8 ZH

2016. június 2. 8:10 – 2016. június 2. 9:50

Kreditindexek (Java)

A kreditindex számításánál a félévben teljesített tantárgyak (amelyekhez egyesnél jobb érdemjegy tartozik) kreditértékének és érdemjegyének szorzataiból képezett összeget – az átlagos előrehaladás esetén egy félév alatt teljesítendő – 30 kredittel kell osztani:

A korrigált kreditindex a kreditindexből a félév során teljesített és a hallgató által a tantárgyfelvétellel vállalt kreditek arányának megfelelő szorzótényezővel számítható:

Írjon programot, melynek parancssori argumentuma egy szöveges állomány neve! Az állományban tetszőleges számú hallgatónak a 2015/2016-os tanév tavaszi félévére vonatkozó adatai szerepelnek a következő formában:

Neptun-kód;név;tárgykód;tárgynév;kreditérték;érdemjegy

A Neptun-kód egy 6 karakterből álló azonosító, amely az angol ábécé nagybetűiből és számjegy karakterekből áll. Minden hallgató saját, mindenki másétól különböző Neptun-kóddal rendelkezik. A név egy legfeljebb 30, a tárgykód egy legfeljebb 15, a tárgynév pedig egy legfeljebb 50 karakter hosszúságú sztring. A kreditérték és az érdemjegy pozitív egész számok.

A programja gyűjtse össze azoknak a hallgatóknak az adatait, akiknek a korrigált kreditindexe legalább 4.0 értékű, és írja a standard kimenetre az adataikat a példa kimenetben megadott formában, a korrigált kreditindexek értéke szerint csökkenő sorrendben! Ha ezek az értékek több hallgató esetében megegyeznének egymással, akkor ezeket a hallgatókat a nevük szerint lexikografikusan növekvő sorrendbe rendezze! Ha két vagy több hallgatónak nemcsak a korrigált kreditindexe, hanem a neve is megegyezne egymással, akkor őket a Neptun-kódjuk lexikografikusan növekvő sorrendjében jelenítse meg a kimeneten!

Példa állomány (sample.txt)

  1. XYZ987;Bena Bela;INBK301;Magas szintu programozasi nyelvek 1;5;4
  2. XYZ987;Bena Bela;INBK421;Adatszerkezetek es algoritmusok;5;3
  3. XYZ987;Bena Bela;INBK803;Fizika 2;3;4
  4. XYZ987;Bena Bela;INBK812;Elektronika 2;3;2
  5. D1E2F3;Remek Elek;INBK301;Magas szintu programozasi nyelvek 1;5;5
  6. D1E2F3;Remek Elek;INBK421;Adatszerkezetek es algoritmusok;5;5
  7. D1E2F3;Remek Elek;INBK803;Fizika 2;3;5
  8. XYZ987;Bena Bela;INBK211;Operacios rendszerek 2;5;1
  9. XYZ987;Bena Bela;INBK112;Kalkulus 2;5;3
  10. XYZ987;Bena Bela;INBK831;Digitalis technika;3;4
  11. D1E2F3;Remek Elek;INBK812;Elektronika 2;3;5
  12. D1E2F3;Remek Elek;INBK211;Operacios rendszerek 2;5;5
  13. D1E2F3;Remek Elek;INBK112;Kalkulus 2;5;5
  14. D1E2F3;Remek Elek;INBK831;Digitalis technika;3;5
letöltés szöveges állományként

Parancssori argumentumok

  1. sample.txt
letöltés szöveges állományként

A futtatás eredménye a standard kimeneten

  1. D1E2F3: Remek Elek
letöltés szöveges állományként
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30.