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. 468. feladat (2018. november)

I. 468. A Mastermind játék már korábban is előkerült az informatika feladatok között. Most ennek a számjegyes változata szerepel feladatunkban: kitalálandó négy számjegy, amelyek akár egyformák is lehetnek. A játékot egy számítógép ellen játssza az általunk írt program. A számítógép ,,gondol'' négy számra, majd programunk minden lépésben négy számot tippel, válaszként pedig megkapja, hogy hány számjegy van jó helyen és mennyi szerepel még a tippünkből a gondolt számok között rossz helyen. (https://hu.wikipedia.org/wiki/Mastermind#Számjegyesváltozat.)

Az ellenféllel az alábbi formában kommunikálhatunk a kezdés, kérdés és rákérdezés parancsokkal.

műveleturlválasz
kezdéshttp://localhost/mm/ellenfel.php?muvelet=kezdesOK
kérdéshttp://localhost/mm/ellenfel.php?muvelet=kerdes&ertek=12342 1
kérdéshttp://localhost/mm/ellenfel.php?muvelet=kerdes&ertek=12450 2
rákérdezéshttp://localhost/mm/ellenfel.php?muvelet=rakerdezes&ertek=53344 0

A táblázat válasz oszlopában a kérdésnél és a rákérdezésnél a számok között pontosan egy szóköz van. Nem cél, hogy a lehető legkevesebb lépésben jussunk megoldásra, de törekedjünk arra, hogy olyan kérdést ne tegyünk fel, amely ellentmondásban van a korábban kapott válaszokkal.

A feladat megoldásaként a versenykiírásban szereplő eszközökkel elkészíthető alkalmazások mellett más programozási eszközöket, akár webes alkalmazásokat is elfogadunk. Feltétel, hogy a program indítását követően a rákérdezéssel bezárólag ne legyen szükség felhasználói beavatkozásra és a futás során ne igényeljen aktív netkapcsolatot.

Beküldendő egy i468.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ó dokumentáció. Utóbbi a problémamegoldás lényeges elemeire világít rá, valamint tartalmazza, hogy a forrásállomány melyik fejlesztői környezetben fordítható.

Értékelés: 4 pont jár, ha a program szabályos eszközökkel kitalálja a megoldást, további 4 pontot ér, ha a kérdések nincsenek ellentmondásban a korábban kapott válaszokkal. A körültekintően elkészített dokumentáció 2 pontot ér.

A kommunikációra példát adó ellenfel.php fájl letöltése: ellenfel.zip

(10 pont)

A beküldési határidő 2018. december 10-én LEJÁRT.


A megoldók közül ketten Java, ketten Javascript programot írtak. Emellett még Visual Basicben és Pythonban született megoldás.

Majdnem mindenki sikerrel találta ki a gondolt számot, de előfordult, hogy a kommunikáció nem volt szabályos.

Azt, hogy egy kérdés ne legyen ellentmondásban a korábbi válaszokkal, csak a versenyzők fele oldotta meg.

Ezúttal Borus Benedek Pythonban írt megoldását tesszük közé: i468.py


Statisztika:

6 dolgozat érkezett.
10 pontot kapott:Békési Péter, Borus Benedek.
9 pontot kapott:Ürmössy Dorottya.
6 pontot kapott:1 versenyző.
4 pontot kapott:1 versenyző.
2 pontot kapott:1 versenyző.

A KöMaL 2018. novemberi informatika feladatai