Multimédiás oktatóprogram készítése interaktív táblához Lengyel Ferenc Kodolányi János Főiskola, Módszertani Tanszék
[email protected] Absztrakt Az informatikai eszközökben rejlő, szemléltetésre alkalmas lehetőségeket az oktatás minden területén érdemes kihasználni. Az oktatás minden szintjén egyre fontosabbá válik, hogy a tanulók figyelmét minél többféle módon próbáljuk meg lekötni. Szerencsére a hagyományos eszközök helyett számtalan új lehetőség van a tananyagok bemutatására, az eszközök között egyre nagyobb szerepe van az interaktív táblával megvalósítható szemléltetésnek. Mivel a tananyagot a felnőtt korosztály számára is élvezetesebbé és könnyebben befogadhatóvá kellene tenni, ezért a tanárnak kreatívabbnak kell lennie. Előadásomban néhány aktív táblán alkalmazható szemléltető eszköz készítését mutatom be, kitérve a készítés során tapasztalt és az alkalmazásban rejlő előnyökre illetve hátrányokra. A fejlesztés során az alábbi problémából indultunk ki: valószínűségszámítás oktatásakor szükség lenne egy dobókocka szimulátorra. Cél, hogy lehessen vele gyorsan több száz kockadobást elvégezni, és eközben készítsen szemléletes statisztikát, amely az aktív tábla segítségével bemutatható. A fejlesztések során az alábbi eszközök kipróbálására került sor: interneten talált Java applet testreszabása. EasiTeach táblaszoftver használata programozói tudás nélkül. Táblázatkezelő programok alkalmazása (pl. Excel, Calc, Google Docs, Zoho) programozói ismeretek nélkül, de fejlett felhasználói ismereteket feltételezve. Egy animáció készítő szoftver (pl. KoolMoves) használata programozói ismeretekkel. Multimédiás szerzői rendszer (Lapoda, MaxMedia Light), felhasználása programozói ismeretekkel, megküzdve a demó verziók funkciókorlátozásaival. A tábla
A főiskolai oktatásban használt tábláink mind PolyVision® Walk-and-Talk™ jelzésű interaktív táblák. Ezek a táblák minden különösebb szoftver feltelepítése nélkül is használhatók demonstrációs célokra, hiszen az illesztő program és a távirányító önmagában alkalmassá teszi a táblát rajzolásra, tollszín és vastagság választására, radír funkció használatára, reflektorfény és letakarás effekt alkalmazására, a táblakép nyomtatására és mentésére is. Ugyanakkor a gyártó a táblához két szoftvert is ad, az egyik a Webster® a másik pedig az RM Easiteach®. Mindkét szoftver jelentősen kibővíti a tábla funkcionalitását, és míg az előbbi igazából „csak” egy jól sikerült táblaszoftver, addig az utóbbit elég nehéz besorolni: táblaszoftver, prezentáció készítő és multimédiás szerzői rendszer is egyben, legalábbis mindegyikből tartalmaz jellegzetes elemeket. A probléma
Megpróbálunk egy valós helyzetet körüljárni: valószínűségszámítást szeretnénk oktatni, de nem kisiskolásoknak, a szemléltetéshez pedig aktívtáblát használunk. Az egyik legkézenfekvőbb példát használjuk szemléltetésre: a dobókockát. Meg kellene ismertetnünk a hallgatóinkkal az alábbi fogalmakat: kísérlet, esemény, gyakoriság, relatív gyakoriság, átlag, várható érték, … Ennek érdekében olyan felületre lenne szükségünk, ahol szimulálhatjuk a dobásokat egyesével is, de akár százasával is, lehetőleg készüljön a dobásokról valamiféle statisztika és grafikon, s persze az irányításhoz ne kelljen a táblát elhagynunk. 1. alkalmazás: Easiteach
A táblánkhoz tartozó szoftver lehetőségeit próbáljuk meg kiaknázni, azok közül is csak a legalapvetőbb szolgáltatásokat, nem mélyülünk el a lehetőségek tárházában. A program felkínál eszköztárakat bizonyos gyakori problémák megoldásához: ilyen többek között a „Matek” eszköztár is, ahol számegyenesek, koordináta rendszerek várják, hogy használjuk őket. Vannak kész és félkész sablonok, mi egy egyéni grafikont húztunk elő a vízszintes tengelyén 1-től 6-ig beszámozva.
1. ábra: Matek eszköztár
A dobókockát szerencsénkre ügyes programozók előre elkészítették, csak rá kell találnunk: a Források között a MultimédiaBank-ban a Flash animációk fejezetben. Mindössze ki kell húzni a táblára és máris használható.
2. ábra: Flash animációk
A kidobott értékek megjelenítéséhez egy egyszerű trükköt fogunk alkalmazni: előre megrajzoljuk a „bot” ábránk egységnyi darabkáját, és minden dobás után azt kézzel behúzzuk a koordináta rendszerünk megfelelő helyére. Így, ha nem is tudjuk automatizálni az ábra készítését, de jelentősen felgyorsíthatjuk azt és a tanár helyzetét is megkönnyítjük ezzel az aprósággal. A rajzolást a négyzetrácsos területen végezzük, mert ilyenkor a szoftver illeszti a rajzolt szakasz végeit a rácspontokhoz, majd onnan lehúzzuk a dobókocka mellé, végül beállítjuk, hogy „másolható” legyen, vagyis az eredetileg megrajzolt példányból kihúzhatunk az ábránkra a klónokat.
3. ábra. Másolható "bot" darabka
Minden felesleges ablakot zárjunk be, készen vagyunk, használható a szimulátor: koppintsunk a kockára, majd a dobott értéknek megfelelő helyre húzzunk be egy egységnyi „bot”-ot a diagramunkra.
4. ábra: A tízedik dobás után
Pillanatok alatt elkészült táblánk, nem kellett hozzá programoznunk, cserébe csak egyesével tudunk dobálni és az adatrögzítés is kézzel történik. 2. alkalmazás: Java applet
Némi keresés után találhatunk az interneten olyan mások által elkészített alkalmazást, amit mi is felhasználhatunk, főleg, ha olyan eszközt találunk, amit átszabhatunk a saját igényeinknek megfelelően. Első ránézésre ugyan nem dobókocka, de mi azt fogunk faragni belőle: http://enlvm.usu.edu/ma/nav/activity.jsp?sid=nlvm&cid=4_5&lid=186
5. ábra: Szerencsekerék
Sokkal inkább egy szerencsekerék, de ha a körcikkek számozva lennének és nem öt hanem hat darab lenne belőlük?... Szerencsénkre van egy Change Spinner gomb, ahol átalakíthatjuk a kerék kinézetét:
6. ábra: Testreszabás
Most már csak rengeteg dobást kell szimulálnunk és az eredményeket rögzíteni: erre való a Record Results gomb. Írjuk be a kívánt dobásszámot 1 és 999 között és máris készül a gyakoriságokról egy oszlopdiagram. Az ábra folyamatosan rajzolódik ki előttünk, látjuk az egyes oszlopok versengését!
7. ábra: Eredmények
A keresgélést leszámítva itt is pillanatok alatt végeztünk, nem kellett programoznunk, gyorsan lett több száz értékelhető eredményünk ábrával szemléltetve. Egyetlen nehézkessége a dolognak a dobások számának begépelése: ez ugyanis billentyűzetet igényel (képernyőbillentyűzettel orvosolható, de akkor is kényelmetlen), illetve az alkalmazásra rá kell találnunk a neten és ez bizony sok-sok időt vesz igénybe. 3. alkalmazás: táblázatkezelők (MS Excel, OpenOffice Calc, Google Docs, ZOHO Sheet)
Bár nem éppen multimédiás alkalmazásként használjuk a táblázatkezelőket, mégis kézenfekvő a gondolat, hogy a nagy számú dobás és a statisztikai adatok könnyű számíthatósága miatt felhasználjuk őket, a diagramok is könnyedén elkészíthetők, csak az interakcióra kell fordítanunk némi figyelmet. Természetesen itt nem lesz animáció, cserébe egy egyszerű felhasználó is könnyedén el tudja készíteni a szükséges táblázatot. (Amúgy is matematika szakos tanárok a feltételezett felhasználói csoport tagjai, nekik illik használni a táblázatkezelőket más okból kifolyólag is!) Valamennyi esetben egyforma alapokkal indulunk: feltöltjük a táblázatot 1000 véletlenszámmal, ezeket átlagoljuk és megszámoljuk az egyes értékek gyakoriságát. A táblázatunk tehát a következő adatokat tartalmazza: Tartomány A2:A1001 A1 B1 C1 D1:I1 D2:I2 J2
Excel-ben megjegyzés =INT(VÉL()*6)+1 Véletlenszám 1 és 6 között =ÁTLAG(A2:A1001) 1000 érték átlaga =MIN(A2:A1001) ellenőrzésként =MAX(A2:A1001) ellenőrzésként 1,2,3,4,5,6 Dobott értékek =DARABTELI($A$2:$A$1001;D1) gyakoriságaik =SZUM(D2:I2) ellenőrzésként 1. Táblázat : Excelben használt függvények
Tartomány Calc-ban megjegyzés A2:A1001 =INT(RAND()*6)+1 Véletlenszám 1 és 6 között A1 =AVERAGE(A2:A1001) 1000 érték átlaga B1 =MIN(A2:A1001) ellenőrzésként C1 =MAX(A2:A1001) ellenőrzésként D1:I1 1,2,3,4,5,6 Dobott értékek D2:I2 =COUNTIF($A$2:$A$1001;D1) gyakoriságaik J2 =SUM(D2:I2) ellenőrzésként 2. Táblázat: OpenOffice Calc-ban használt függvények Tartomány A2:A1001 A1 B1 C1 D1:I1 D2:I2 J2
Google Docs-ban megjegyzés =RANDBETWEEN(1;6)+0*GoogleFInance( "GOOG") Véletlenszám 1 és 6 között =AVERAGE(A2:A1001) 1000 érték átlaga =MIN(A2:A1001) ellenőrzésként =MAX(A2:A1001) ellenőrzésként 1,2,3,4,5,6 Dobott értékek =COUNTIF($A$2:$A$1001;D1) gyakoriságaik =SUM(D2:I2) ellenőrzésként 3. Táblázat: Google Docs-ban használt függvények
Tartomány A2:A1001 A1 B1 C1 D1:I1 D2:I2 J2
ZOHO Sheet-ben megjegyzés =RANDBETWEEN(1;6) Véletlenszám 1 és 6 között =AVERAGE(A2:A1001) 1000 érték átlaga =MIN(A2:A1001) ellenőrzésként =MAX(A2:A1001) ellenőrzésként 1,2,3,4,5,6 Dobott értékek =COUNTIF($A$2:$A$1001;D1) gyakoriságaik =SUM(D2:I2) ellenőrzésként 4. Táblázat: ZOHO Sheet-ben használt függvények
Magyarázat: a véletlenszámok előállítására két különböző függvényt használtunk, előbbi klasszikusnak számít, a második egy kicsit fiatalosabb, de egyik sem jobb a másiknál. Az ellenőrző értékek a készítésnél segítik a fejlesztőt, segítségükkel ellenőrizhetjük, hogy tényleg az történik-e az adatainkkal, amit szeretnénk. (1 és 6 között dobunk és mind az 1000 értékek figyeljük.) Ezek után minden alkalmazásban oszlopdiagramot készítünk a gyakoriságokból és egy külön diagramon mutatjuk be az átlagot. Ennek ismertetésétől eltekintünk, minden alkalmazásnak egy kicsit más a lelkivilága, de varázslókkal és tündérekkel segítenek nekünk az egyes lépések végrehajtásában. Ha tehetjük, kapcsoljuk ki az automatikus újraszámítást már a készítés alatt, így gyorsabban dolgozhatunk. Az utolsó lépés az adatok újraszámításának megoldása, a legtöbb táblázatkezelő az Excelt utánozza ebben a tekintetben is és az F9 funkcióbillentyű lenyomására számolja újra a táblázat adatait. Hogy ne kelljen a billentyűzethez nyúlnunk (még virtuálisan se!), készítsük nyomógombot, amire „koppintva” kérhetjük az újraszámítást. Ehhez azonban már kell egy pici programozói véna, igaz nem sok. A nyomógomb esetében egyetlen komolyabb akadályba ütközünk, mégpedig a szükséges utasítást honnan tudhatjuk meg? Egy apró trükk: rögzítsünk egy billentyűzet makrót, amiben semmi mást nem teszünk, csak lenyomjuk az F9 funkcióbillentyűt és a felvett makró szövegébe lessünk bele: ott a válasz. (Vagy egyszerűen rendeljük hozzá a gombhoz a felvett makró lejátszását!) Excel esetében tehát a gombunkhoz tartozó utasítás: Private Sub CommandButton1_Click() Calculate End Sub Ugyanez OpenOffice Calc-ban már lényegesen bonyolultabb: sub Gombnyomas dim document as object dim dispatcher as object document = ThisComponent.CurrentController.Frame dispatcher = createUnoService("com.sun.star.frame.DispatchHelper") dispatcher.executeDispatch(document, ".uno:Calculate", "", 0, Array()) end sub Google Docs-ban ez a lehetőség egyáltalán nincs meg (jelen cikk írásakor), ezért itt egy másik trükköt dobunk be, a véletlenszámok gyártásánál felhasználunk egy speciális Google függvényt, ami kb. kétpercenként frissíti az értékét, így a táblánk is frissülni fog, de az értéket nullával szorozzuk, így a véletlenszámunkat az nem befolyásolja. =RANDBETWEEN(1;6)+0*GoogleFInance("GOOG") ZOHO-ban pedig a képernyőn látható eszköztár segítségével is lehet frissíteni két „koppintással”, így itt nem éri meg elbonyolítani a fejlesztő dolgát. Természetesen még egy gonddal kell szembenéznünk: Excel és Calc táblázataink makrókat tartalmaznak, amik a biztonsági szint alacsonyabbra állítását igénylik.
8. ábra: Frissítés ZOHO Sheet-ben 4. alkalmazás: prezentációkészítő (PowerPoint)
Ahogy a sok számolásról és statisztikáról a táblázatkezelők ugrottak be, úgy a dobókocka megrajzolásáról, az animációról, vezérlő gombok használatáról egy másik felhasználói programcsoport villanhat az eszünkbe, ezek a prezentáció-készítő szoftverek. A dolog nem reménytelen, de persze itt is kell áldozatot hoznunk, könnyen és viszonylag gyorsan összehozhatjuk a szimuláció látványosabb részét (pörgő dobókocka és léptető gomb), de a kimutatások, számítások elvégzése itt nehézkes és magas szintű ismereteket igényel. Mindenesetre mindez jó gyakorlás lesz az animáció készítő szoftverünkhöz, a fejlesztés soksok lépésben szinte megegyezik az ott leírtaknál. Készítsük el az alap diát: egy darab lekerekített sarkú négyzet és 7 darab pötty a dobókockánkhoz, majd ebből diamásolattal összesen hat darab dia, minden dobott értéknek egy.
9. ábra: Egyforma dobókocka minden diára
Az egyes diákról ezek után töröljük le a felesleges pöttyöket, így biztosan teljesen egyforma dobókockákat tudtunk rajzolni.
10. ábra. Minden dia egy dobott érték
A dia sorszáma egyben a dobott értékkel is megegyezik, tehát most már csak egy olyan gombot kell felvennünk a diamintára, amelyik véletlenszerűen átugrik egy másik diára. Ha minden dián beállítunk valamilyen forgásra emlékeztető animációt a megrajzolt dobókockánkra, akkor már egészen kellemes lesz a hatás.
A legnagyobb problémát itt is a nyomógombhoz tartozó utasítás jelenti, nos kellő kitartás és fantázia segítségével a súgóból kinyerhetjük a szükséges információt (mindenképpen valamilyen goto utasítást keressünk, ami a slideshow-ra érvényes): Private Sub CommandButton1_Click() With SlideShowWindows(1).View .GotoSlide (Int((6 * Rnd) + 1)) End With End Sub Bátrabbak megpróbálkozhatnak egy kilépés/bezárás gomb létrehozásával is! Az eredmény kellően látványos, de csak egyesével dobálhatjuk az értékeket és semmilyen statisztika nem készül. Bizonyára lehetne a diamintára egy diagramot is elhelyezni, és a megfelelő értékeket a nyomógomb megnyomásakor változtatni, de jelen mű szerzője nem ismeri ennyire a Visual Basic és a PowerPoint lehetőségeit, a Súgóban pedig nem talált érdemi segítséget a probléma megoldásához, így inkább letett erről a tervéről. 5. alkalmazás: animáció készítés Flash alapokon (KoolMoves)
Ezen írásnak nem célja a fenti szoftver alapos ismertetése, felételezzük, hogy az olvasó rendelkezik alapvető Flash ismeretekkel illetve a fenti szoftvert (vagy egy másik ehhez hasonlót) legalább kezdő szinten tudja kezelni és használni. A bemutatott szimuláció nagyon hasonlóan készül a PowerPoint prezentációhoz, de itt már tudunk egyszerű statisztika számításokat végezni és megjeleníteni, az animáció látványossága pedig csak a befektetett energiánk függvénye, de kis munkával is tudunk térhatású effektet létrehozni. A szoftver, amivel dolgozni fogunk egy funkciókorlátos demó változat, többek között a mentés funkció használhatatlan benne, így egy ültő helyünkben kell elkészíteni az egész szimulációt, mert kilépés után nincs lehetőségünk azt újra betölteni és tovább szerkeszteni. A Flash készítő szoftverekben úgynevezett key frame-ekkel dolgozhatunk, itt helyezzük el az animációnk kezdő és vég állapotait, a köztes lépéseket (tweens) a szoftver készíti el helyettünk. Érdemes itt is a PowerPoint-nál bemutatott trükköt alkalmazni: rajzoljunk meg egy kulcskockát, amin a dobókockánk mind a hét pöttye látható és ezt sokszorosítsuk a kellő példányszámban. Legyen még egy dinamikus szöveg tárolónk is (itt jelenik meg a dobásszám és az átlag) valamint két nyomógomb: az egyik a nullázáshoz (alapbeállítás, kezdőállapot), a másik pedig a dobáshoz.
11. ábra: A közös elemek minden kulcskockán
Ezek után ebből a kulcskockából gyártsunk még le 13 darabot, így összesen 14 db lesz belőle: minden dobásnak kettő és a kezdő állapotnak is kettő. A kulcskockáinkat nevezzük el K0, K1, … K6-nak, hogy a nyomógombunk megtalálja őket az elnevezés alapján, és mindegyiken javítsuk ki a neki megfelelő dobókocka rajzát. Minden elnevezett kulcskocka mögött hagyjunk egy ugyanolyan kinézetűt, a neve érdektelen, ide tesszük majd a stop utasítást. (Azért kell mindenből kettő, mert a KoolMoves nem engedi meg, hogy rögtön az első kockán
megállítsuk a lejátszást, ugyanakkor így szabályozhatjuk a dobott érték megjelenítésének idejét.) Összefoglalva:
12. ábra: Valamennyi kulcskocka a forgatókönyv nézetben
Tehát minden második kulcskocka egyforma, a k0 az alapállapotnak megfelelő képet adja (üres dobókocka), k1 az egyes dobás, k2 a kettes dobás, és így tovább, és mindegyik mögött áll egy vele megegyező, aminek a neve nem érdekes (az ábrán frame 2, frame 4, …) Most minden második képkockára tegyünk egy stop utasítást.
13. ábra: stop utasítások a forgatókönyv nézetben
Ha eddig eljutottunk, akkor már csak a gombok felprogramozása van hátra. A dobás gomb előállít egy véletlenszámot, a neki megfelelő kulcskockára ugrik, a szövegben pedig megjeleníti a dobások darabszámát, és kiszámítja az átlagot.
14. ábra: A dobás gombhoz tartozó utasítások
Az alap feliratú gomb ezzel szemben a k0-ra ugrik és lenullázza a darabszámot valamint az átlagot és kiírja ezt a szövegdobozba is.
on (release) { n=0; x=0; txt1.text="nincs dobás, nincs átlag"; gotoAndPlay("k0"); } Most már csak egy térhatású animáció kell a „dobókockánk” mögé, egy átlátszó négyzet, ami valamilyen 3D-s forgó effektust használva jelenik meg minden képkockán. Természetesen a dobás gomb ezt az alakzatot is le kell hogy játssza (ha az alakzat neve s3, akkor az utasítás: s3.play();) A kész animációt html-be ágyazott swf fájlként ki tudjuk exportálni a KoolMoves-ból, egyetlen korlátozás lesz már csak érvényben: a demó változat vízjelet tesz a háttérbe, egy nagy KM felirat látszik, de ez a munkánkat és a használhatóságot egyáltalán nem befolyásolja. 6. alkalmazás: multimédia szerzői rendszer (MaxMedia Light, Lapoda demó)
Az nem lehet kérdéses, hogy ha egy igazán tetszetős és minden igényt kielégítő multimédiás alkalmazást szeretnénk előállítani, akkor ehhez egy szerzői rendszerre lesz szükségünk. A piac óriási, de kevés az igazán jól használható, laikusok számára is könnyen elsajátítható és nem utolsó sorban olcsó szoftver. Bátran ajánljuk azonban a fenti két szoftvert mindenki figyelmébe: a Lapoda magyar fejlesztés, nagyon részletes magyar súgóval, a MaxMedia ellenben angol nyelven szól hozzánk. Mindkettő funkciókorlátos demó, összesen 10 oldalnyi anyag készíthető velük, de a programozhatóságuk révén ez a korlát alig érezhető. Ugyanakkor bizonyos utasítások nem használhatók a demó verzióban, nos ez már komolyabb megszorítást jelent, főleg a MaxMedia-ban, ott ugyanis néhány égetően fontos utasítást is korlátoztak a készítők. Utóbbi javára szolgál viszont az utasítások paraméterezését segítő varázsló. Mindkét eszközre igaz, hogy programozói tudás nélkül is lehet velük dolgozni és szép, mutatós alkalmazásokat fejleszteni, de igazán látványos bemutatókat létrehozni csak programozással lehet velük. Részletesebben a Lapodával fejlesztett alkalmazásról lesz szó, a MaxMedia Light-tal készített változat gyakorlatilag ezen verzió kistestvére, csak kevesebbet tud az utasítások nagyobb korlátozása miatt. A dobókocka rajzát itt nem a program rajzeszközeivel készítjük el, hanem külön képfájlokban tartjuk, mind a hat állapotot egy-egy külön fájlban.
15. ábra: A dobókocka 6 oldala külön fájlokban
A képfájlokat cserélgetve ugyanis az egész problémát 1 oldalon meg tudjuk oldani, így az egyik funkciókorlátot máris kicseleztük. Természetesen ez azzal jár, hogy többet kell programoznunk, de ez sem lesz annyira megrázó. Az oldal elemei közül csak azokat részletezem itt, amik a működést alapjaiban meghatározzák, a külcsínnel nem sokat foglalkoztam, sem itt az ismertetésben, sem a „kész” produkcióban. A legfontosabbak tehát: kell egy tartóelem a képnek, kellenek gombok: 1 dobáshoz, sok dobáshoz és a lenullázáshoz, és kellenek a grafikonhoz téglalapok, amik a magasságukkal jelzik a gyakoriságot.
16. ábra: Lap elrendezése Lapodában
MaxMediában sajnos az alakzatok méretének beállítása nem engedélyezett a Light változatban, így ott ez kimaradt, mindössze a darabszám és az átlag jelenik meg egy szövegdobozban. Ott számmezőt sem használhatunk, ezért a dobásszám nem állítható, vagy egyszer dobunk, vagy százszor. Egy újabb különbség a képek kezelésében van, itt nem tudjuk váltogatni őket, ezért valamennyi képet feltesszük a lapra, egymás tetejére és a láthatóságukkal fogunk manipulálni, egyszerre csak egy kép lesz látható.
17. ábra: Lap elrendezése MaxMedia Light-ban
Ha az egyetlen dobást elvégző gombot ügyesen programozzuk, akkor a többi már gyerekjáték lesz. Van azonban még egy fontos mozzanat: a grafikon rajzolása. Lapodában hat darab teljesen egyforma téglalapot helyeztünk el a lapon (az ábrán világoszöld színnel látszanak a lap tetején, középen), a nevük hasonló (magas) és számozva vannak 1-től 6-ig, ők fogják jelképezni az egyes kidobott értékek gyakoriságát, egyszerűen csak a magasságukat kell megnövelni adandó alkalommal. Mivel azonban a Lapodában az alakzatok bal felső sarka rögzül, így ha csak a magasságukat növeljük, akkor az egész oszlopdiagram a feje tetejére fog állni. Nos a visszafordítással járó számítás annyit lassítana programunkon, hogy nem érdemes vele foglalkozni, de lelkes fejlesztők persze elbabrálhatnak vele. Ezek után tényleg nem egy nagy durranás az 1 dobás gomb OnClick eseménye Lapodában:
proc OnClick b=rnd(6)+1 n=n+1 fnev="kocka"+b+".jpg" kép1.filename=fnev atlag=float(atlag*(n-1)+b)/n atl.caption=atlag db.caption=n object("magas"+b).height=object("magas"+b).height+1 endproc {OnClick} Magyarázat: b egy véletlenszám 1 és 6 között, n a dobások száma, fnev a megfelelő dobókocka képének fájlneve, az atlag önmagáért beszél, az atl és db egy-egy szöveges címke az átlag és a darabszám kiírásához, az object kezdetű utasítás pedig a megfelelő téglalap magasságát növeli meg. A sok dobást elvégző gomb ugyanezt fogja elvégezni egy for ciklus belsejében, csak a ciklus végét a tízesével léptethető számmező értékéből fogja kiolvasni a szor nevű változóba: proc OnClick szor=számmező1.value for i=1 to szor b=rnd(6)+1 n=n+1 fnev="kocka"+b+".jpg" kép1.filename=fnev atlag=float(atlag*(n-1)+b)/n atl.caption=atlag db.caption=n object("magas"+b).height=object("magas"+b).height+1 endfor endproc {OnClick} Az alapállapot ennek alapján: proc OnClick n=0 atlag=0 atl.caption=atlag db.caption=n számmező1.value=100 for i=1 to 6 object("magas"+i).height=1 endfor endproc {OnClick} Ugyanez a MaxMedia esetében: Az egyetlen dobást megvalósító gomb:
i=1 While (i <= 6) ObjHide("image000"&i,1) i=i+1 EndWhile b = Random(6)+1 ObjShow("image000"&b, 1) x=(x*n+b)/(n+1) n=n+1 ObjSetValue("memo0001", n&" db, átlaga: "&x) Refresh() A 100 dobásos gomb szinte szó szerint ugyanez, csak a dobásokat egy ciklusban ismételjük, és mivel itt nincs for ciklus, ezért azt nekünk kell megoldani: i=1 While (i <= 6) ObjHide("image000"&i,1) i=i+1 EndWhile i=1 While (i <= 100) b = Random(6)+1 ObjShow("image000"&b, 1) x=(x*n+b)/(n+1) n=n+1 i=i+1 ObjSetValue("memo0001", n&" db, átlaga: "&x) Refresh() EndWhile Természetesen itt is van egy kezdőállapot: n=0 x=0 ObjSetValue("memo0001", "0 db, átlaga nincs") i=1 While (i <= 6) ObjHide("image000"&i,1) i=i+1 EndWhile refresh() A lényeg tehát mindösszesen ennyi. Természetesen még lehetne a külcsín fejleszteni, vagy akár egy igazi gyakoriság táblázatot is megjeleníteni, a lényeg nem változik. Minden megoldás közül a Lapodával készül változat lesz az, amiben nem kell kompromisszumokat kötnünk, vagy legalábbis nem sokat (lásd fejen álló diagram), minden tekintetben megfelel annak a követelménynek, hogy a tábláról vezérelhető (minden működik kattintásra, koppintásra) és látványban sem kell, hogy alulmaradjon egy pörgő-forgó flash animációval szemben, igaz erre mi most nem fektettünk különösebb hangsúlyt. Annak ellenére mondhatjuk mindezt, hogy egy funkciókorlátos demó változattal dolgoztunk. Összefoglalás
Az informatikai eszközökben rejlő, szemléltetésre alkalmas lehetőségeket minden oktatónak érdemes kihasználni. Egyre fontosabb, hogy a tanulók figyelmét minél többféle módon próbáljuk meg lekötni. A hagyományos tábla+kréta ideje lejárt, ezek az eszközök ma már
nem elegendőek a diákok érdeklődésének felkeltésére, lekötésére. Szerencsére számtalan új lehetőség van a tananyagok bemutatására, az eszközök között egyre nagyobb szerepe van az interaktív táblával megvalósítható szemléltetésnek. A használatot természetesen ebben az esetben is megelőzi a keresés, az eddigi fejlesztések feltárása, ám a kutatás során a kezdeti lelkesedésünk hamar alábbhagy. A feltárt tananyagok használatát korlátozhatja az idegen nyelv (leggyakrabban angol nyelvű segédanyagokat találhatunk), vagy az előzetes ismeretek szintje. Jelenleg alig találhatunk a felsőbb évfolyamok esetében is használható anyagokat, ugyanis azok tartalma kizárólag az iskolás kor előtti vagy a kisiskolás korosztály számára készültek. Mivel a tananyagot a felnőtt korosztály számára is élvezetesebbé és könnyebben befogadhatóvá kellene tenni, ezért az ő esetükben a tanárnak kreatívabbnak kell lennie. Hogy hogyan? Erre próbáltam meg az előzőekben példákat mutatni. Legyen az egy látszólag alkalmatlan office alkalmazás, vagy egy erősen korlátozott demó program, netán egy más szerző által elkészített átszabható tananyagkonzerv, nagyon sok múlik a tanár akarásán, kitartásán, szemfülességén és az ötletein, no meg persze a ráfordított SZABADIDEJÉN. A fentebb részletezett alkalmazások, fejlesztések mind letölthetők illetve a készítésükről szóló oktatófilmek megtekinthetők a http://lengyelke.byethost2.com/mmo2009 honlapon.