1  Z=15
5  REM ***DRILL IN BASIC ALGEBRAIC OPERATIONS***
10  REM   AUTHOR:TIM AARONSON        DATE: 10/5/71
11  DIM T$[18],S$[11],C$[5]
12  S$="0123456789 "
13  S=-1
15  C=E=W=Q=0
100  GOSUB 590
101  A=K1*INT(9*RND(1)+1)
102  N=A
103  GOSUB 550
110  B=K2*INT(9*RND(1)+1)
111  PRINT TAB(2);C$" +";
112  N=B
113  GOSUB 550
120  PRINT C$" = ";
130  GOSUB 500
135  D=S-(A+B)
145  GOSUB 600
150  GOTO INT(Q/25)+1 OF 100,700
200  GOSUB 590
201  A=K1*INT(9*RND(1)+1)
210  B=K2*INT(9*RND(1)+1)
220  N=A+B
221  GOSUB 550
222  PRINT TAB(2);C$" -";
223  N=A
224  GOSUB 550
230  PRINT C$" = ";
240  GOSUB 500
250  D=S-B
260  GOSUB 600
270  GOTO INT(Q/50)+1 OF 200,700
300  GOSUB 590
301  A=K1*INT(10*RND(1))
310  B=K2*INT(10*RND(1))
315  N=A
316  GOSUB 550
317  PRINT TAB(2);C$" X";
318  N=B
319  GOSUB 550
320  PRINT C$" = ";
330  GOSUB 500
340  D=S-(A*B)
350  GOSUB 600
360  GOTO INT(Q/75)+1 OF 300,700
400  GOSUB 590
401  A=K1*INT(10*RND(1))
410  B=K2*INT(9*RND(1)+1)
411  N=A*B
412  GOSUB 550
413  PRINT TAB(2);C$" /";
414  N=B
415  GOSUB 550
420  PRINT C$" = ";
430  GOSUB 500
440  D=S-A
450  GOSUB 600
460  GOTO INT(Q/100)+1 OF 400,700
500  REM ENTER SUBROUTINE
501  S=-99
502  Q=Q+1
505  ENTER Z,U,S
510  IF ABS(U) <= Z THEN 530
520  U=Z
530  E=E+ABS(U)
540  RETURN 
550  REM SUBPROGRAM TO CONVERT NUMBER TO STRING
551  C$="     "
552  T=INT(ABS(N)/10)+1
553  U=ABS(N)-(T-1)*10+1
554  IF T#1 THEN 556
555  T=11
556  IF N >= 0 THEN 562
557  C$[1,2]="(-"
558  C$[3,3]=S$[T,T]
559  C$[4,4]=S$[U,U]
560  C$[5,5]=")"
561  RETURN 
562  C$[3,3]=S$[T,T]
563  C$[4,4]=S$[U,U]
564  RETURN 
590  REM SUBPROGRAM TO GENERATE PLUS/MINUS COEFFICIENTS
591  K1=(-1)^INT(2*RND(1)+1)
592  K2=(-1)^INT(2*RND(1)+1)
593  RETURN 
600  REM SCORER
610  IF D=0 THEN 650
620  W=W+1
630  PRINT "X"
640  RETURN 
650  C=C+1
660  PRINT "C"
690  RETURN 
700  REM FINAL BOOKKEEPING
710  PRINT 
720  N=C
721  GOSUB 550
722  PRINT "YOU GOT "C$" CORRECT AND ";
723  N=W
724  GOSUB 550
725  PRINT C$" WRONG"
726  PRINT 
727  C=W=0
728  GOTO INT(Q/25) OF 200,300,400,730
730  PRINT "DO YOU WANT MORE";
740  INPUT T$
750  IF T$[1,1]="Y" THEN 15
760  PRINT 
770  PRINT "......................................................LATER, MAN"
800  END 
