210 LOCATE 15,1:PRINT STRING$(40,"_"):PRINT "1) Add same value to both sides":PRINT "2) Subtract same value from both sides"
220 PRINT "3) Multiply both sides by same value": PRINT "4) Divide both sides by same value";:RETURN
230 G$=INPUT$(1):ON G$<>CHR$(13) GOTO 230:RETURN
240 REM Instructions
250 CLS:PRINT "Hi, "N$"."
270 LOCATE 5,1:PRINT "I know two types of problems. The":PRINT :PRINT "easier equations are in the form y=mx+b.":PRINT "The harder equations are in other forms."
280 LOCATE 13,1:PRINT "You may choose either type, or you may":PRINT :PRINT "select a mixture of the two types."
290 GOSUB 20
300 CLS:PRINT "When you begin working on a problem, I":PRINT :PRINT "will print the equation at the top of":PRINT :PRINT "the screen."
310 LOCATE 9,1:PRINT "If the equation is not in the form":PRINT :PRINT "y=mx+b, you will have to solve for y."
320 LOCATE 15,1:PRINT "In a few problems, y may not appear in":PRINT :PRINT "the equation. In these special cases,":PRINT :PRINT "you will solve for x instead of y."
330 GOSUB 20
340 CLS:PRINT "When the equation is in the proper form,":PRINT "you must find three pairs of coordinates":PRINT"in order to plot them on a line. For":PRINT:PRINT"each pair, you will choose the value":PRINT
345 PRINT"of x. I will help you find the":PRINT:PRINT"corresponding value of y.":PRINT:PRINT
350 PRINT "Be sure that x and y are integer":PRINT :PRINT "values between -10 and 10 so that":PRINT :PRINT "the coordinate can be plotted on our":PRINT :PRINT "graph."
360 GOSUB 20
370 CLS:PRINT "When you have chosen three points, your":PRINT :PRINT "last step is to plot them."
380 LOCATE 7,1:PRINT "I will show you a graph. At the center":PRINT:PRINT"of the graph, you will see a flashing X,":PRINT"called the cursor."
390 LOCATE 15,1:PRINT "To plot a point, just move the cursor":PRINT :PRINT "to the correct location, and press":PRINT :POKE &H4E,1:PRINT "ENTER";:POKE &H4E,3:PRINT "."
400 GOSUB 20
410 CLS:PRINT "To move the cursor, use the ";:POKE 78,1:PRINT "I";:POKE 78,3:PRINT ", ";:POKE 78,1:PRINT "J";:POKE 78,3:PRINT ", ";:POKE 78,1:PRINT "K";:POKE 78,3:PRINT ",":PRINT:PRINT "and ";:POKE 78,1:PRINT "M";:POKE 78,3
420 PRINT " keys. If you find these keys and":PRINT :PRINT "notice their positions, it will make"
430 PRINT:PRINT "sense that:":PRINT
440 POKE 78,1:PRINT SPC(5);"I";:POKE 78,3:PRINT " moves the cursor up.":PRINT:POKE 78,1:PRINT SPC(5);"J";:POKE 78,3:PRINT " moves the cursor left.":PRINT :POKE 78,1:PRINT SPC(5);"K";:POKE 78,3:PRINT " moves the cursor right.":PRINT :POKE 78,1
450 PRINT SPC(5);"M";:POKE 78,3:PRINT " moves the cursor down."
460 LOCATE 19,1:PRINT "In case you forget, there is a chart":PRINT:PRINT "next to the graph."
465 GOSUB 20
470 CLS:LOCATE 3,1:PRINT "If you make a mistake plotting a point,":PRINT :PRINT "I will help you. You will be able to":PRINT :PRINT "choose between sound clues and silent":PRINT :PRINT "clues."
475 LOCATE 15,1:PRINT "When you have plotted all three points,":PRINT :PRINT "I will finish the problem by drawing the":PRINT "line through them. That line is the":PRINT :PRINT "graph of the equation."
480 GOSUB 20
485 CLS:LOCATE 5,1:PRINT "After each problem, I will give":PRINT :PRINT "you a summary of your errors."
500 LOCATE 10,1:PRINT "When you finish a set of problems, I":PRINT :PRINT "will give you a total error analysis."
510 GOSUB 20: GOTO 580
520 CLS:LOCATE 10,1:PRINT " Would you like to review the":PRINT :PRINT " instructions (Y or N)? ";:G$=""
530 GOSUB 10000:IF G$="Y" OR G$="y" THEN PRINT CHR$(29)"Y";:GOTO 240
620 GOSUB 10000:IF G$<>"2" THEN 620:ELSE PRINT CHR$(29)G$;:LOCATE 6,1:GOSUB 3970
630 PRINT :PRINT " To isolate the y term, we will":PRINT :PRINT "subtract 8x from both sides.":LOCATE 15,1:PRINT STRING$(40,"_"):PRINT "Subtract from both sides: ":LOCATE 24,13:PRINT "Type <8x>: ";
640 GOSUB 10000:IF G$<>"8" THEN 640:ELSE PRINT CHR$(29)G$" ";:G$=""
650 GOSUB 10000:IF G$<>"X" AND G$<>"x" THEN 650:ELSE PRINT CHR$(29)"x ";
660 LOCATE 6,11:GOSUB 3970:PRINT "8x-8x-2y = -8x+2":PRINT:LOCATE ,9:PRINT "Now we must simplify the equation by":PRINT :PRINT "combining any like terms."
680 GOSUB 10000:IF G$<>"0" THEN 680 ELSE PRINT CHR$(29)G$;
690 LOCATE 8,16:GOSUB 3970:PRINT "-2y = -8x+2":PRINT :PRINT "Now we must set the coefficient of y":PRINT :PRINT "equal to one.":GOSUB 210:LOCATE 24,1:PRINT "Let's use division. Press <4>: ";
700 GOSUB 10000:IF G$<>"4" THEN 700 ELSE PRINT CHR$(29)G$;
710 LOCATE 10,1:GOSUB 3970:PRINT:PRINT "We must divide by -2.":LOCATE 15,1:PRINT STRING$(40,"_");:PRINT:PRINT "Divide both sides by:":LOCATE 24,13:PRINT "Type <-2>: ";
720 GOSUB 10000: IF G$<>"-" THEN 720 ELSE PRINT CHR$(29)G$" ";
730 GOSUB 10000: IF G$<>"2" THEN 730 ELSE PRINT CHR$(29)G$;
740 LOCATE 10,9:GOSUB 3970:PRINT "(-2y)/(-2) = (-8x+2)/(-2)":PRINT :LOCATE 12,1:GOSUB 3970:PRINT:PRINT "Now we must perform the division, term":PRINT :PRINT "by term.":GOSUB 20
810 GOSUB 10000: IF G$<>"-" THEN 810 ELSE PRINT CHR$(29)G$" ";
820 GOSUB 10000: IF G$<>"1" THEN 820 ELSE PRINT CHR$(29)G$;
830 LOCATE 10,22:PRINT "4x-1 ":LOCATE 13,1:GOSUB 3970:PRINT "Nice going, "N$".":PRINT :PRINT "We have solved the original equation":PRINT :PRINT "for y. We're done with the first step.":GOSUB 20
865 LOCATE 16,1:PRINT " Now we must find three points on the":PRINT :PRINT "line represented by this equation. All":PRINT :PRINT "points must be integers between"
870 PRINT :PRINT "-10 and 10.":GOSUB 20:LOCATE 16,1:GOSUB 3970:PRINT:PRINT " To help you out, I will tell you":PRINT :PRINT "what points to choose.":GOSUB 20
880 LOCATE 16,1:GOSUB 3970:PRINT:PRINT "Enter the x coordinate: ":LOCATE 24,13:PRINT "Press <0>: ";
890 GOSUB 10000:IF G$<>"0" THEN 890 ELSE PRINT CHR$(29)G$;
1010 GOSUB 10000:IF G$<>"7" THEN 1010 ELSE PRINT CHR$(29)G$;
1020 LOCATE 12,35:PRINT "7";:LOCATE 14,1:PRINT SPACE$(39):LOCATE 16,1:GOSUB 3970:PRINT:PRINT "That's it, "N$"!":PRINT :PRINT "Now that we've found three points,":PRINT :PRINT "it's time to plot them.":GOSUB 20
2160 'LOCATE 13,23:PRINT "Press ";:DEF SEG:POKE &H4E,1:PRINT "ENTER";:POKE &H4E,3:PRINT " when":LOCATE ,23:PRINT "the cursor is on":LOCATE ,23:PRINT "the right point."
2910 IF NOT MG% THEN FOR ZZ=1-TC% TO TC%-1:LINE(FN HC(ZZ),FN VC(0)-4)-(FN HC(ZZ),FN VC(0)+4),1:LINE (FN HC(0)-4,FN VC(ZZ))-(FN HC(0)+4,FN VC(ZZ)),1:NEXT ZZ:GOTO 2920
2915 FOR ZZ=1 TO TC%: LINE (FN HC(-ZZ),FN VC(TC%))-(FN HC(ZZ),FN VC(-TC%)),1,B:LINE(FN HC(-TC%),FN VC(ZZ))-(FN HC(TC%),FN VC(-ZZ)),1,B:NEXT ZZ
3430 PUT (FN HC(X%)-4, FN VC(Y%)-4), X.MARK#:GOSUB 3480: ON FN R(3) GOTO 3440,3450:PRINT " Good work, ";N$;".":PRINT "You found the right point.":GOTO 3460
3440 PRINT " Brilliant job, ";N$;".":PRINT "That's the point you were looking for.":GOTO 3460
3450 PRINT " Excellent, ";N$;".":PRINT "There's the point you wanted."
3620 FOR P=1 TO 3:CX%=P%(P,1):CY%=P%(P,2):GOSUB 3160:GOSUB 3540:GOSUB 3480:NEXT P
3630 PRINT " Good job, ";N$;". You found all":PRINT "three points. Now it's time to draw theline.":GOSUB 3540:GOSUB 3480
3650 MG%=0:GOSUB 2850:FOR ZZ=1 TO 3:PRESET(FN HC(P%(ZZ,1)),FN VC(P%(ZZ,2))):DRAW "c2"+OBJ.FOU$:NEXT ZZ
3660 GOSUB 3480:PRINT " Okay, ";N$;". Now I'm ready to":PRINT "finish the graph by drawing a line":PRINT "through the three points you plotted.":GOSUB 3540:GOSUB 3480