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.