A Madárház Kft. toronyházak építésével foglalkozik. Jelenleg a Csúcs Rt.
100 szintes
szerkezetkész épületén kezdték meg a belső szerelési műveleteket. Az
egyes szerelőcsapatok
naponta többször változtatják helyüket. Ha az új munkaterület egy másik
emeleten van, akkor
– a biztonsági előírások miatt – lifttel kell menniük. A házban egyetlen
lift működik, amelynek igénybevételét az egyes csapatok a célszint
megadásával jelezhetik. A lift az igényeket a
jelzés sorrendjében szolgálja ki, és egyszerre csak egy csapatot
szállít. A csapatok mozgását a
9 és 14 óra közötti intervallumban követjük nyomon. Ez az intervallum a
munkaidőnek csak
egy része, tehát a csapatok már dolgoznak valamelyik szinten, de 9
órakor teljesítetlen kérés
nincs és a lift szabad.
A lifthasználati igényeket az igeny.txt
állomány tartalmazza. Első sorában a szintek
száma (legfeljebb 100), a második sorban a csapatok száma (legfeljebb
50), a harmadik sorban pedig az igények száma (legfeljebb 100)
olvasható. A negyedik sortól kezdve soronként
egy-egy igény szerepel a jelzés sorrendjében. Egy igény hat számból áll:
az első három szám
az időt adja meg (óra, perc, másodpercszám sorrendben), a negyedik a
csapat sorszáma, az
ötödik az induló-, a hatodik a célszint sorszáma. Az egyes számokat
pontosan egy szóköz
választja el egymástól.
Például:
igeny.txt
100
10
55
9 7 11 7 6 22
9 10 30 8 18 2
9 11 0 5 12 20
...
A 4. sor megmutatja, hogy 9 óra 7 perc 11 másodperckor a 7. csapat igényelt liftet, hogy a
6. szintről a 22. szintre eljusson.
Készítsen programot, amely az alábbi kérdésekre válaszol! A program forráskódját lift
néven mentse! Ügyeljen arra, hogy programjának minden helyes tartalmú bemeneti állomány
esetén működnie kell!
Minden részfeladat megoldása előtt írja a képernyőre a feladat
sorszámát! Ha a felhasználótól kér be adatot, jelenítse meg a képernyőn,
hogy milyen értéket vár (például a 2. feladat
esetén: „2. feladat Kérem a lift indulási helyét!”)! A képernyőn
megjelenített üzenetek esetén az ékezetmentes kiírás is elfogadott.
Feladatok
- Olvassa be az igeny.txt állományban talált adatokat, s azok felhasználásával oldja meg
a következő feladatokat! Ha az állományt nem tudja beolvasni, az első 8 igényhez tartozó
adatokat jegyezze be a programba és dolgozzon azzal!
- Tudjuk, hogy a megfigyelés kezdetén a lift éppen áll. Kérje be
a felhasználótól, hogy melyik szinten áll a lift, és a további
részfeladatok megoldásánál ezt vegye figyelembe! Ha a
beolvasást nem tudja elvégezni, használja az igeny.txt fájlban az első
igény induló
szintjét!
- Határozza meg, hogy melyik szinten áll majd a lift az utolsó kérés teljesítését követően!
Írja képernyőre a választ a következőhöz hasonló formában: „A lift a 33. szinten
áll az utolsó igény teljesítése után.” !
- Írja a képernyőre, hogy a megfigyelés kezdete és az utolsó igény teljesítése között melyik
volt a legalacsonyabb és melyik a legmagasabb sorszámú szint, amelyet a lift érintett!
- Határozza meg, hogy hányszor kellett a liftnek felfelé indulnia utassal és hányszor utas
nélkül! Az eredményt jelenítse meg a képernyőn!
- Határozza meg, hogy mely szerelőcsapatok nem vették igénybe a
liftet a vizsgált intervallumban! A szerelőcsapatok sorszámát egymástól
egy-egy szóközzel elválasztva írja a képernyőre!
- Előfordul, hogy egyik vagy másik szerelőcsapat áthágja a
szabályokat, és egyik szintről
gyalog megy a másikra. (Ezt onnan tudhatjuk, hogy más emeleten igényli a
liftet, mint
ahova korábban érkezett.) Generáljon véletlenszerűen egy létező
csapatsorszámot! (Ha
nem jár sikerrel, dolgozzon a 3. csapattal!) Határozza meg, hogy a
vizsgált időszak igényei alapján lehet-e egyértelműen bizonyítani, hogy
ez a csapat vétett a szabályok ellen!
Ha igen, akkor adja meg, hogy melyik két szint közötti utat tették meg
gyalog, ellenkező
esetben írja ki a Nem bizonyítható szabálytalanság szöveget!
- A munkák elvégzésének adminisztrálásához minden csapatnak egy
blokkoló kártyát kell
használnia. A kártyára a liftben elhelyezett blokkolóóra rögzíti az
emeletet, az időpontot.
Ennek a készüléknek a segítségével kell megadni a munka kódszámát és az
adott munka-
folyamat sikerességét. A munka kódja 1 és 99 közötti egész szám lehet. A
sikerességet a
„befejezett” és a „befejezetlen” szavakkal lehet jelezni.
Egy műszaki hiba folytán az előző feladatban vizsgált csapat kártyájára
az általunk nyomon követett időszakban nem került bejegyzés. Ezért a
csapatfőnöknek a műszak végén
pótolnia kell a hiányzó adatokat. Az igeny.txt állomány adatait
felhasználva írja a kép-
ernyőre időrendben, hogy a vizsgált időszakban milyen kérdéseket tett
fel az óra, és kérje
be az adott válaszokat a felhasználótól! A pótlólag feljegyzett adatokat
írja a blokkol.txt állományba! A blokkol.txt állomány tartalmát az
alábbi sorok mintájára
alakítsa ki:
Befejezés ideje: 9:23:11
Sikeresség: befejezett
-----
Indulási emelet: 9
Célemelet: 11
Feladatkód: 23
Befejezés ideje: 10:43:22
Sikeresség: befejezetlen
-----
Indulási emelet: 11
Célemelet: 6
Feladatkód: 6
...
|
|