10  REM  ** SOLVE * COMP VERSION * R.WONG * 02/09/77 **
20  REM  ** EDP RESOURCE CENTER, 400 MANSELL ST. S.F. CA 94134
30  REM  ** FOR THE H.P. 2000 ACCESS SYSTEM.
40  REM  ** REVISED: 7/10/72 * T.AARONSON * A = 240 TIME FACTOR **
50  REM  ** REVISED: 10/4/77 * P.VIXIE * MULTI-FILE READ **
60  REM  ** REVISED: 12/11/77* P.VIXIE * DESCRIPTION PAGINATION **
70  REM  ** REVISED: 12/11/77* P.VIXIE * COMP ADAPTATION **
80  REM  ** REVISED: 1/13/78 * P.VIXIE * MORE COMP ADAPTATION **
90  REM  ** REVISED: 1/17/78 * P.VIXIE * STILL MORE COMP ADAPTATION **
100  DIM A$[72],B$[32],C$[72],L$[32],L0$[72],L1$[11],N$[32]
110  DIM R$[72],S$[9]
120  R=W=X=T=Q=Y=C0=V=P=0
130  A=240
140  FILES *
150  PRINT "HAVE YOU USED THE 'COMP' SERIES BEFORE ";
160  INPUT B$
170  IF B$[1,1]="Y" THEN 260
180  IF B$[1,1]="N" THEN 210
190  PRINT "PLEASE TYPE IN A "'34"YES"'34" OR A "'34"NO"'34"."'13'10
200  GOTO 150
210  REM  ** INSTRUCTIONS **
220  PRINT '10
230  PRINT "  THE 'COMP' SERIES IS A SET OF NINE LESSONS IN READING"
240  PRINT "COMPREHENSION.  EACH LESSON HAS A SHORT PARAGRAPH, AND "
250  PRINT "THEN SOME QUESTIONS TO ANSWER ABOUT WHAT YOU READ."
260  PRINT '10"WOULD YOU LIKE A DESCRIPTION OF A LESSON";
270  INPUT L0$
280  IF L0$[1,1]="N" THEN 370
290  IF L0$[1,1]="Y" THEN 320
300  PRINT "PLEASE ANSWER "'34"YES"'34" OR "'34"NO"'34"."'10
310  GOTO 260
320  PRINT '10"LIST WHAT LESSON [1-9, 0 FOR ALL] ";
330  INPUT L
340  IF L >= 0 AND L <= 9 AND L=INT(L) THEN 1430
350  PRINT "THAT LESSON IS UNAVAILABLE.  TRY ANOTHER."
360  GOTO 320
370  REM  ** ASSIGN FILE **
380  PRINT '10"WHAT LESSON DO YOU WANT TO DO [1-9] ";
390  INPUT L
400  IF L >= 0 AND L <= 9 AND L=INT(L) THEN 430
410  PRINT "THAT LESSON IS UNAVAILABLE. TRY ANOTHER."
420  GOTO 380
430  L1$="COMP00.A100"
440  IF L>9 THEN 470
450  CONVERT L TO L1$[6,6]
460  GOTO 480
470  CONVERT L TO L1$[5,6]
480  ASSIGN L1$,1,A0
490  IF A0>2 THEN 410
500  REM  ** STARTS HERE **
510  READ #1,1;A,B,C
520  S$="23456789"
530  IF TYP(1)=3 THEN 960
540  READ #1;A$
550  J=2
560  IF A$[1,1]="*" THEN 620
570  IF A$[1,1]="@" THEN 1080
580  IF A$[1,1]="%" THEN 1110
590  PRINT '10A$
600  Q=0
610  GOTO 530
620  IF A$[2,2]="!" THEN 690
630  IF A$[2,2]#"#" THEN 710
640  FOR P=1 TO 8
650  IF A$[3,3]=S$[P,P] THEN 670
660  NEXT P
670  J=4
680  GOTO 710
690  V=1
700  J=3
710  PRINT "*";
720  ENTER A,B,C$
730  PRINT 
740  GOTO 760
750  GOTO 710
760  IF C$="STOP" THEN 960
770  T=T+1
780  IF B=-256 THEN 840
790  IF C$#A$[J] THEN 880
800  R=R+1
810  Q=1
820  GOSUB 1140
830  GOTO 530
840  X=X+1
850  Q=-1
860  PRINT "YOU TOOK TOO LONG, "N$
870  GOTO 900
880  W=W+1
890  Q=-1
900  IF C0=1 THEN 940
910  PRINT "WRONG, "N$"; TRY AGAIN"
920  C0=1
930  GOTO 710
940  GOSUB 1140
950  GOTO 530
960  REM  ** RESULT PRINT-OUT **
970  IF R=0 OR T=0 THEN 260
980  PRINT '10'10'10'10"HERE ARE YOUR RESULTS, "N$":"
990  PRINT "CORRECT:"R
1000  PRINT "INCORRECT:"W
1010  PRINT "TIMED OUTS:"X
1020  PRINT "NO. OF ATTEMPTS:"T
1030  PRINT "RIGHT/ATTEMPTS RATIO"1000*R/T
1040  PRINT '10'10"DO YOU WANT TO TRY AGAIN, "N$;
1050  INPUT A$
1060  IF A$[1,1]="Y" THEN 320
1070  STOP 
1080  IF Q <> -1 THEN 530
1090  PRINT A$[2]
1100  GOTO 530
1110  IF Q <> 1 THEN 530
1120  PRINT A$[2]
1130  GOTO 530
1140  REM  ** ADJECTIVE SUB-ROUTINE **
1150  C0=0
1160  IF V=1 THEN 1320
1170  E=INT(6*RND(0))+1
1180  IF Q=1 THEN 1210
1190  E=E+6
1200  DATA "RIGHT ON!","CORRECT","YEP","MUY BIEN","O.K.","CLEVER!"
1210  DATA "NOPE","NO!NO!NO!NO!NO!","NO WAY","WRONG","NO ES CORRECTO","YECH!"
1220  RESTORE 
1230  FOR Z0=1 TO E
1240  READ R$
1250  NEXT Z0
1260  IF Q=1 THEN 1290
1270  PRINT R$'7" -- THE ANSWER IS "A$[J]
1280  GOTO 1310
1290  CONVERT B TO B$
1300  PRINT '10R$"  (TIME-"B$" SECONDS)"
1310  RETURN 
1320  REM  ** DATA FOR ONE-LINE DESCRIPTIONS **
1330  DATA "COMP01  TELL WHEN TWO DIFFERENT WORDS TELL HOW SOMEONE FEELS"
1340  DATA "COMP02  FIND WHAT WORDS TELL WHEN SOMETHING HAPPENS"
1350  DATA "COMP03  READ A STORY AND THEN TELL THE ORDER THAT THINGS HAPPENED"
1360  DATA "COMP04  CHOOSE WHAT PART OF A STORY TELLS IT'S MAIN IDEA"
1370  DATA "COMP05  FIGURE OUT WHAT A WORD MEANS WHEN YOU'VE NEVER SEEN IT"
1380  DATA "COMP06  SEE HOW WELL YOU CAN SEE WHAT WORDS PEOPLE USE TO GET"
1390  DATA "        WHAT THEY WANT"
1400  DATA "COMP07  TELL WHAT WORDS SOMEONE USES TO MAKE YOU DO SOMETHING"
1410  DATA "COMP08  TELL WHEN ONE THING IS LIKE SOMETHING ELSE"
1420  DATA "COMP09  TELL WHEN SOMETHING MAKES SENSE"
1430  REM  ** DATA PRINT-OUT **
1440  RESTORE 1330
1450  IF L=0 THEN 1580
1460  IF L <= 6 THEN 1480
1470  L=L+1
1480  FOR Z1=1 TO L
1490  READ R$
1500  NEXT Z1
1510  IF L=6 THEN 1650
1520  PRINT '10" #"R$[5]'13'10"DO YOU WANT TO DO #"R$[5,6];
1530  INPUT L$
1540  IF L$[1,1]="Y" THEN 430
1550  IF L$[1,1]="N" THEN 260
1560  PRINT "YES OR NO PLEASE"'10
1570  GOTO 1520
1580  PRINT '10
1590  FOR L1=1 TO 10
1600  READ R$
1610  PRINT R$
1620  NEXT L1
1630  PRINT '10
1640  GOTO 370
1650  PRINT '10" #"R$[5]
1660  READ R$
1670  PRINT "  "R$[5]'13'10'10"DO YOU WANT TO DO #06";
1680  GOTO 1530
1690  END 
