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. 266. feladat (2011. április)

I. 266. A számítógépes programok többsége a ,,véletlenszámok'' előállításra az úgynevezett lineáris kongruencia módszer speciális esetét használja.

Adott k darab egész szám (a1,a2,...,ak), ezek a kongruencia együtthatói és k darab kezdőérték (R1,R2,...,Rk). A soron következő álvéletlenszámot az előzőekből az


R_{n+1} =\big(a_1 \cdot R_{n-k+1} +a_2 \cdot R_{n-k+2} +\ldots +a_k \cdot R_n \big) \bmod M

formula alapján számoljuk.

Az előállított álvéletszámtól elvárjuk, hogy minden lehetséges értéket előbb-utóbb felvegyen, illetve a számsorozatot megfigyelve ne lehessen következtetni a később előállítottakra.

Táblázatkezelő segítségével a lineáris kongruencia módszerét alkalmazva állítsunk elő 1000 darab álvéletlenszámot és hasonlítsuk össze a táblázatkezelő által generált véletlenszámokkal. Az együtthatók, a kezdőértékek, és ezzel a szorzatösszeg tagjainak száma legyen k=10. A véletlenszámok 0 és 49 közöttiek legyenek, azaz M=50. A véletlenszámok előállításához használjuk az A:K oszlopokat. Az első sorokban szerepeljenek az együtthatók és a kezdőértékek, amelyek tetszőleges, általunk adott pozitív, kétjegyű számok.

Az összehasonlításhoz először a K oszlopban lévő véletlenszámokból hivatkozás segítségével alkossunk párokat az N:O oszlopba. Ezeket, mint koordinátákat felfogva, ábrázoljuk PontXY típusú diagramon. A diagramnak ne legyen feliratozása és a pontok töltsék ki a rendelkezésre álló helyet. Összehasonlításként a P:Q oszlopban a táblázatkezelő saját véletlenszám-függvényével hasonló számpárokat generáljunk és hasonló módon, de másik diagramon ábrázoljuk.

Második módszerként a Q oszloptól jobbra határozzuk meg, hogy az általunk készített véletlenszámok, illetve másik oszlopban a táblázatkezelő saját véletlenszám-függvényével melyik szám hányszor fordul elő. Rendezzük az előfordulásokat növekvő sorrendbe, és ábrázoljuk közös oszlopdiagramon. Ügyeljünk, hogy a táblázat újraszámításakor is a helyes eredmények jelenjenek meg.

Beküldendő egy tömörített állományban (i266.zip) a táblázatkezelő munkafüzet (i266.xls, i266.ods, ...), illetve egy rövid dokumentáció (i266.txt, i266.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ő 2011. május 10-én LEJÁRT.


Megoldásokról

Összességében a beküldött megoldások jól sikerültek. A feladat könnyűnek mutatkozott. Sajnos kevés munka érkezett. A legtöbb gondot az álvéletlenszámokból a koordináta számpárok előállítása okozta.

Ha M3 cellától lefelé, 1-től kezdve sorszámokat állítunk elő, akkor egy lehetséges megoldás

N3: =INDEX($K$3:$K$10000;M3*2;1) és

O3: =INDEX($K$3:$K$10000;M3*2+1;1)

Minta megoldás: linkong.xls


Statisztika:

4 dolgozat érkezett.
10 pontot kapott:Barta 111 János, Gema Barnabás, Leitereg András.
9 pontot kapott:Szabó 928 Attila.

A KöMaL 2011. áprilisi informatika feladatai