170 LOCATE 10,1:PRINT"Presently, Math Tutor is set to test thestudent at the passing level for each grade(1-6). However, this can be easilyaltered to an intermediate level or to specific areas where tutoring is needed."
180 LOCATE 17,1,1:PRINT "What grade do you want to alter? ";
770 LOCATE 18,1:PRINT"Listed above are the TYPE of problems that are available for each FORMAT. A blank indicates a combination that is not authorized for this grade."
780 LOCATE 23,1,1:PRINT"Press ";CHR$(17);CHR$(196);CHR$(217);" to continue. ";
790 E$=INPUT$(1)
800 IF E$=CHR$(27) GOTO 4600
810 IF E$<>CHR$(13) GOTO 790
820 GOSUB 4540
830 LOCATE 17,1:PRINT" a z a b c e z"
840 LOCATE 18,1:PRINT"+ b - a x b VARPTRSOUNDSOUNDSOUND SOUND ? SOUND = SOUND"
850 LOCATE 19,1:PRINT" SOUNDSOUND SOUNDSOUND SOUNDSOUND aCALL z d f g"
860 LOCATE 20,1:PRINT" z b z (LCDMODa)"
870 LOCATE 22,1:PRINT"The UPPER LIMIT controls a and b of eachproblem. Others depend on a and b."
880 LOCATE 24,1,1:PRINT"Press ";CHR$(17);CHR$(196);CHR$(217);" to continue. ";
890 E$=INPUT$(1)
900 IF E$=CHR$(27) GOTO 4600
910 IF E$<>CHR$(13) GOTO 890
920 GOSUB 4540
930 LOCATE 17,1:PRINT"The program uses a recurring sequence often problem presentations. The first number of each sequence is for problems 1,11,21,etc. The second, for 2,12,etc. "
940 LOCATE 21,1:PRINT"FORMAT sequence " FORM$
950 PRINT"TYPE sequence " TYP$
960 LOCATE 24,1,1:PRINT"Do you want to make a change? (y/n) ";
970 E$=INPUT$(1)
980 IF E$=CHR$(27) GOTO 4600
990 IF E$="n" OR E$="N" GOTO 1430
1000 IF E$<>"y" AND E$<>"Y" GOTO 970
1010 GOSUB 4540
1020 LOCATE 18,2:PRINT "Enter new FORMAT "FORM$
1030 PRINT
1040 LOCATE 20,2:PRINT "Enter new TYPE "TYP$
1050 LOCATE 23,5:PRINT"(To correct an entry, press c)
1060 YAXIS=18:XAXIS=20
1070 FOR I=1 TO 10
1080 LOCATE YAXIS,XAXIS,1
1090 J$(I)=INPUT$(1)
1100 IF J$(I)<>"c" GOTO 1150
1110 IF I=1 GOTO 1090
1120 I=I-1
1130 XAXIS=XAXIS-1
1140 GOTO 1080
1150 IF J$(I)<"1" OR J$(I)>"5" GOTO 1090
1160 PRINT J$(I)
1170 YAXIS=YAXIS+2
1180 LOCATE YAXIS,XAXIS
1190 K$(I)=INPUT$(1)
1200 IF K$(I)<>"c" GOTO 1230
1210 YAXIS=YAXIS-2
1220 GOTO 1080
1230 IF K$(I)<"1" OR K$(I)>"4" GOTO 1190
1240 AJ=VAL(J$(I))
1250 AK=VAL(K$(I))
1260 IF A$(AJ,AK+2)<"+" GOTO 1190
1270 PRINT K$(I)
1280 YAXIS=YAXIS-2
1290 XAXIS=XAXIS+1
1300 NEXT I
1310 FORM$=""
1320 TYP$=""
1330 FOR I=1 TO 10
1340 FORM$=FORM$+J$(I)
1350 TYP$=TYP$+K$(I)
1360 NEXT I
1370 LOCATE 23,1:PRINT STRING$(38,CHR$(32));
1380 LOCATE 23,1,1:PRINT"OK (y/n) ";
1390 E$=INPUT$(1)
1400 IF E$=CHR$(27) GOTO 4600
1410 IF E$="n" OR E$="N" GOTO 1060
1420 IF E$<>"y" AND E$<>"Y" GOTO 1390
1430 GOSUB 4540
1440 LOCATE 18,1:PRINT"Randomly generated problem integers fall between zero and the UPPER LIMIT. Although the upper limit is extendable, it is only advised for the well advancedstudent."
1450 LOCATE 24,1,1:PRINT"Do you want to make a change? (y/n) ";
1460 E$=INPUT$(1)
1470 IF E$=CHR$(27) GOTO 4600
1480 IF E$="n" OR E$="N" GOTO 1950
1490 IF E$<>"y" AND E$<>"Y" GOTO 1460
1500 GOSUB 4540
1510 LOCATE 18,1:PRINT "FORMAT sequence is "FORM$
1520 LOCATE 19,1:PRINT "TYPE sequence is "TYP$
1530 LOCATE 23,1:PRINT "Enter FORMAT Enter LIMIT "
1540 LOCATE 23,14,1
1550 E$=INPUT$(1)
1560 IF E$<"1" OR E$>"5" GOTO 1550
1570 PRINT E$
1580 CHG=VAL(E$)
1590 ON CHG GOSUB 3920,3950,3980,4010,4040
1600 LOCATE 21,23:PRINT "BOUNDS"LBND"-"MBND" ";
1610 YAX=23:XAX=30
1620 FOR I=1 TO 5
1630 LOCATE YAX,XAX
1640 J$(I)=INPUT$(1)
1650 IF J$(I)=CHR$(13) GOTO 1760
1660 IF J$(I)<>"c" GOTO 1710
1670 IF I=1 GOTO 1640
1680 I=I-1
1690 XAX=XAX-1
1700 GOTO 1630
1710 IF J$(I)<"0" OR J$(I)>"9" GOTO 1640
1720 PRINT J$(I)
1730 XAX=XAX+1
1740 NEXT I
1750 IF J$(I)<>CHR$(13) GOTO 1820
1760 Y$=" "
1770 FOR H=1 TO I-1
1780 Y$=Y$+J$(H)
1790 NEXT H
1800 BND=VAL(Y$)
1810 IF BND<MBND+1 AND BND>LBND-1 GOTO 1840
1820 LOCATE 23,30:PRINT STRING$(10,CHR$(32))
1830 GOTO 1610
1840 ON CHG GOSUB 3640,3660,3680,3700,3720
1850 A$=STR$(BND)
1860 LOCATE C(CHG),34:PRINT" "
1870 LOCATE C(CHG),34:PRINT A$;
1880 LOCATE 21,1:PRINT STRING$(39,CHR$(32));
1890 LOCATE 23,1:PRINT STRING$(39,CHR$(32));
1900 LOCATE 23,1,1:PRINT "Another? (y/n) ";
1910 E$=INPUT$(1)
1920 IF E$=CHR$(27) GOTO 4600
1930 IF E$="y" OR E$="Y" GOTO 1530
1940 IF E$<>"n" AND E$<>"N" GOTO 1910
1950 GOSUB 4540
1960 LOCATE 18,1:PRINT"Presently, the program allows "TLIMIT$"response for each problem before it is counted wrong. Pauses between problems are not timed."
1970 LOCATE 23,1,1:PRINT"Do you want to make a change? (y/n) ";
1980 E$=INPUT$(1)
1990 IF E$=CHR$(27) GOTO 4600
2000 IF E$="n" OR E$="N" GOTO 2320
2010 IF E$<>"y" AND E$<>"Y" GOTO 1980
2020 GOSUB 4540
2030 LOCATE 18,1:PRINT"Entries for MINUTES or SECONDS are two digit entries and are limited to a max- imum of 59."
2040 LOCATE 22,1:PRINT "Enter MINUTES Enter SECONDS "
2050 LOCATE 22,15,1
2060 C$=""
2070 FOR I=1 TO 2
2080 E$(I)=INPUT$(1)
2090 IF E$(I)<"0" OR E$(I)>"9" GOTO 2080
2100 PRINT E$(I)
2110 LOCATE 22,16,1
2120 C$=C$+E$(I)
2130 NEXT I
2140 IF C$>"59" OR C$<"00" GOTO 2050
2150 LOCATE 22,32,1
2160 D$=""
2170 FOR I=1 TO 2
2180 E$(I)=INPUT$(1)
2190 IF E$(I)<"0" OR E$(I)>"9" GOTO 2180
2200 PRINT E$(I)
2210 LOCATE 22,33,1
2220 D$=D$+E$(I)
2230 NEXT I
2240 IF D$>"59" OR D$<"00" GOTO 2150
2250 LOCATE 24,1,1:PRINT "OK! (y/n) ";
2260 E$=INPUT$(1)
2270 IF E$=CHR$(27) GOTO 4600
2280 IF E$="n" OR E$="N" GOTO 2040
2290 IF E$<>"y" AND E$<>"Y" GOTO 2260
2300 MID$(TLIMIT$,4,2)=C$
2310 MID$(TLIMIT$,7,2)=D$
2320 GOSUB 4540
2330 LOCATE 18,1:PRINT "Presently, the program is set to grade every"TEST"problems."
2340 LOCATE 21,1,1:PRINT"Do you want to make a change? (y/n) ";
2350 E$=INPUT$(1)
2360 IF E$=CHR$(27) GOTO 4600
2370 IF E$="n" OR E$="N" GOTO 2630
2380 IF E$<>"y" AND E$<>"Y" GOTO 2350
2390 LOCATE 23,1:PRINT"ENTER new limit. (1-1000) "
2400 YAX=23:XAX=27
2410 FOR I=1 TO 5
2420 LOCATE YAX,XAX
2430 J$(I)=INPUT$(1)
2440 IF J$(I)=CHR$(13) GOTO 2550
2450 IF J$(I)<>"c" GOTO 2500
2460 IF I=1 GOTO 2430
2470 I=I-1
2480 XAX=XAX-1
2490 GOTO 2420
2500 IF J$(I)<"0" OR J$(I)>"9" GOTO 2430
2510 PRINT J$(I)
2520 XAX=XAX+1
2530 NEXT I
2540 IF J$(I)<>CHR$(13) GOTO 2610
2550 Y$=" "
2560 FOR H=1 TO I-1
2570 Y$=Y$+J$(H)
2580 NEXT H
2590 TEST=VAL(Y$)
2600 IF TEST>0 AND TEST<1001 GOTO 2630
2610 LOCATE 23,27:PRINT STRING$(5,CHR$(32));
2620 GOTO 2400
2630 CLS
2640 LOCATE 4,1:PRINT"At the completion of the problems, the student is graded and notified of the problems he missed."
2650 LOCATE 8,1:PRINT"After an EXERCISE, the student is given a chance to re-do the missed problems. If he corrects the missed problems, he is given a chance to try a new exercise."
2660 LOCATE 13,1:PRINT"After a TEST, the program pauses until you enter the test code. You may then look at the missed problems and analyze the student's progress."
2670 LOCATE 18,1:PRINT"What do you want to do?"
2680 LOCATE 20,1:PRINT "1. an exercise"
2690 LOCATE 22,1,0:PRINT "2. a test"
2700 E$=INPUT$(1)
2710 IF E$=CHR$(27) GOTO 4600
2720 IF E$<"1" OR E$>"2" GOTO 2700
2730 SEL=VAL(E$)
2740 SEL=SEL+1
2750 CLS
2760 LOCATE 1,1:PRINT"For a set of FORMAT, TYPE, UPPER LIMIT, and GRADE parameters, the program will produce the same set of problems each time it is run."
2770 LOCATE 6,1:PRINT"This program characteristic assures thateach student receives the same test and allows for later analysis by you."
2780 LOCATE 10,1:PRINT "Random numbers used for the problems aregenerated from a SEED. Changing the SEEDproduces a new set of problem variables to further challenge the student."
2790 LOCATE 15,1:PRINT"After the student corrects an EXERCISE, the SEED is incremented by one. However,no incrementing occurs for TESTS."
2800 LOCATE 19,1:PRINT"The present SEED is "BASE
2810 LOCATE 21,1,1:PRINT "Do you want to change the SEED? (y/n) ";
2820 E$=INPUT$(1)
2830 IF E$=CHR$(27) GOTO 4600
2840 IF E$="n" OR E$="N" GOTO 3110
2850 IF E$<>"y" AND E$<>"Y" GOTO 2820
2860 LOCATE 23,1:PRINT"Enter SEED (-32767 to 32767). ";
2870 YAX=23:XAX=31
2880 FOR I=1 TO 7
2890 LOCATE YAX,XAX,1
2900 J$(I)=INPUT$(1)
2910 IF J$(I)=CHR$(13) GOTO 3030
2920 IF J$(I)<>"c" GOTO 2970
2930 IF I=1 GOTO 2900
2940 I=I-1
2950 XAX=XAX-1
2960 GOTO 2890
2970 IF J$(I)="-" OR J$(I)="." GOTO 2990
2980 IF J$(I)<"0" OR J$(I)>"9" GOTO 2900
2990 PRINT J$(I)
3000 XAX=XAX+1
3010 NEXT I
3020 IF J$(I)<>CHR$(13) GOTO 3090
3030 Y$=""
3040 FOR H=1 TO I-1
3050 Y$=Y$+J$(H)
3060 NEXT H
3070 BASE=VAL(Y$)
3080 IF ABS(BASE)<32768 GOTO 3110
3090 LOCATE 23,30,0:PRINT STRING$(8,CHR$(32))
3100 GOTO 2870
3110 CLS
3120 LOCATE 2,1:PRINT "The changes you made will be saved on the disk for later recall."
3130 GOSUB 4190
3140 LOCATE 23,8:INPUT"Name for file? ",SS$
3150 CLS
3160 LOCATE 13,11,0:PRINT"One moment, please!"
3170 ON VAL(E$) GOSUB 4070,4090,4110,4130,4150,4170