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. 335. feladat (2013. december)

I. 335. Minden korosztály szereti a társasjátékokat nyaraláskor vagy utazáskor. A Super Six kockajáték az újak közé tartozik. A játék legegyszerűbb formája csak a szerencsén múlik.

A játék szabályai: A játékosok egyenlő arányban pálcikákat osztanak el egymás között. Majd a kiválasztott kezdőjátékostól óramutató járásával megegyező irányban dobnak egymás után egy kockával. Egy kis henger fedelén egytől hatig számozott lyukak vannak. Abban az esetben, ha egy játékos olyan számot dobott, amihez tartozó lyuk még üres, beledughat a pálcikái közül egyet. Ha a dobott számhoz tartozó lyuk már foglalt, a játékosnak magához kell vennie az ott lévő pálcikát. A 6-os a szerencsedobás, mert ehhez olyan lyuk van, amin keresztül a pálcika a hengerbe esik és a játék végéig ott is marad. A hatos dobás után a játékos újra dobhat. Az a játékos nyer, akinek a pálcikái elsőnek fogynak el. (A Super Six játék logikai változatát két kockával és más szabályok szerint játsszák.)

Készítsük el a játék szimulációját táblázatkezelő program segítségével és a táblát mentsük a táblázatkezelő saját formátumában i335 néven.

A megoldás során vegyük figyelembe a következőket:

- A megoldás során törekedjünk képlet, függvény, hivatkozás használatára, de saját függvény vagy makró nem használható.

- Az M oszloptól jobbra végezhetünk segédszámításokat, amelyeket lássunk el magyarázó szöveggel.

A játékot hárman, Anna, Blanka és Csaba játsszák most. Az ő nevüket a C3:E3 tartomány celláiba írjuk be. A nevük alatti cellába a kiosztott pálcikák száma (3-9 darab) kerüljön.

A B2 cellába a kezdő játékos nevét írjuk be. A 4. sortól lefelé a játék szimulációját jelenítjük meg. A G:L oszlopban a henger fedelének foglaltságát és a hengerben lévő pálcikák számát írjuk ki dobásonként. Az üres lyukakat világos, a foglaltakat sötét mintázatú cellákkal ábrázoljuk.

A B oszlopban a kockadobásoknak megfelelő véletlen számok és az A5 cellától lefelé a szabályok szerint következő játékos nevét írjuk ki. A C:E oszlopban a játékosok pálcikáinak aktuális számát vezessük dobásonként.

A játék pillanatnyi állásának megjelenítését addig folytassuk, amíg az egyik játékos nem nyer. A szimulációnk 100 kockadobásig tegye lehetővé a játék adminisztrációját, de a nyertes állás alatt a cellák üresen jelenjenek meg. A győztes nevét az E1 cellában írjuk ki. Ha a 100 dobás alatt sem születik győztes, ami ritka, akkor megengedett a hibajelzés megjelenítése az  E1 cellában.

Beküldendő egy tömörített állományban (i335.zip) a táblázatkezelő munkafüzet (i335.xls, i335.ods, ...), illetve egy rövid dokumentáció (i335.txt, i335.pdf, ...), amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziója, valamint a megoldás rövid leírása.

(10 pont)

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


A megoldásról:

Kovács Balázs Marcell, 11. évfolyamos tanuló (Budapest, ELTE Radnóti Miklós Gyakorló Iskola) munkája:

Az O oszlopban tároljuk a soron következő játékos sorszámát, a következő játékos az előző játékos sorszámának 3-mal való osztás maradékával van meghatározva (ha a dobás nem 6).

Az első játékos sorszámát a MATCH() függvény segítségével határozzuk meg.

A P oszlopban tároljuk, hogy az adott körben tart-e még a játék (1: igen, 0: nem). Az 1-es érték feltétele, hogy legyen minden játékosnak min. 1 pálcája, valamint hogy az előző körben is tartson a játék. A P oszlop értékei alapján dől el, hogy az A-E, valamint az L oszlopokban megjelenítünk-e valamit.

Az R-W oszlopok tartalmazzák, hogy az egyes lyukakban hány pálcika van. Új körben ezek az értékek a dobott szám alapján változnak, a 6-os oszlop mindig 1-gyel nő, a többi 0-ról 1-re, 1-ről 0-ra vált (1-előző). A G-K oszlopban ezen értékek alapján van megvalósítva a színezés conditional formatting-gal.

Az Y-AA oszlopban található, hogy az egyes játékosoknál hány pálcika van. Egy az egyben ez van megjelenítve a C-E oszlopokban is. 6-os dobás esetén 1-gyel csökken az érték, különben pedig az adott lyuk előző köri állapotától függően 1-gyel nő, vagy csökken.

A P1 mezőben meghatározzuk, hogy hány körből állt a játék, ez alapján jelenítjük meg az utolsó játékos nevét az E1 cellában, ha nincs nyertes, akkor P1=101 (a játék menetét 101 körön keresztül követjük, mert előfordulhat, hogy éppen a 100. körben nyer valaki), akkor az E1 cellában a NINCS felirat jelenik meg.

i335.ods


Statisztika:

17 dolgozat érkezett.
10 pontot kapott:Bognár 2012 Balázs, Fényes Balázs, Gercsó Márk, Kelkó Balázs, Kovács 246 Benedek, Kovács Balázs Marcell, Mócsy Miklós, Németh 123 Balázs, Németh 729 Gábor, Radnai Bálint, Szabó 524 Tímea, Tegzes Tamás.
9 pontot kapott:Uzonyi 000 Ákos.
8 pontot kapott:2 versenyző.
4 pontot kapott:2 versenyző.

A KöMaL 2013. decemberi informatika feladatai