Az I. 436. feladat (2017. október) |
I. 436. (É) Ha egy szabályos dobókockát feldobunk, leesés után ugyanakkora valószínűséggel lesz a kocka tetején az első hat pozitív egész szám valamelyikének megfelelő számú pont. Erre a továbbiakban arab számjegyekkel hivatkozunk: 1, 2, 3, 4, 5, 6.
Ebben a feladatban szabályos dobókockával történő dobást szimulálunk, illetve az így kapott sorozatot elemezzük. Készítsünk programot dobokocka néven a következő feladatok megoldására.
1. Kérjünk be a felhasználótól egy tippet, majd szimuláljunk egy kockadobást szabályos dobókockával. Írassuk ki a képernyőre a felhasználó tippjét és a dobás eredményét is, majd tájékoztassuk a felhasználót az eredményről a következő formában: ,,Ön eltalálta.'' vagy ,,Ön nem találta el.''. (Az ékezetmentes kiírás is elfogadott.)
2. Szimuláljunk egy \(\displaystyle N (\le 10\,000)\) dobásból álló kísérleti dobássorozatot, és az eredményt tároljuk el egy megfelelő típusú változóban. Az \(\displaystyle N\) értékét a felhasználótól kérjük be. Írassuk ki a dobássorozatot (elválasztójelek nélkül) a kiserlet.txt szöveges állomány első sorába is, ezt egy szóközzel elválasztva kövesse \(\displaystyle N\) értéke. A továbbiakban az így kapott sorozatot elemezzük.
3. Számoljuk meg, hogy a kísérlet során hányszor dobtuk az egyes számokat. Írassuk ki relatív gyakoriságukat két tizedesjegy pontossággal a kiserlet.txt fájl második sorába, egy-egy szóközzel elválasztva (pl. 1-16,51% 2-17,23% ...).
4. Hányszor fordult elő a kísérlet során, hogy egymás után pontosan két hatost dobtunk? Az eredményt írassuk a kiserlet.txt fájl harmadik sorába.
5. Hányszor fordult elő a kísérlet során, hogy a kocka két egymást követő dobás esetén két egymással szemben lévő oldalára esett? (Közismert, hogy a szabályos dobókocka szemben lévő oldalain szereplő számok összege 7.) A választ írassuk a kiserlet.txt fájl 4. sorába. (Például a 21612 sorozat kettőnek számít.)
6. Előfordult-e a kísérlet során, hogy hat egymást követő dobás során mind a hat lehetséges értékre sor került? Írassuk a választ (Igen vagy Nem) a kiserlet.txt fájl 5. sorába. Ha a válasz Igen, adjuk meg egy ilyen sorozat kezdetének a helyét is az Igen után egy szóközzel elválasztva. (A minta tagjainak számozását eggyel kezdjük.)
7. Előfordult-e a kísérlet során legalább \(\displaystyle M\) tagú palindrom? (Olyan részsorozat, amely elölről hátulra és hátulról előre olvasva megegyezik, például: 2345432.) Az \(\displaystyle M\) értékét kérjük be a felhasználótól. Írjuk a választ és \(\displaystyle M\) értékét egy szóközzel elválasztva a kiserlet.txt fájl 6. sorába (például: Nem 12). Ha a válasz Igen, adjuk meg egy ilyen sorozat kezdetének a helyét is egy szóközzel elválasztva.
8. Milyen hosszú volt a leghosszabb, azonos számjegyekből álló sorozat? Írassuk ki a választ a kiserlet.txt fájl 7. sorába, továbbá egy szóközzel elválasztva írassuk mellé egy ilyen részsorozat első tagjának helyét is.
Beküldendő egy i436.zip tömörített állományban a program forráskódja és 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ő 2017. november 10-én LEJÁRT.
Értékelés: A feladatra 24 megoldás érkezett, 1 megoldás nem felel meg a versenykiírásnak. C# és C++ nyelven 8-8, Visual Basicben 3, Javaban 2 és Pythonban és Pascalban 1-1 megoldást kaptunk. A feladat nem volt túl bonyolult, talán ennek köszönhető, hogy a legtöbb megoldásba kisebb-nagyobb hiba csúszott. Tipikusan a 4. feladatnál nem ügyeltek a beküldők arra, hogy a pontosan két hatost tartalmazó eseteket kell megszámolni; illetve egyes feladatok speciális esetekben nem megfelelően működtek. (Pl. a 666666 sorozatban több megoldás nem ismerte fel, hogy hat azonos tagból áll.) Sajnos több olyan megoldás is érkezett, amelyhez nincs vagy erősen hiányos a dokumentáció.
Mintamegoldás: A közölt mintamegoldás Ürmössy Dorottyától, a Budapesti Fazekas Mihály Gimnázium 9. osztályos tanulójától származik, és C# nyelven íródott. i436.cs
Statisztika:
24 dolgozat érkezett. 10 pontot kapott: Szőnyi Laura, Tarnay Márton, Ürmössy Dorottya, Varga 225 Balázs, Vígh Márton. 9 pontot kapott: Horcsin Bálint, Horváth 237 Lili, Kis Lázár Bence, Nagy 418 Valentin, Noszály Áron, Ritter Máté, Rittgasszer Ákos, Sepsi Csombor Márton. 8 pontot kapott: 2 versenyző. 7 pontot kapott: 3 versenyző. 6 pontot kapott: 2 versenyző. 4 pontot kapott: 1 versenyző. 3 pontot kapott: 2 versenyző. 0 pontot kapott: 1 versenyző.
A KöMaL 2017. októberi informatika feladatai