Király Gyula: Programozás Quick-Basic nyelven
|
16. lecke OKTATÓPROGRAM ÍRÁSA
Az eddig elsajátított Quick Basic ismereteink alkalmasak arra, hogy segítségével oktatóprogramokat írhassunk. Ezek az egyszerű programok alkalmasak arra, hogy a felhasználó a géppel folytatott párbeszéde közben elsajátítson, gyakoroljon bizonyos ismereteket. Ezeknek a programoknak a lényege: · egyszerű felépítés, · könnyű kezelés, · a hibák számolása, · tévesztés esetén a helyes válasz megadása, · az eredmény összegzése, · értékelés megjelenítése. A következőkben bemutatom egy oktatóprogram tervezését, majd a terv megvalósítását.
CÉL: Készítsünk egy olyan programot, amely a szorzótábla gyakoroltatására alkalmas! Tegyen fel véletlenszerűen 10 kérdést, kérje be a választ, döntse el, hogy a válasz helyes-e. Ha helyes, jelezze, hogy jó a válasz, ha nem helyes, jelezze a hibát és írja ki a jó eredményt. A program végén számolja össze a hibákat, és jeggyel értékelje a teljesítményt.
A PROGRAM VÁZLATA: Hibaszám = 0 Ciklus 1-től 10-ig Cím kiírása Kérdés kiírása A és b két véletlen szám előállítása 1-től 10-ig Véletlen számok felírása a kérdésben Válasz bekérése Válasz értékelése Ha jó, kiírni: Jó a válasz! Különben kiírni: tévedtél, jó válasz ez Hiba számának növelése 1-gyel. Várakozás ENTER-re Ciklus következő értéke Ciklus vége Hibák összegzése Eredmény kiírása Értékelés megadása Kérdés: Akarsz-e újat? Igen ® elölről Nem ® vége
Látható, hogy a programocska elkészítéséhez csaknem minden eddigi ismeretünket fel kell használnunk. A továbbiakban a program nyers vázást megadom, grafikai ismereteinket alkalmazva lehet bővíteni, szépíteni. A program a következőképpen működik: A SCREEN 7 utasítással 320 * 200-as grafikus képernyő használatát indítom el, hogy ezáltal a karakterek nagyobbak és jobban láthatók legyenek. A hiba = 0 utasítással a hibaszámlálót lenulláztam. A program minden hiba esetén ennek a változónak az értékét növel eggyel (hiba = hiba + 1), így a program végén ennek a változónak a tartalmát kiíratva, megkapjuk az összes hibák számát. A program fő része egy FOR-NEXT ciklusban kapott helyet, amelyet 10-szer futtatunk (FOR = 1 TO 10). A két összeszorzandó számot (a és b) két egymástól függetlenül futó véletlen szám generátorral készítem, mivel az összeszorzandó számot 1-10-ig terjednek, ennek a formája: a = INT(RND * 10) +1. A RANDOMIZE TIMER utasítás gondoskodik arról, hogy a véletlen számok tényleg véletlenek legyenek. Ezután egy INPUT utasítással bekérjük a két szám szorzatát (sz). Ha az sz változóba beírt szám értéke azonos a*b-vel, a válasz jó. Ellenkező esetben (ELSE) hibaüzenetet írunk ki, 1 másodperces hangjelzést generálunk és a hibák értékét növeljük. A program továbbfutásának feltétele, ha ENTER-t ütünk. Ehhez egy olyan INPUT-ot használok, amelyben a c$ változó értékét két egymás mellé írt idézőjel jelenti. Ez ENTER-t jelent. Vagyis. Ekkor fog továbbfutni a program (a 10. címkétől, amely egy üres sor). A NEXT proba sor hatására a ciklus folytatódik. Ha elértük a 10. kérdést, a ciklus befejeződik és lefut az összegzés: kiírjuk a hibák számát. Ezután a hibák számától függ, hogy milyen értékelés jelenik meg a képernyő alsó sorában. Ehhez néhány IF… THEN utasítást alkalmaztam. A program végén a már ismert módon eldöntjük, hogy folytassuk-e a számolást, vagy kilépjünk.
|