A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. Egy társasházban új liftet adnak át, amelynek forgalmát egy adatállományban rögzítik. Ezzel az utazási szokások később elemezhetők. A liftet minden lakó csak a személyes, sorszámozott kártyájával tudja igénybe venni. Az utasok a kártyával történő azonosítás után tudják a liftet az induló szintre hívni és a célnak beírt szintre utazásra használni. Rendelkezésünkre állnak az első hónap napi forgalmi adatai a forgalom.txt állományban. A napi lifthasználati adatok csoportosítva szerepelnek az adatállományban. Egy-egy naphoz két sor tartozik. Az első sorban a nap sorszáma van, a másodikban az lift igénybevételének adatai szóközzel elválasztva. Egy-egy utazáshoz három adat tartozik: a () kártyasorszám, az induló- és célszint () értéke. A napi utazás számhármasai egy sorban, időrendben szerepelnek egymás után. (Feltételezhetjük, hogy minden utas egyedül utazik, illetve napi 100 utazásnál több nem történik, és legfeljebb 30 nap adatait vizsgáljuk.) Például:
A példában az első napon a 11-es sorszámú kártyával a 3. emeletről a földszintre utaztak, majd az 5. kártyával az 5. emeletről szintén a földszintre. Készítsünk programot i412 néven, amely a forgalmat leíró állomány adatait felhasználva az alábbi kérdésekre válaszol. A program forráskódját hianyzasok néven mentsük. A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írjuk a képernyőre a feladat sorszámát (például 4. feladat: ). A beolvasás előtt a várt tartalomra vonatkozó üzenetet jelenítsünk meg. Az ékezet nélküli kiírás is megengedett.
1. | Olvassuk be a forgalom.txt állomány adatait és a következő feladatokat ezek alapján oldjuk meg. |
2. | Számoljuk meg, hogy az adatállományban hány lifthasználat adata szerepel. |
3. | Írjuk ki a képernyőre, hogy hányféle kártyával használták a liftet. |
4. | Soroljuk fel azokat a kártyasorszámokat külön-külön, amelyekkel csak felfelé, illetve csak lefelé utaztak. Amennyiben nincs ilyen, írjuk ki, hogy ,,Nincs''. |
5. | Adjuk meg az összes utazási adat figyelembe vételével külön-külön, hogy a lift összesen hány emeletnyi utat tett meg felfelé és lefelé az üresen közlekedéssel együtt. A lift az első nap első utazása előtt a földszinten tartózkodott. |
6. | Készítsünk függvényt lakhat néven, amely egy paraméterként megadott kártyasorszámhoz megadja, hogy a földszinten kívül, melyik a leggyakoribb cél szint. |
7. | Legtöbbször a földszintről a lakásuk szintjére utaznak a lakók. Soroljuk fel minden kártyához, hogy a földszinten kívül, melyik a leggyakoribb cél emelet. Ha nem eldönthető a kérdés, akkor írjuk ki ,,Nem eldönthető''. |
8. | Soroljuk fel azokat a kártyasorszámokat, amelyekkel minden emeletre és a földszintre is utaztak. |
9. | Kérjünk be egy napot és egy kártyasorszámot, és egy lista.txt nevű szöveges állományba írjuk ki két oszlopban, hogy közvetlenül az utazásai előtt és után milyen kártyasorszámú lakótárs használta a liftet. Ha nem volt ilyen, akkor a megfelelő oszlopba szóköz kerüljön. Például: |
Beküldendő egy tömörített i412.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható. |