Feladat: I.271 Korcsoport: - Nehézségi fok: -
Füzet: 2011/szeptember, 358 - 359. oldal  PDF  |  MathML 
Témakör(ök): Programozás, algoritmusok, Táblázatkezelés, szövegszerkesztés
Hivatkozás(ok):Feladatok: 2011/december: I.280

A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre.

Szilárd anyagokon folyadék átszivárgását vizsgáljuk (a jelenség neve: perkoláció). Készítsünk programot i271 néven a folyamat bemutatására. Modellünkben egy n×n-es (1n500) négyzet alakú terület ‐ a szilárd anyag függőleges metszete ‐ minden cellája p (0,00p1,00) valószínűséggel átengedi a folyadékot (például egy mikrorepedés alakul ki), és 1-p valószínűséggel pedig nem.

 
 

Az első ábrán látható anyag nem, de a másodikon látható már átengedi a folyadékokat felülről lefelé (a sötét mezők a folyadékot átengedő anyagrészek). A folyadék lehetséges mozgásiránya egy anyagcellából balra lefelé, lefelé vagy jobbra lefelé lehetséges:
 
 

Készítsünk statisztikát arról, hogy a p valószínűség függvényében hányszor volt folyadékátengedő az anyag. A négyzet n oldalhossza a megadott feltételek között tetszőleges, a statisztika készítése során rögzített. n értéke szerepeljen a dokumentációban is. Minden p értéknél legalább 100 anyaghalmazt generáljunk és számoljuk meg, hogy ebből hányszor volt átengedő az anyag (na, 0nagenerálások száma). A pna számpárokat írjuk ki egy szöveges adatállományba, majd táblázatkezelő rendszerben PontXY típusú diagramon ábrázoljuk a méréseinket.
Beküldendő egy i271.zip tömörített állományban a program forráskódja (i271.pas, i271.cpp, ...), a diagramot tartalmazó táblázatkezelő állomány (i271.xls, i271.ods, ...), valamint a program rövid dokumentációja (i271.txt, i271.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.