1 CLR:REM NUMERATOR-DENOMINATOR 1/20/88 10 POKE53280,0:POKE53281,0 15 A1=1 17 C1$="[164][157]" : C2$=" [157]" : C%=0 : I$="" : NO% = 0 20 DIMS(9),S$(11),SE$(11),NU$(10,3),SH$(4,2) 100 GOSUB4000:PRINTCHR$(14) 105 GOSUB10000 110 GOSUB3700 120 H=0:V=10:TX$="[196]O YOU NEED A LESSON? " 130 GOSUB3200 140 LO=0:GOSUB2100:PRINTA$ 150 IFA$="Y"ORA$="[217]"THENGOSUB20000:GOTO 160 151 IF A$="N" OR A$="[206]" THEN 160 152 GOTO 120 160 GOSUB5000 165 RU=1 170 GOSUB1000 172 PRINT CHR$ (14):GOSUB 3700:IFOP<>3THEN191 174 GOSUB3700 176 GOSUB500 190 GOSUB 3700 191 H=0:V=10:TX$="[196]O YOU WANT TO PLAY AGAIN? " 200 GOSUB3200 210 LO=0:GOSUB2100:PRINTA$ 220 IFA$="Y"ORA$="[217]"THEN160 221 IF A$="N" OR A$="[206]" THEN 230 222 GOTO 191 230 CLR:POKE53269,0:LOAD"MENU",8 240 STOP 300 RW=INT(RND(1)*6)+1:RW$=RW$(RW) 310 FORL=1TO4:V=24:H=1:TX$=" ":GOSUB3200 330 TX$=CHR$(CO(L))+RW$+CHR$(5):GOSUB3000:GOSUB3200:DELAY=.5:GOSUB2000:NEXTL 340 RETURN 500 V=10:H=0:TX$="[217]OU GOT"+STR$(NP-MI)+" RIGHT OUT OF"+STR$(NP)+" PROBLEMS" 501 PRINT CHR$(14) 510 GOSUB3200 540 V=12:TX$="FOR "+STR$(INT(((NP-MI)/NP)*100))+"%." 545 GOSUB3200 550 DELAY=7:GOSUB2000 560 RETURN 1000 REM *** CENTRAL ROUTINE *** 1005 HP=0:MI=0 1007 PRINT"[147]" 1010 FORI=1TONP 1030 GOSUB3600 1040 GOSUB30000 1066 V=24:TX$="  TO CONTINUE, <_> TO EXIT[146]" 1067 GOSUB3000:GOSUB3200 1068 LO=0:GOSUB2100 1069 IFA$="_"THEN SA=I:I=NP 1070 NEXT I: IF SA<>0 THEN NP=SA 1080 RETURN 2000 REM *** TIMER *** 2010 TI$="000000" 2015 GETA$:IFA$<>""THEN2030 2020 IFTI/60HITHEN2110 2130 RETURN 2499 REM **** REMOVE LEADING SPACES **** 2500 L=LEN(SP$):IFLEFT$(SP$,1)<>" "THENGOTO2520 2510 L=L-1:SP$=RIGHT$(SP$,L) 2520 RETURN 3000 REM *** CENTER TEXT *** 3010 LN=LEN(TX$) 3020 H=(40-LN)/2 3030 RETURN 3100 V=24:TX$=" <[210][197][212][213][210][206]> TO CONTINUE[146]" 3110 GOSUB3000:GOSUB3200 3120 LO=0:GOSUB2100 3130 IFA$<>CHR$(13) THEN 3100 3140 RETURN 3200 REM *** HOR/VER TAB *** 3210 VT$="":FORQ=1TOV 3220 :VT$=VT$+"" 3230 NEXTQ 3240 PRINT"";VT$; 3250 PRINTTAB(H);TX$; 3260 RETURN 3500 REM *** LINE ACROSS SCREEN *** 3510 PRINT""; 3520 FORQ=1TO40 3530 :PRINT"[192]"; 3540 NEXTQ 3575 PRINT""; 3580 RETURN 3600 REM *** PRINT SCREEN HEADER *** 3610 PRINT"[147]" 3630 TX$="VISION SOFTWARE PRESENTS:" 3640 H=10 3650 V=1:GOSUB3200 3660 TX$=T$ 3665 PRINT""; 3670 H=10 3680 V=3:GOSUB3200 3685 PRINT""; 3690 PRINT:GOSUB3500:RETURN 3700 REM *** PRINT SCREEN HEADER *** 3710 PRINT"[147]" 3740 H=10:TX$="[214][201][211][201][207][206][160][211][207][198][212][215][193][210][197] PRESENTS:" 3750 V=1:GOSUB3200 3760 TX$="[206]UMERATORS AND [196]ENOMINATORS" 3765 PRINT""; 3770 H=10 3780 V=3:GOSUB3200 3785 PRINT""; 3790 PRINT:GOSUB3500:RETURN 4000 REM *** READ DATA *** 4005 READT$ 4010 FORI=1TO6 4020 :READRW$(I) 4030 NEXTI 4040 FORI=1TO3 4050 :READOP$(I) 4060 NEXTI 4070 FOR I=1 TO 4: READ CO(I) 4071 NEXT I 4080 FORI=1TO9:FORJ=1TO3:READNU$(I,J):NEXTJ:NEXTI 4090 FORL=1TO4:FORY=1TO2:READSH$(L,Y):NEXTY:NEXTL 4098 RETURN 4100 REM *** PROGRAM DATA *** 4110 DATA"NUMERATORS AND DENOMINATORS" 4120 DATA"GREAT!","FANTASTIC!","SUPER!" 4130 DATA"YOU'RE REALLY GOING NOW!","YES! YES! YES!","THAT'S GREAT!" 4140 DATA"[211]EE EXAMPLES DONE." 4150 DATA"[196]O PROBLEMS WITH HELP." 4160 DATA"[196]O PROBLEMS YOURSELF." 4170 DATA 30,28,31,158 4180 DATA" [174] "," [221] "," [177][160]" 4190 DATA"[213][195][201]","[213][195][203]","[173][195][189]" 4200 DATA"[213][195][201]"," [195][179]","[202][195][203]" 4210 DATA"[221] [221]","[173][195][179]"," [221]" 4220 DATA"[176][195][174]","[173][195][201]","[202][195][203]" 4230 DATA"[213][195][201]","[171][195][201]","[202][195][203]" 4240 DATA"[176][195][174]"," [221]"," [221]" 4250 DATA"[213][195][201]","[171][195][179]","[202][195][203]" 4260 DATA"[213][195][201]","[202][195][179]","[202][195][203]" 4270 DATA"[206][205]","[205][206]","[207][208]","[204][186]" 4280 DATA"[206][205]","[204][186]","[186][204]","[208][207]" 5000 REM *** SETUP FOR MATH *** 5001 IFRU=1THEN5030 5005 TX$=" ":V=10:H=0:GOSUB3200 5010 IFRU=1THEN5037 5015 TX$=" ":V=10:H=0:GOSUB3200 5020 H=0:V=7:TX$="[215]HAT'S YOUR FIRST NAME? ":GOSUB3200 5022 MX%=20:I$="":GOSUB60000:NF$=I$:IFNF$=""THEN5020 5025 H=0:V=9:TX$="[215]HAT'S YOUR LAST NAME? ":GOSUB3200 5027 MX%=20:I$="":GOSUB60000:NL$=I$ 5030 V=12:H=0:TX$="[215]OULD YOU LIKE TO: ":GOSUB3200 5040 H=7:V=14:FORI=1TO3 5050 :TX$=STR$(I)+". "+OP$(I):GOSUB3200 5080 V=V+1:NEXTI 5090 V=18:H=0:TX$="[217]OUR CHOICE? (1-3) " 5100 GOSUB3200 5110 LO=1:HI=3:GOSUB2100:PRINTA$ 5120 OP=A:HI=20 5130 IFOP=1THENHI=5 5150 V=21:H=0:TX$="[200]OW MANY PROBLEMS DO YOU WANT" 5160 GOSUB3200 5170 V=22:TX$="TO DO? (1 -"+STR$(HI)+") [157][157]" 5180 GOSUB3200 5190 MX%=2:NO%=1:I$="":GOSUB60000:NP=VAL(I$) 5200 IFNPHITHEN NP=0 :GOTO5170 5390 RETURN 10000 REM *** DO SPRITEY THINGS *** 10001 FOR I=704 TO 767 10002 READX:POKEI,X 10003 NEXT 10004 POKE2040,11 10005 POKE53269,PEEK(53269)OR1 10006 POKE53287,2:POKE53277,255:POKE53271,255 10007 POKE53248,30:POKE53249,58 10008 RETURN 10009 DATA252,252,252,121,249,248,51,243,240 10010 DATA7,231,224,15,207,192,7,159,128 10011 DATA3,63,0,0,126,0,0,252,0 10012 DATA0,120,0,0,48,0,0,0,0 10013 DATA0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 14999 RETURN 20000 REM *** INFO INFO INFO *** 20001 GOSUB3700:V=6 20002 READN 20003 FORI=1TON 20004 :READTX$ 20005 :IFTX$="PAGE"THENGOSUB 3100:GOSUB 3700:V=6 :GOTO20009 20006 :H=2:IFMID$(TX$,10,1)="[163]"THENV=V+1:GOSUB3200:GOTO20008 20007 :V=V+2:GOSUB3200 20008 :DELAY=.5:GOSUB2000 20009 NEXTI:N=0:RETURN 20011 DATA35 20012 DATA"[204]EARN TO FIND THE NUMERATOR AND" 20013 DATA"DENOMINATOR OF COMMON FRACTIONS" 20014 DATA"WITH ME!" 20015 DATA"[212]HERE ARE THREE WAYS TO USE THE" 20016 DATA"PROGRAM:"," 1) [211]EE EXAMPLES DONE" 20017 DATA" 2) [196]O PROBLEMS WITH HELP" 20018 DATA" 3) [196]O PROBLEMS YOURSELF" 20019 DATA"PAGE" 20020 DATA" 1) [211]EE EXAMPLES DONE" 20021 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20022 DATA"[201]F YOU WANT TO SEE EXAMPLES DONE," 20023 DATA"[201] WILL SHOW YOU HOW TO DO THEM," 20024 DATA"EXPLAINING EACH STEP AS [201] GO." 20025 DATA"PAGE" 20026 DATA" 2) [196]O PROBLEMS WITH HELP" 20027 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20028 DATA"[212]O DO PROBLEMS WITH HELP, [201] WILL" 20029 DATA"GIVE YOU A HINT FOR EACH STEP," 20030 DATA"AND HELP YOU IF YOU MAKE MISTAKES." 20031 DATA"PAGE" 20032 DATA" 3) [196]O PROBLEMS YOURSELF" 20033 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20034 DATA"[212]HE THIRD OPTION IS TO WORK PROBLEMS" 20035 DATA"ON YOUR OWN. [198]OR THIS OPTION," 20036 DATA"YOU MAY NEED PENCIL AND PAPER." 20037 DATA"PAGE" 20038 DATA" [206]UMBER OF [208]ROBLEMS" 20039 DATA" [163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]" 20040 DATA"[204]AST, YOU DECIDE HOW MANY PROBLEMS" 20041 DATA"TO DO. [201]F YOU LET THE COMPUTER DO" 20042 DATA"THE WORK, YOU MAY ONLY HAVE 5" 20043 DATA"PROBLEMS; OTHERWISE YOU MAY HAVE" 20044 DATA"FROM 1 TO 20 PROBLEMS." 20045 DATA"PAGE" 30000 REM **** SEE EXAMPLES DONE **** 30010 CC$=CHR$(159):CW$=CHR$(5):CR$=CHR$(CO(INT(RND(1)*4)+1)) 30020 FORL=1TO2:I(L)=INT(RND(1)*9)+1:NEXTL 30030 I(3)=I(1):IFI(1)>I(2)THENI(3)=I(2) 30040 I(4)=I(2):IFI(1)>I(2)THENI(4)=I(1) 30050 I(5)=INT(RND(1)*4)+1 30060 I3$=STR$(I(3)):I4$=STR$(I(4)) 30070 PRINTCHR$(142):GOSUB32000 30080 GOSUB32000 30100 TX$="LOOK AT THE FRACTION:":V=6:H=1:GOSUB3200 30150 FORL=1TO3:TX$=NU$(I(3),L):V=9+L:H=30:GOSUB3200:NEXTL 30170 TX$="[162][162][162][162][162]":V=14:H=29:GOSUB3200 30190 FORL=1TO3:TX$=NU$(I(4),L):V=15+L:H=30:GOSUB3200:NEXTL:DELAY=1:GOSUB2000 30200 REM ****TEST FOR 1 SET IS/ARE**** 30210 T1$="ARE":T2$="SHAPES":IFI(3)=1THENT1$="IS":T2$="SHAPE" 30230 T3$="ARE":T4$="PARTS":IFI(4)=1THENT3$="IS":T4$="PART" 30300 VT=9:H=5:FORJ=1TOI(4) 30310 V=VT:FORL=1TO2:TX$=SH$(I(5),L):V=V+1:GOSUB3200:NEXTL 30320 H=H+5:IFH=20THENVT=VT+3:H=5 30330 NEXTJ 30400 VT=9:H=5:FORJ=1TOI(3) 30410 V=VT:FORL=1TO2:TX$=CR$+SH$(I(5),L)+CW$:V=V+1:GOSUB3200:NEXTL 30420 H=H+5:IFH=20THENVT=VT+3:H=5 30430 NEXTJ 30450 ONOPGOTO30500,31000,31300 30500 TX$="THERE "+T3$+" "+I4$+" "+T4$+" IN THE WHOLE.":V=22:H=1:GOSUB3200 30510 DELAY=2:GOSUB2000 30520 TX$=" ":V=22:H=1:GOSUB3200 30530 TX$="THE FRACTION MEANS"+I3$+" OF THE"+I4$+" "+T4$+".":V=22:H=1:GOSUB3200 30540 DELAY=2:GOSUB2000 30550 TX$=" ":V=22:H=1:GOSUB3200 30560 TX$="THE DENOMINATOR IS"+I4$+".":V=22:H=1:GOSUB3200:DELAY=2:GOSUB2000 30570 TX$="DENOMINATOR":V=20:H=26:GOSUB3200 30580 TX$=" ":V=22:H=1:GOSUB3200 30610 TX$="THERE "+T1$+I3$+" COLORED "+T2$+".":V=22:H=1:GOSUB3200 30620 DELAY=2:GOSUB2000 30630 TX$=" ":V=22:H=1:GOSUB3200 30640 TX$="THE NUMERATOR IS "+I3$+".":V=22:H=1:GOSUB3200 30650 TX$=CR$+"NUMERATOR"+CW$:V=8:H=27:GOSUB3200 30660 FORL=1TO3:TX$=CR$+NU$(I(3),L)+CW$:V=9+L:H=30:GOSUB3200:NEXTL 30700 RETURN 31000 REM **** OP 2 **** 31010 TX$="WHAT IS THE DENOMINATOR ?":V=22:H=1:GOSUB3200:DELAY=2:GOSUB2000 31030 GOSUB2100:TX$=A$:H=27:GOSUB3200:IFA=I(4)THENGOSUB300:GOTO31100 31050 TX$=" ":V=22:H=0:GOSUB3200 31060 TX$="THERE "+T3$+" "+I4$+" "+T4$+" IN THE WHOLE.":V=22:H=1:GOSUB3200 31070 DELAY=2:GOSUB2000 31080 TX$="DENOMINATOR":V=20:H=26:GOSUB3200 31100 FORV=22TO24:TX$=" ":H=0:GOSUB3200:NEXTV 31110 TX$="WHAT IS THE NUMERATOR ?":V=22:H=1:GOSUB3200 31120 GOSUB2100:TX$=A$:H=27:GOSUB3200:IFA=I(3)THENGOSUB300:RETURN 31150 TX$=" ":V=22:H=0:GOSUB3200 31160 GOTO30610 31190 RETURN 31300 REM **** OP 3 **** 31310 TX$="WHAT IS THE DENOMINATOR ?":V=22:H=1:GOSUB3200 31320 GOSUB2100:TX$=A$:A1=A:H=27:GOSUB3200 31330 TX$="WHAT IS THE NUMERATOR ?":V=23:H=1:GOSUB3200 31340 GOSUB2100:TX$=A$:A2=A:H=27:GOSUB3200 31350 IFA1=I(4)ANDA2=I(3)THENGOSUB300:RETURN 31360 FORL=1TO3:TX$=" ":V=20+L:H=1:GOSUB3200:NEXTL 31370 TX$="LET ME SHOW YOU THIS ONE.":V=21:H=1:GOSUB3200:DELAY=2:GOSUB2000 31380 TX$=" ":GOSUB3200 31390 MI=MI+1:GOTO30500 32000 TX$=CC$+"[182][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][181]":V=8:H=2:GOSUB3200 32010 FORL=1TO10:TX$="[182] [181]":V=V+1:GOSUB3200:NEXTL 32020 TX$="[182][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][181]"+CW$:V=V+1:GOSUB3200 33000 RETURN 60000 : 60010 : REM INPUT ROUTINE 60020 : 60030 L%=LEN(I$) : C%=0 60040 PRINT I$; C1$; : POKE 198,0 60050 : 60060 GET G$ 60070 IF G$="" THEN C%=C%+1 : IF C%>20 THEN PRINT C1$; : C%=0 : GOTO 60060 60080 IF G$="" THEN IF C%>10 THEN PRINT C2$; : GOTO 60060 60090 IF G$="" THEN 60060 60100 : 60110 : REM RETURN KEY 60120 : 60125 IF G$<>CHR$(13) THEN 60150 60130 IF NO%=1 THEN NO%=0 60140 PRINT " " : RETURN 60150 : 60160 : REM DEL KEY 60170 : 60180 IF G$<>CHR$(20) THEN 60230 60190 IF L%=0 THEN 60060 60200 PRINT"[157] [157][157]";C1$; 60210 L% = L%-1 : I$=LEFT$(I$,L%) 60220 GOTO 60060 60230 : 60240 : REM ADD A KEY 60250 : 60260 IF L%>=MX% THEN 60060 60262 IF NO%=0 THEN 60270 60263 IF (G$<"0" OR G$>"9") AND G$<>"." AND G$<>"-" THEN 60060 60264 GOTO 60290 60270 IF (G$<" " OR G$>"[218]") THEN 60060 60280 IF (G$>"_" AND G$<"[193]") THEN 60060 60290 I$=I$+G$ : L%=L%+1 60300 PRINT G$; C1$; : C%=0 60310 GOTO 60060 60320 :