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