86 lines
1.6 KiB
Plaintext
86 lines
1.6 KiB
Plaintext
$m50000 ' reserve 50000 (or whatever) bytes of memory for accessory
|
|
ap_id&=APPL_INIT()
|
|
IF ap_id&<>0
|
|
me_id&=MENU_REGISTER(ap_id&," Mathe Probe ")
|
|
DO
|
|
~EVNT_MESAG(0)
|
|
IF MENU(1)=40 AND MENU(5)=me_id&
|
|
@accessory
|
|
ENDIF
|
|
LOOP
|
|
ENDIF
|
|
PROCEDURE accessory
|
|
CLS
|
|
iterazioni=0
|
|
maxiter=20
|
|
DIM risposte(maxiter)
|
|
FOR a=0 TO maxiter
|
|
risposte(a)=0
|
|
NEXT a
|
|
DO
|
|
x=RAND(91)
|
|
y=RAND(91)
|
|
segno=RAND(2)
|
|
IF segno=1
|
|
IF x<y
|
|
SWAP x,y
|
|
ENDIF
|
|
s$="-"
|
|
risultato=x-y
|
|
ELSE
|
|
s$="+"
|
|
risultato=x+y
|
|
IF risultato>100
|
|
y=100-x
|
|
risultato=100
|
|
ENDIF
|
|
ENDIF
|
|
PRINT " Quanto fa ";x;s$;y;
|
|
INPUT ris
|
|
IF ris=risultato
|
|
PRINT " OK!"
|
|
risposte(iterazioni)=1
|
|
ELSE
|
|
PRINT " Errore!!"
|
|
risposte(iterazioni)=2
|
|
ENDIF
|
|
PRINT
|
|
iterazioni=iterazioni+1
|
|
IF iterazioni MOD 6=0
|
|
CLS
|
|
ENDIF
|
|
LOOP WHILE iterazioni<maxiter
|
|
PRINT
|
|
PRINT " --- Risultati ---"
|
|
PRINT
|
|
PRINT " ";
|
|
giuste=0
|
|
sbagliate=0
|
|
FOR a=0 TO maxiter
|
|
IF risposte(a)=1
|
|
PRINT "V";
|
|
giuste=giuste+1
|
|
ELSE IF risposte(a)=2
|
|
PRINT "x";
|
|
sbagliate=sbagliate+1
|
|
ELSE
|
|
PRINT " ";
|
|
ENDIF
|
|
NEXT a
|
|
PRINT
|
|
PRINT
|
|
PRINT " Hai calcolato ";giuste;" operazioni giuste"
|
|
PRINT
|
|
PRINT " Hai commesso ";sbagliate;" errori"
|
|
PRINT
|
|
PRINT " Hai ottenuto ";giuste;"/";maxiter;" punti"
|
|
PRINT
|
|
voto=INT(sbagliate*10/maxiter)+1
|
|
IF voto>6 THEN
|
|
voto=6
|
|
ENDIF
|
|
PRINT " hai meritato il voto: ";voto
|
|
REPEAT
|
|
UNTIL MOUSEK
|
|
RETURN
|