Az I. 424. feladat (2017. március) |
I. 424. (É) Az üzemanyagok (benzin és gázolaj) ára hetenként akár többször is változik. A feladatunk a 2011 és 2014 közötti árak elemzése. Az adatok az uzemanyag.txt állományban állnak rendelkezésünkre (forrás: http://www.vasarlocsapat.hu/_hirek/_uzemanyag/uzemanyag-arak.shtml?t=all). Minden sorban egy árváltoztatás adatai szerepelnek, az adott naptól érvényes benzin és gázolaj ára forintban. Egy soron belül egymástól szóközökkel elválasztva szerepel az év, a hónap, a nap és az aznaptól érvényes benzin, majd gázolaj ára. Csak azok a napok szerepelnek a fájlban, ahol valamelyik ár változott.
Például 2014. december 31-én a benzin ára 336 Ft volt (a korábbiakhoz képest nem változott), a gázolajé azonban 360 Ft-ra emelkedett a korábbi 359 Ft-ról. A feladat megoldása során használjuk fel, hogy az időszak első és utolsó napjának adatai külön sorban szerepelnek.
Készítsünk programot i424 néven a következő feladatok megoldására. A program futása során a képernyőre való kiíráskor utaljunk a feladat sorszámára.
1. Olvassuk be és tároljuk el az uzemanyag.txt állomány adatait.
2. Hány adatsort tartalmaz a fájl? Írassuk ki a képernyőre.
3. Kérjünk be a billentyűzetről egy 2011.01.01 és 2014.12.31. közé eső dátumot, és írassuk ki, hogy aznap mennyi volt a benzin, illetve a gázolaj ára. (A dátum beolvasásának módja nincs megkötve, azt akár három egész számként (év, hónap, nap) is megtehetjük. A beolvasott dátum helyességét, érvényességét sem kell ellenőriznünk.)
4. Hány alkalommal nőtt, illetve hány alkalommal csökkent a teljes megfigyelt időszakban a benzin ára? Írassuk ki a választ a képernyőre.
5. Mennyi volt a teljes megfigyelt időszakban a benzin legmagasabb ára, és ez mely napon következett be? Írassuk ki a választ a képernyőre. (Feltételezhetjük, hogy egy ilyen nap volt a jelzett időszakban.)
6. Az előző feladatban meghatározott maximumot követően a benzin ára egy ideig csökkent vagy nem változott, majd ismét növekedni kezdett. Adjuk meg, hogy melyik napon kezdett ismét növekedni a benzin ára, és a maximumot követően addig hányszor csökkentették azt.
7. Átlagosan hány forintért lehetett a teljes vizsgált időszakra vonatkoztatva gázolajat vásárolni? Az eredmény két tizedesjegy pontossággal jelenjen meg a képernyőn. (Az aznapi árral számolva minden napot vegyünk figyelembe a megfigyelt időszakban.)
8. Adjuk meg a teljes vizsgált időszakot tekintve azoknak az időszakoknak a kezdő és befejező dátumát, amikor 400 és 420 Ft között lehetett benzint is és gázolajat is vásárolni.
9. Az üzemanyagok ára a vizsgált időszak elején illetve végén is csökkent. A kettő között azonban többször is heteken át folyamatosan nőtt. Melyik napon kezdődött és hány napig tartott az a leghosszabb időszak, amely alatt a benzin ára nőtt vagy nem változott?
Beküldendő egy tömörített i424.zip állományban a program forráskódja és rövid dokumentációja, amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.
Letölthető fájl: uzemanyag.txt
(10 pont)
A beküldési határidő 2017. április 10-én LEJÁRT.
Értékelés: A feladatra három megoldás érkezett: egy Visual Basic, egy C# és egy C++ nyelven. Mindhárom megoldás lényegében teljes értékű volt. A dátumkezelésre különböző megoldásokkal találkoztunk, sok esetben lényegesen egyszerűbb lett volna a megoldás a programozási nyelv által ismert dátumkezelő függvények alkalmazásával.
Mintamegoldás: A közölt mintamegoldás Kis Lázár Bence, a dunaszerdahelyi Magyar Tanítási Nyelvű Magángimnázium 11. osztályos tanulója által adott megoldás alapján készült.
Statisztika:
3 dolgozat érkezett. 10 pontot kapott: Békési Péter, Kis Lázár Bence, Rittgasszer Ákos.
A KöMaL 2017. márciusi informatika feladatai