1  REM  ***  HP TIME-SHARED BASIC PROGRAM LIBRARY  ***********************
2  REM
3  REM          36129:  DRILL  (A801)  REV A -- 9/71
4  REM          BASIC ARITHMETIC DRILL
5  REM
6  REM  ***  CONTRIBUTED PROGRAM  ***************************************
9  Z=5
10  REM  AUTHOR: TIM AARONSON     DATE: 4/15/71
11  DIM T$[18],S$[11],C$[2]
13  S=-1
15  C=E=W=0
20  PRINT "DO YOU WANT DRILL IN ADDITION,SUBTRACTION,"
30  PRINT "MULTIPLICATION, OR DIVISION (TYPE WHAT YOU WANT)";
40  INPUT T$
50  IF T$[1,1]="A" THEN 100
60  IF T$[1,1]="S" THEN 200
70  IF T$[1,1]="M" THEN 300
80  IF T$[1,1]="D" THEN 400
90  PRINT "JUST TYPE IN YOUR CHOICE BY 'A',  'S',  'M',  OR 'D'."
95  GOTO 40
100  A=INT(9*RND(1)+1)
101  N=A
102  GOSUB 550
110  B=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(E/30)+1) OF 100,700
200  A=INT(9*RND(1)+1)
210  B=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(E/30)+1) OF 200,700
300  A=INT(10*RND(1))
310  B=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(E/30)+1) OF 300,700
400  A=INT(10*RND(1))
410  B=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(E/30)+1) OF 400,700
500  REM ENTER SUBROUTINE
503  S=-99
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  S$="0123456789 "
552  T=INT(N/10)+1
553  U=N-(T-1)*10+1
554  IF T#1 THEN 556
555  T=11
556  C$[1,1]=S$[T,T]
557  C$[2,2]=S$[U,U]
558  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 IN 30 SECONDS OF SUPERDRILL"
726  PRINT 
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 
