Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?
A régi honlapot akarom!!! :-)

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