Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

Az I. 391. feladat (2016. január)

I. 391. (É). Az Uborkanemesítő Intézet rendkívül büszke az intézet főbejáratához vezető út két oldalát szegélyező uborkafasorra. Az intézet az idén ünnepli alapításának 10. évfordulóját, és az ünnepségsorozatban az uborkafáknak is fontos szerepet szánnak, ezért azok magasságát lemérték és nyilvántartásba vették.

Az uborkafák magasságát a - honlapunkról letölthető - fak.txt nevű, UTF-8 kódolású, tabulátorokkal tagolt szöveges állomány centiméterben megadva tartalmazza, soronként a főbejárattól indulva. (A számozás 1-től indul.) Az első adat mindig a bal, a második a jobb oldali uborkafa magasságát adja. Például:

Ekkor az 1B (első sor bal oldali) uborkafa magassága 4667 cm, míg a 2J (azaz második sor jobb oldali) uborkafa magassága 7647 cm.

Készítsünk programot i391 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 a fájlból az uborkafák adatait, és írassuk ki a képernyőre a mintának megfelelően, hogy hány uborkafa van az út két oldalán.

2. Mennyi az uborkafák átlagos magassága, és hány ennél magasabb fa van az út bal, illetve jobb oldalán? A válaszokat a mintának megfelelően jelenítsük meg a képernyőn. Az átlagmagasságot két tizedes jegy pontossággal írassuk ki.

3. Az intézet büszkeségének nevezik az uborkafasor legmagasabb fáját/fáit. Keressük meg az intézet büszkeségét/büszkeségeit, és a mintának megfelelően írassuk ki koordinátái(ka)t a képernyőre.

4. Az intézet szégyenének nevezik az olyan uborkafákat, amelyeknek - bár két szomszédjuk is van - ám mindkettőnél kisebbek. Az ilyen fákra a későbbiekben nagyobb gondot fognak fordítani. Írassuk ki az intézet szégyenei közül a legmagasabb(ak) koordinátáit a mintának megfelelően.

5. A tízéves jubileumi ünnepségsorozatban fontos szerepet kap az uborkafasor 10 legmagasabb fája. Írassuk ki ezek koordinátáit a képernyőre a mintának megfelelően. Pontosan 10 fa adata jelenjen meg ,,holtverseny'' esetén is.

Ubulnak, az intézet kismajmának, kedvenc szórakozása, hogy végigszökdécsel az uborkafasor tetején. Ilyenkor mindig a bal első uborkafáról indul, és minden ugrással vagy továbblép az adott oldalon, vagy átugrik az út másik oldalán az azonos sorszámú fára, de sohasem lép vissza oda, ahol már járt.

6. Egy alkalommal Ubul minden ugrásnál a két lehetséges fa közül a magasabbikra ugrik. (Ha a két fa azonos magasságú, akkor az adott oldal következő fáját választja.) Írassuk ki az ubul.txt fájl első sorába, egy-egy szóközzel elválasztva az Ubul által meglátogatott uborkafákat a szökdécselés sorrendjében.

7. Egy másik alkalommal Ubul minden ugrással monoton fölfelé halad, amíg ez lehetséges. Ha már az ,,út'' nem vezet fölfelé, akkor megfordítja az útirányt és monoton lefelé szökdécsel, amíg csak lehetséges, majd megint megfordítja az irányt, és így tovább. Ha mindkét lehetséges fa egyaránt magasabb (vagy egyaránt alacsonyabb, vagy egyaránt konstans), akkor nem ugrik át az út másik oldalára. Írassuk ki Ubul útját egy-egy szóközzel elválasztva az ubul.txt fájl második sorába. A fájl 3. sorába pedig azt írassuk ki, hogy összesen hány cm-t tett meg Ubul felfelé, és hány cm-t lefelé az útja során.

Beküldendő egy tömörített i391.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ő környezetben fordítható.

Minta:

Letölthető fájl: fak.txt

(10 pont)

A beküldési határidő 2016. február 10-én LEJÁRT.


A megoldásokról: A feladatra 8 megoldás érkezett, 4 C#, 2 C++, 1 Java és 1 Visual Basic nyelven. Az 1-4. feladat mindenkinél hibátlan volt, az 5. egy dolgozatban volt helytelen. A legtöbb problémát a 7. feladat okozta: ez 2 esetben hiányzott, 2 esetben részben hibás volt.

A közölt minta megoldás: A minta megoldás Nagy Ábeltől a Budapesti Fazekas Mihály Gyakorló Általános Iskola és Gimnázium 11. osztályos tanulójától származik, és C# nyelven készült. i391.zip


Statisztika:

8 dolgozat érkezett.
10 pontot kapott:Kovács 246 Benedek, Nagy Ábel, Olexó Gergely.
9 pontot kapott:Hamrik Szabin, Radnai Bálint.
8 pontot kapott:1 versenyző.
7 pontot kapott:2 versenyző.

A KöMaL 2016. januári informatika feladatai