Files
SyncHome/trunk/workspace/Atari/GFABASIC/MATHE.LST
2023-03-13 08:36:51 +00:00

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