Az I. 349. feladat (2014. május) |
I. 349. Egy \(\displaystyle N\times M\) (\(\displaystyle 2\le N,M\le 50\)) négyzet alakú és egyforma méretű telkekből álló lakótelepen a házak magassága, szintjeinek száma \(\displaystyle K\) (\(\displaystyle 1\le K\le 9\)). Az épületek minden szintjén egy lakás található. A 0 érték parkot jelöl. Szomszéd négyzeteken most négyet értünk, az ábrának megfelelően.
Készítsünk programot i349 néven, amely a lakótelep telep.txt állományban rendelkezésre álló adatait felhasználva néhány kérdésre választ ad.
A képernyőre írást igénylő feladatok eredményének megjelenítése előtt írjuk ki a képernyőre a feladat sorszámát (például: 3. feladat). Ha a felhasználótól kérünk be adatot, akkor jelenítsük meg a képernyőn azt is, hogy milyen adatot várunk. Az ékezetmentes kiírás is elfogadott.
A telep.txt fájl első sora \(\displaystyle N\) és \(\displaystyle M\) értékét adja meg. Az ezt követő \(\displaystyle N\) sor a lakótelep épületeinek szintszámát és a parkokat adja meg.
1. Olvassuk be a telep.txt állományban talált adatokat, és azok felhasználásával oldjuk meg a következő feladatokat.
2. Határozzuk meg, hogy a lakótelep területének hány százaléka park. A választ írassuk ki a képernyőre két tizedes jegy pontosan.
3. Minden sűrűn beépített lakótelepen probléma a kilátás. Egy lakásból addig lehet egy irányba kilátni, amíg a neki megfelelő szintszámnál kisebb házak következnek. Írassuk ki a lakótelep azon lakásainak számát, ahonnan valamelyik irányba ki lehet látni a lakótelepről.
4. Vannak igényes érdeklődök, akik eladó lakást keresnek. Számukra a kilátás és a park vagy a lakótelep szélének szomszédsága értékes. Olvassunk be egy szintszámot és írassuk ki, hogy hány megadott szinten lévő lakás van a lakótelepen, ahonnan több irányba ki lehet látni, illetve ezek közül hány van park vagy lakótelep szélén. Az eredményt a képernyőn a következő formában jelenítsük meg:
5. Városépítészeti szempontból a lakótelep látványa is fontos. Határozzuk meg minden oszlopra és sorra, hogy fentről, lentről, jobbról és balról nézve hány épület látszik. Az épületek a velük azonos vagy kisebb más épületeket eltakarják. Az eredményeket a latvany.txt állományba írjuk ki a következő formában:
6. A városlakók igénylik a minél több és nagyobb zöldterületeket. Olvassuk be a lakótelep egy telkének pozícióját sor, oszlop formában a bal felső sarokhoz képest, és adjuk meg, hogy ott park van-e. Ha igen, akkor a park területének méretét a telkek egységében adjuk meg.
Beküldendő a program forráskódja (i349.pas, i349.cpp, ...) és rövid dokumentációja (i349.txt, i349.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
(10 pont)
A beküldési határidő 2014. június 10-én LEJÁRT.
Minta megoldás:
Csernák Tamás 12. osztályos tanuló (Fazekas Mihály Fővárosi Gyakorló Gimnázium, Budapest) megoldása: i349.pas
Tesztállomány: telep.txt
Statisztika:
12 dolgozat érkezett. 10 pontot kapott: Csernák Tamás, Fényes Balázs, Gercsó Márk, Kovács Balázs Marcell, Uzonyi 000 Ákos. 8 pontot kapott: 3 versenyző. 6 pontot kapott: 2 versenyző. 5 pontot kapott: 1 versenyző. Nem versenyszerű: 1 dolgozat.
A KöMaL 2014. májusi informatika feladatai