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. 450. feladat (2018. február)

I. 450. A képen látható egyszemélyes ,,játékot'' bárki megvásárolhatja. A játék hat, teljesen egyforma, közös tengelyen elhelyezett ,,hengerből'' áll, amelyek palástja pontosan ugyanannyi részre oszlik. Az első, a harmadik, az ötödik és a hatodik henger minden helyen számjegyeket tartalmaz, a második műveleti jeleket, a negyedik pedig relációs jeleket. A hengereket úgy kell elforgatni egymáshoz képest, hogy a kialakuló sorok mindegyikében az első három által mutatott kifejezés és az utolsó két számjegy által alkotott szám között a negyedik helyen szereplő reláció álljon fenn.

Írjunk programot, amely a fenti játék síkbeli változatát valósítja meg. A program indításakor a játékos beállítja a sorok számát, amely 3 és 10 közötti szám lehet. Ezt követően a program véletlenszerűen generál egy kiindulási állapotot, majd megjeleníti az alábbi mintának megfelelően (bal oldali ábra). A generálásnál ügyelnünk kell arra, hogy a feladat megoldható legyen. A játék során a játékos által választott oszlopot (annak tartalmát) eggyel elcsúsztatja a többihez képest. (A kicsúszó elem az ellenkező oldalon megjelenik.) A játék befejeződik, ha a játékosnak sikerül elérnie, hogy minden sorban teljesüljön a reláció (jobb oldali ábra). A játékos a játékot feladhatja, ekkor a programnak meg kell jelenítenie a megoldást.

A feladat megoldásaként a versenykiírásban szereplő eszközökkel elkészíthető alkalmazások mellett a webes vagy mobil applikációkat is elfogadjuk.

Beküldendő egy i450.zip tömörített állományban a program forráskódja és a működéséhez szükséges egyéb fájlok, továbbá a hozzá kapcsolódó felhasználói dokumentáció, valamint a leírás, amely tartalmazza, hogy a forrásállomány melyik fejlesztői környezetben fordítható.

Az értékelésben 7 pont jár a feladat leírásának megfelelő megoldásokért, 3 pont pedig a megoldás kifinomultsága, ötletessége, használhatósága alapján kerül kiosztásra.

(10 pont)

A beküldési határidő 2018. március 12-én LEJÁRT.


A feladat kitűzésekor nem gondoltuk, hogy az összes beérkező megoldás más-más eszközzel készül majd el, ami akkor is sok, ha csak 9 versenyző adta le munkáját. (Visual Basic, Python, Java, Xcode (macOS), Lazarus, C++, HTML/Javascript, C#, Android Studio).

A feladat kiírásának megfelelésnél a következő elemeket figyeltük: beállítható-e a méret / véletlenszerű, megoldható kiindulóállapot / az oszlopok minden irányban mozgathatóak / a program felismeri-e a helyes megoldás kialakulását / feladáskor egy helyes megoldást mutat / van-e külön felhasználói dokumentáció vagy a program a kezelőfelületen pótolja-e egy részét (ebben igen megengedőek voltunk) / leírás a fejlesztői környezetről.

A felhasználói dokumentációról a http://progalap.elte.hu/downloads/seged/eTananyag/lecke28lap1.html#hiv6 címen lehet olvasni.

A megoldás kifinomultsága, ötletessége, használhatósága részben pedig a grafikus felület / az egyértelmű, könnyű kezelhetőség / és az összbenyomás ért pontot.

A legjobbak közé tartozott Horcsin Bálint (i450hb.zip) és Ürmössy Dorottya (i450ud.zip) megoldása.

Ami leginkább megközelítette a képen látható számhenger adta lehetőségeket - kibővítve a méretváltoztatással és változatos feladványokkal -, az Zsombó István (i450ZsI.zip) megoldása volt.


Statisztika:

9 dolgozat érkezett.
10 pontot kapott:Horcsin Bálint, Zsombó István.
9 pontot kapott:Békési Péter, Kiss Dániel Márk, Ürmössy Dorottya.
8 pontot kapott:1 versenyző.
6 pontot kapott:1 versenyző.
4 pontot kapott:1 versenyző.
1 pontot kapott:1 versenyző.

A KöMaL 2018. februári informatika feladatai