Az I. 352. feladat (2014. szeptember) |
I. 352. 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 szintjeinek száma \(\displaystyle K\) (\(\displaystyle 1\le K\le 9\)). Minden telekre egy épületet építettek, az épületek minden szintjén egy lakás található.
Készítsünk programot i352 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 végül a lakótelep festéséhez felhasznált színek (például: fehér, sárga, zöld, narancs) egybetűs rövidítését tartalmazza.
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 lakásainak hány százaléka van \(\displaystyle 1,2,\ldots,9\) szintes épületben. A választ írassuk ki a képernyőre két tizedesjegy pontosan az alábbi formában:
3. Számoljuk meg a ,,körpanorámás'' lakások számát a lakótelepen. A körpanoráma azt jelenti, hogy a lakásból mind a négy oldalán az oldalakra merőleges irányban ki lehet látni a lakótelepről. A kilátást a lakások adott oldalán az abba az irányba épített, velük azonos vagy magasabb más épületrészek eltakarják.
A lakótelep felújításánál az épületeket csíkosra újra festik úgy, hogy minden épületszint más színű lesz a bemenetnél megadott sorrend szerint ismétlődően. A festést a lakótelep térképét tekintve bal felső épületénél kezdik alulról felfelé, és az épületeken soronként balról jobbra haladnak. Egy új épület első szintjének színe az előző épület legfelső szintjének színe után következő lesz.
4. Írassuk ki a felso.txt állományba a legfelső épületszintek színét a következő formában:
5. A lakótelep látványában a festés után fontos a változatosság. Olvassuk be a lakótelep egy épületének pozícióját sor, oszlop formában a bal felső sarokhoz képest, és adjuk meg, hogy van-e olyan szomszédja, amelynek színezése azonos módon kezdődik az első szinttől felfelé függetlenül az épületek magasságától.
6. Az előző beolvasott pozíciójú épület tetejére (következő szintként) egy reklámfeliratot helyeznek el. Írassuk ki, hogy hány lakásból látható ez. Az épületek a velük azonos vagy kisebb más épületrészeket eltakarják és a láthatóság csak sorban és oszlopban értelmezett.
Beküldendő az i352.zip tömörített állományban a program forráskódja (i352.pas, i352.cpp, ...) és rövid dokumentációja (i352.txt, i352.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ó.
Letölthető fájl: telep.txt
(10 pont)
A beküldési határidő 2014. október 10-én LEJÁRT.
Megoldásokról:
Viszonylag sokan tévesztették el a 2. második feladat megoldását. Nem az volt a kérdés, hogy az összes épületnek, hány százaléka az 1, 2, 3,...9 emeletes épület, hanem hogy a lakások hány százaléka van 1,..9 emeletes épületben. Ehhez meg kellett volna számolni az 1,..,9 emeletes házakban lévő lakások számát és ezeket a lakótelep összes lakásának számával kellett volna osztani.
A 6. részfeladatot többen oldották meg tévesen. Adott irányba a kiválasztott ház melletti épület minden emeletéről lehet látni a hirdetőtáblát, az amellett lévőből viszont csak azokon a szinteken, amik az előzőnél magasabban vannak. Adott irányban annyi lakásból látnak rá a hirdetőtáblára, mint amilyen magas a legmagasabb épület az adott oldalon. (Még akkor is, ha több esetben is felveszi ezt a maximális értéket az épületek magassága.)
Minta megoldás:
Fehér Balázs 12. osztályos tanuló (Szilágyi Erzsébet Gimnázium, Eger) megoldása: i352.cs
Statisztika:
28 dolgozat érkezett. 10 pontot kapott: Dombai Tamás, Fehér Balázs, Fényes Balázs, Kovács 246 Benedek, Németh 729 Gábor, Olexó Gergely, Radnai Bálint. 9 pontot kapott: Géczi Dániel, Wittmann Péter. 8 pontot kapott: 8 versenyző. 7 pontot kapott: 4 versenyző. 6 pontot kapott: 1 versenyző. 5 pontot kapott: 5 versenyző. 0 pontot kapott: 1 versenyző.
A KöMaL 2014. szeptemberi informatika feladatai