10  REM  PROGRAM WRITTEN BY ALEX ATHAS 2/10/77.  ADAPTED FROM
20  REM  PROGRAM USED AT LOS MADANOS JR COLLEGE, BY JUDY SOKOL
30  REM  FOR EDP RESOURCE CENTER, SFUSD.
40  REM  REV. 2/28/77; CRAIG SAUNDERS
50  REM*REV.3/5/77;CRS;
60  REM:  REV. 5/23/77 BY MIKE SCHWEIZER; PACKED FILES & CHANGED NAMES,
70  REM:  ALSO REVISED FILE SELECTION ROUTINE LINES 890, 900.
80  REM MOVED FILES ( ACCUR1 THRU ACCUR9 ) TO A100 . ALAN DE MARTINO 22-DEC-1978
90  FILES *
100  DIM A$[255],B$[80],F$[100],N$[72],P$[11],S$[72],T$[27]
110  DEF FNR()=INT(*RND(TIM(4)))+1
120  F$="ALPHA BALHANDOUBLELEFTY NUMBERPATRNSREACH ROWS  TRANSP"
130  T=TIM(1)
140  IF T>16 THEN 200
150  IF T>11 THEN 180
160  PRINT "GOOD MORNING, ";
170  GOTO 210
180  PRINT "GOOD AFTERNOON, ";
190  GOTO 210
200  PRINT "GOOD EVENING, ";
210  PRINT "WHAT IS YOUR NAME ";
220  INPUT N$
230  PRINT '10'13"DO YOU HAVE A LIST OF AVAILABLE TYPING DRILLS, "N$" (YES/NO)";
240  INPUT H$[1,1]
250  IF H$="Y" THEN 560
260  IF H$="N" THEN 300
270  PRINT "PLEASE TYPE 'YES' OR 'NO'...";
280  LET H$=""
290  GOTO 240
300  RESTORE 300
310  PRINT '10'13
320  FOR I=1 TO 17
330  READ S$
340  IF LEN(S$)<60 THEN 360
350  PRINT 
360  PRINT S$
370  NEXT I
380  DATA "(1)  ALPHA   SENTENCES TO GIVE YOU PRACTICE IN USING ALL THE LETTERS"
390  DATA "             OF THE ALPHABET."
400  DATA "(2)  BALHAN  BALANCED-HAND WORDS AND SENTENCES TO HELP YOU DEVELOP"
410  DATA "             RHYTHM USING ALTERNATE HANDS."
420  DATA "(3)  DOUBLE  A DRILL TO HELP YOU ELIMINATE DOUBLE LETTER"'27'27'27'27
430  DATA "             PROBLEMS."
440  DATA "(4)  LEFTY   ONE-HANDED WORD AND SENTENCE DRILL TO STRENGTHEN"'27
450  DATA "             YOUR RIGHT OR LEFT HAND."
460  DATA "(5)  NUMBER  A DRILL IN BUILDING YOUR CONFIDENCE IN REACHING"'27
470  DATA "             FOR NUMBERS."
480  DATA "(6)  PATRNS  A WORD COMBINATION DRILL OF WORD PATTERNS COMMONLY"
490  DATA "             USED IN TYPING ASSIGNMENTS."
500  DATA "(7)  REACH   PRACTICE YOUR REACHING TECHNIQUES. A DRILL TO PRACTICE"
510  DATA "             REACHING UP AND DOWN AS WELL AS SIDE TO SIDE"
520  DATA "(8)  ROWS    PRACTICE FOR HOME, FIRST, AND THIRD ROW KEYS ONLY."
530  DATA "(9)  TRANSP  PRACTICE TO CORRECT FOR TRANSPOSITION ERRORS. (LETTERS"
540  DATA "             THAT ARE COMMONLY TURNED AROUND)"
550  PRINT '10'13'13
560  PRINT 
570  PRINT "WHICH DRILL WOULD YOU LIKE TO DO (TYPE IN NUMBER OF DRILL 1-9)";
580  INPUT D
590  D=INT(D)
600  IF D>0 AND D<10 THEN 630
610  PRINT "PLEASE TYPE A NUMBER BETWEEN 1 AND 9.";
620  GOTO 560
630  PRINT 
640  PRINT "DO YOU NEED INSTRUCTIONS, "N$;
650  LET H$=""
660  INPUT H$[1,1]
670  PRINT 
680  IF H$="N" THEN 890
690  PRINT '10'13"COPY THE SENTENCE PRINTED BY THE COMPUTER."
700  PRINT 
710  PRINT "WHEN THE SYMBOL * APPEARS, START TYPING."
720  PRINT 
730  PRINT "HIT THE 'RETURN' KEY IMMEDIATELY AFTER YOU COMPLETE THE SENTENCE."
740  PRINT 
750  PRINT "IF YOU TYPE THE SENTENCE CORRECTLY, THE TIME IT TOOK YOU AND THE"
760  PRINT "WORDS PER MINUTE (WPM) WILL BE PRINTED."
770  PRINT 
780  PRINT "TO CORRECT AN ERROR:"
790  PRINT 
800  PRINT "     BEFORE YOU HIT THE 'RETURN' KEY, ENTER 'CTRL H' FOR EACH"
810  PRINT "          CHARACTER YOU WANT ERASED."
820  PRINT "          ENTER 'CTRL X' TO ERASE AN ENTIRE LINE."
830  PRINT 
840  PRINT "IF I FIND AN ERROR AFTER YOU HAVE COMPLETED THE SENTENCE, OR"
850  PRINT "IF YOU RUN OUT OF TIME, YOU MUST RETYPE THE SENTENCE ALL OVER AGAIN!"
860  PRINT 
870  PRINT "I WILL GIVE YOU FIVE SENTENCES"
880  PRINT "AND I WILL GIVE YOU 60 SECONDS TO COMPLETE A LINE."
890  PRINT 
900  PRINT N$", JUST PRESS RETURN WHEN YOU'RE READY."
910  ENTER 255,R,S$
920  IF R<0 THEN 900
930  P$="ACCUR"
940  CONVERT D TO P$[6,6]
950  P$[7]=".A100"
960  ASSIGN P$,1,R
970  IF  END #1 THEN 1020
980  FOR I=1 TO 1.E+06
990  READ #1;A$
1000  NEXT I
1010  STOP 
1020  W=R=S1=T=B=C=A=0
1030  PRINT "OK, "N$" HERE WE GO!"'10
1040  FOR S=1 TO 5
1050  E=0
1060  IF S=1 THEN 1080
1070  PRINT "  HERE'S YOUR NEXT LINE:"
1080  READ #1,1
1090  FOR J=1 TO FNR(I-1)
1100  READ #1;A$
1110  NEXT J
1120  PRINT ">"A$
1130  PRINT "*";
1140  A=0
1150  ENTER 60,A,B$
1160  PRINT '10'13
1170  IF A>0 THEN 1240
1180  IF E THEN 1220
1190  PRINT "SORRY, TIME'S UP. TRY AGAIN."'10'13
1200  LET E=1
1210  LET R=R+1
1220  PRINT "SORRY, TIME'S UP."
1230  GOTO 1520
1240  IF A$=B$ THEN 1310
1250  IF E THEN 1290
1260  PRINT "SORRY, I FOUND AN ERROR!  TRY AGAIN:"
1270  E=1
1280  GOTO 1120
1290  PRINT "SORRY, I FOUND AN ERROR! ";
1300  GOTO 1520
1310  W=W+1
1320  T=T+A
1330  B=720/A
1340  C=C+B
1350  S1=S1+1
1360  GOTO FNR(6) OF 1390,1410,1430,1450,1470
1370  PRINT "VERY GOOD!"
1380  GOTO 1480
1390  PRINT "YOU'RE DOING GREAT, "N$"!"
1400  GOTO 1480
1410  PRINT "BRAVO!"
1420  GOTO 1480
1430  PRINT "TERRIFIC!"
1440  GOTO 1480
1450  PRINT "CORRECT!"
1460  GOTO 1480
1470  PRINT "YOU GOT IT, "N$"!"
1480  PRINT 
1490  PRINT "TIME="A" SECONDS"
1500  PRINT  USING 1510;B
1510  IMAGE "WPM=",DDD
1520  NEXT S
1530  PRINT "WOULD YOU LIKE TO CONTINUE THIS DRILL, "N$;
1540  INPUT A$
1550  IF A$[1,1]="Y" THEN 1020
1560  PRINT "WOULD YOU LIKE TO TRY ANOTHER DRILL";
1570  INPUT A$
1580  IF A$[1,1]="Y" THEN 560
1590  PRINT 
1600  PRINT "THANK YOU FOR DRILLING WITH ME, "N$"! I'M HERE TO SERVE "
1610  PRINT "YOU, SO PLEASE CALL AGAIN. PRACTICE MAKES PERFECT!"
1620  PRINT '13'10'10"RESULTS:"
1630  PRINT '13'10"DRILL "N$" :  "F$[D*6-5,D*6]
1640  PRINT "PERFECT SENTENCES:"W
1650  PRINT "AVERAGE WPM  : "INT((C/W)+.5)
1660  END 
