5  IF  ERROR  THEN 1230
10  DIM N$[36],X$[15],Y$[15],Z$[15]
20  DEF FNA()=INT((-INT(/1000)*1000)*RND(P))+INT(/1000)
30  LET E4=.00001
40  LET T4=15
50  PRINT "ROUND: ROUND-OFF NUMBERS GAMES"
60  REM *** RANDY WONG 27 SEP 73
70  REM *** SUGGESTED BY JUDITH SOKOL
80  PRINT 
81  IF TIM(1)>11 THEN 84
82  PRINT "GOOD MORNING, ";
83  GOTO 90
84  IF TIM(1)>15 THEN 87
85  PRINT "GOOD AFTERNOON, ";
86  GOTO 90
87  PRINT "GOOD EVENING, ";
90  PRINT "DIRECTIONS? (YES/NO) ";
100  INPUT Y$
110  IF Y$[1,1] <> "Y" THEN 260
120  PRINT 
130  PRINT "ROUND IS A GAME OF ROUNDING OFF NUMBERS"
140  PRINT "THE GAME GOES LIKE THIS..."
150  PRINT "FIRST YOU TELL ME HOW LONG I SHOULD WAIT FOR YOUR ANSWERS"
160  PRINT "(ANSWERS TO PROBLEMS I MAKE UP IN ROUNDING-OFF NUMBERS)"
170  PRINT "(THIS IS YOUR 'TIME LIMIT')"
180  PRINT "YOU SCORE BY TYPING IN THE RIGHT ANSWER"
190  PRINT "YOU HAVE TWO CHANCES TO SCORE PER PROBLEM"
200  PRINT "HERE IS HOW I MARK THE ANSWERS:"
210  PRINT 
220  PRINT "C ::= CORRECT IE. YOUR POINT"
230  PRINT "X ::= INCORRECT IE. MY POINT"
240  PRINT "T ::= TIME IS UP IE. YOU TOOK TO LONG IN ANSWERING"
250  PRINT 
260  REM  /PARAMETER INPUT
270  IF LEN(N$) THEN 320
280  PRINT 
290  PRINT "WHAT IS YOUR NAME ?";
300  ENTER #P,255,E2,N$
310  PRINT 
320  PRINT 
330  PRINT "TIME LIMIT (1-10 SEC.) ";
340  INPUT E1
350  PRINT 
360  PRINT "GAME TYPE ? (A.HUNDREDS/B.TENS/C.ONES/D.TENTHS/E.HUNDREDTHS/"
370  PRINT "             F.MIXED/H.HELP) ";
380  INPUT Y$
390  LET Z$="ABCDEF"
400  RESTORE 410
410  DATA 1000,"HUNDREDS",2000,"TENS",3000,"ONES",4000,"TENTHS"
420  DATA 5000,"HUNDREDTHS",1005,"MIXED BAG"
430  FOR Z9=1 TO LEN(Z$)
440  READ P4,X$
450  IF Y$[1,1]=Z$[Z9,Z9] THEN 600
460  NEXT Z9
470  REM  /HELP                                                                
480  PRINT 
490  PRINT "THERE ARE SIX VERSIONS OF ROUND:"
500  PRINT 
510  PRINT "  A. ROUNDING-OFF TO THE NEAREST HUNDRED"
520  PRINT "  B. ROUNDING-OFF TO THE NEAREST TEN"
530  PRINT "  C. ROUNDING-OFF TO THE NEAREST ONE"
540  PRINT "  D. ROUNDING-OFF TO THE NEAREST TENTH"
550  PRINT "  E. ROUNDING-OFF TO THE NEAREST HUNDREDTH"
560  PRINT "  F. MIXED BAG; COMBINATION OF ALL TYPES"
570  PRINT 
580  PRINT "TYPE IN THE LETTER WHICH REPRESENTS THE VARIATION YOU WANT"
590  GOTO 350
600  REM  /PROBLEM GENERATION/RESPONSE/GRADING LOOP
610  PRINT 
620  PRINT "OKAY, "N$"...LET'S GO"
630  LET R=W=T1=T2=T3=P0=0
640  LET T1=T1+1
650  LET P1=FNA(P4)
660  LET P2=INT(2500*RND(P))/10^(P1-1)
670  LET P3=INT((P2/10^(3-P1))+.5)*10^(3-P1)
680  LET Z0=0
690  IF  NOT (P1-P0) THEN 770
700  RESTORE 710
710  DATA "HUNDRED","TEN","ONE","TENTH","HUNDREDTH"
720  FOR Z9=1 TO P1
730  READ Z$
740  NEXT Z9
750  LET P0=P1
760  PRINT "(ROUND-OFF TO THE NEAREST "Z$")"
770  PRINT 
780  PRINT P2
790  PRINT "   *";
800  ENTER E1,E2,E3
810  IF Z0 THEN 920
820  IF E2=-256 THEN 890
830  IF E2<0 THEN 850
840  IF ABS(E3-P3)<E4 THEN 1040
850  PRINT 
860  PRINT "FAULT...SECOND SERVICE"
870  LET Z0=1
880  GOTO 760
890  PRINT " T...SECOND SERVICE"
900  LET Z0=1
910  GOTO 760
920  IF E2=-256 THEN 1000
930  IF E2<0 THEN 950
940  IF ABS(E3-P3)<E4 THEN 1040
950  PRINT LIN(0)" X"
960  GOTO 1060
970  LET W=W+1
980  LET E2=ABS(E2)
990  GOTO 1060
1000  PRINT " T"
1010  LET T2=T2+1
1020  LET E2=E1
1030  GOTO 1060
1040  PRINT "C"
1050  LET R=R+1
1060  LET T3=T3+E2
1070  IF T1<T4 THEN 640
1080  REM  /SUMMARY/RESULTS                                                     
1090  PRINT 
1100  PRINT N$"'S SCORE:"R"AVERAGE:"INT(R/T1*1000+.5)
1110  PRINT "COMPUTER'S SCORE:"W+T2"AVERAGE:"INT((W+T2)/T1*1000+.5)
1120  PRINT 
1130  PRINT "SUMMARY:  RIGHT WRONG T/OUTS TIME G/TYPE"
1140  PRINT  USING "8X,4(6D),2X,15A";R,W,T2,T3,X$
1150  PRINT 
1160  PRINT "ANOTHER GAME ? (YES/NO) ";
1170  INPUT Y$
1180  IF Y$[1,1]="Y" THEN 260
1190  PRINT 
1200  PRINT "GOOD BYE, "N$"...SEE YA 'ROUND"
1210  PRINT 
1220  PRINT "PROGRAM ";
1230  CHAIN R,"*HELP"
1235  SYSTEM X,"BYE"
1240  END 
