Az I. 492. feladat (2019. október) |
I. 492. (É). Ubullal, az Uborkanemesítő Intézet kismajmával egy korábbi feladatban (I.\(\displaystyle \;\)398.) már találkoztunk. Azóta Ubul átköltözött az Intézet egyik kísérleti parcellájába, ahol \(\displaystyle N\) sorban és \(\displaystyle M\) oszlopban (\(\displaystyle 1 \le N, M \le 100\)) ültetve helyezkednek el az uborkafák.
Az uborkafák magasságát a weblapunkról letölthető ubifak.txt nevű, UTF-8 kódolású, tabulátorokkal tagolt szöveges állomány centiméterben megadva tartalmazza. Egy uborkafa nagyon magas, de legfeljebb 100 méteres lehet. Az állomány első eleme az \(\displaystyle (1;1)\), utolsó eleme pedig az \(\displaystyle (N;M)\) koordinátájú fa magasságát adja meg.
Készítsünk programot i492 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 magasságát, és az adatokat tároljuk el.
2. Kérjük be egy fa koordinátáit (sorszám, oszlopszám) és írassuk ki a képernyőre az adott koordinátájú uborkafa magasságát.
3. Ubul az előző feladatban megadott fán ücsörög. Hány olyan fa van a parcellában, amely az előbb megadott koordinátájú fánál magasabb?
4. Szemléltessük a kilátást a kilatas.txt nevű állománnyal, amely \(\displaystyle N\) sorban és \(\displaystyle M\) oszlopban karaktereket tartalmaz (szóközök nélkül) a következő módon. Ubul előbb megadott helyét egy U betű jelöli. Az adott pontban lévő fánál magasabb fákat \(\displaystyle \times\) jelöli, míg a többi fát egy-egy pont.
5. Ubul napközben legszívesebben a parcella legmagasabb fáján szeret ücsörögni. Hol van ez a fa és milyen magas? Írassuk ki a választ a képernyőre. Ha több ilyen van, mindegyik koordinátái jelenjenek meg.
6. Az éjszakát Ubul azon a fán töltötte, amely a sorok legnagyobb fái közül a legkisebb, hogy ne fázzon. Reggel át akar ugrálni arra a fára, amely az oszlopok legkisebb fái közül a legnagyobb. Ha Ubul mindig csak az adott sor vagy adott oszlop szomszédos fájára ugrik, legalább hány ugrással közelítheti meg ezt a fát? (Feltehetjük, hogy a két szélsőérték egyértelmű.)
7. Látja-e Ubul a megadott koordinátájú fáról az adott sorban, illetve az adott oszlopban lévő szélső fák tetejét? Mind a négy eset eredményét írassuk ki a képernyőre. (Feltételezhetjük, hogy a fák egyenlő távolságra vannak egymástól.)
Beküldendő egy tömörített i492.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ői környezetben fordítható.
(10 pont)
A beküldési határidő 2019. november 11-én LEJÁRT.
Értékelés: A feladatra 10 megoldás született. A megoldóknak főleg a 6-7. feladat okozott gondot. A 6. feladat 2. részében néhányan az oszlopok legnagyobbjai között keresték a legkisebbet és nem az oszlopok legkisebb fái közül a legnagyobbat. A 7. feladatban pedig többen nem vették figyelembe a feladathoz tartozó ábrát (a meghúzott egyenes szakasz "fölé" ne nőjön fa.) Ellenőrzéshez segíthet, ha a megadott adatfájl beolvassuk egy táblázatkezelőbe, így majdnem minden feladat közvetlenül ellenőrizhető a megfelelő képletek alkalmazásával.
Mintamegoldás: A közölt mintamegoldás Nagy 793 Mártontól, a váci Boronkay György Műszaki Szakközépiskola, Gimnázium és Kollégium 12. osztályos tanulójától származik, és C# nyelven készült: i492.zip
Statisztika:
10 dolgozat érkezett. 10 pontot kapott: Nagy 793 Márton, Ürmössy Dorottya. 9 pontot kapott: Csahók Mihály, Endrész Balázs, Mócsy Mátyás. 8 pontot kapott: 1 versenyző. 7 pontot kapott: 2 versenyző. 6 pontot kapott: 1 versenyző. 4 pontot kapott: 1 versenyző.
A KöMaL 2019. októberi informatika feladatai