1 3REM T W O P L O
  2 8 LET J=0
  3 9 LET P7=0
  4 10 GO TO 620
  5 100 LET Y1=Z
  6 105 LET T=0
  7 110 LET T1=0
  8 115 IF J=0 THEN 125
  9 120 RETURN
 10 125 PRINT
 11 130 PRINT "WHAT ARE  FMIN,FMAX,XMIN,XMAX,DELX";
 12 135 INPUT Q0,Q1,Q2,Q3,Q4
 13 140 LET Q5=(Q1-Q0)/60
 14 145 LET Q6=0
 15 150 LET J=2
 16 155 FOR X = Q2 TO Q3 STEP Q4
 17 160 GOSUB 10
 18 165 IF Q6=0 THEN 315
 19 170 IF Q6 = 20 THEN 185
 20 175 PRINT " . ";
 21 180 GOTO 195
 22 185 PRINT " - ";
 23 190 LET Q6 = 10
 24 195 IF Y > Q1 THEN 305
 25 200 IF Y1>Q1 THEN 305
 26 205 IF Y < Q0 THEN 305
 27 210 IF Y1<Q0 THEN 305
 28 215 LET Q7 = Q0 + 2*Q5
 29 220 LET Z=Q7+0.5*Q5
 30 225 IF T>0 THEN 435
 31 230 IF Z<Y THEN 430
 32 235 IF T1>0 THEN 250
 33 240 IF Z<Y1 THEN 250
 34 245 GOTO 490
 35 250 IF Z-Y>=2*Q5 THEN 280
 36 255 IF Z-Y>=Q5 THEN 270
 37 260 PRINT "  +";
 38 265 GOTO 370
 39 270 PRINT " + ";
 40 275 GOTO 370
 41 280 PRINT "+  ";
 42 285 GOTO 370
 43 290 PRINT "   ";
 44 295 LET Q7= Q7+ 3*Q5
 45 300 GOTO 220
 46 305 PRINT "OFF SCALE.  (X,Y,Z) =";X;",";Y;",";Y1
 47 310 GOTO 380
 48 315 PRINT
 49 320 IF P7=99 THEN 335
 50 325 PRINT
 51 330 PRINT "(NOTE: Y IS PLOTTED '+', Z IS '.', AND 'O' IS COMMON POINT)"
 52 335 PRINT
 53 340 PRINT "FOR X:TOP = ";Q2;" BOTTOM = ";Q3;" INCREMENT = ";Q4
 54 345 PRINT "FOR FCTS:   LEFT = ";Q0;"  RIGHT = ";Q1;" INCREMENT = ";Q5
 55 350 PRINT
 56 355 PRINT "   I.........I.........I.........I.........I.........I.........I"
 57 360 PRINT
 58 365 GOTO 185
 59 370 LET T= 1
 60 375 IF T1=0 THEN 295
 61 380 LET Q6=Q6+1
 62 385 IF INT(Z)>Q1 THEN 395
 63 390 PRINT
 64 395 NEXT X
 65 400 LET P7=99
 66 405 PRINT
 67 410 PRINT
 68 415 PRINT "TYPE 'S' TO STOP NOW, OR ELSE SPECIFY NEW VALUES"
 69 420 PRINT "FOR  FMIN,FMAX,XMIN,XMAX,DELX";
 70 425 GOTO 135
 71 430 IF T1>0 THEN 290
 72 435 IF Z<Y1 THEN 290
 73 440 IF Z-Y1>=2*Q5 THEN 470
 74 445 IF Z-Y1>=Q5 THEN 460
 75 450 PRINT "  .";
 76 455 GOTO 475
 77 460 PRINT " . ";
 78 465 GOTO 475
 79 470 PRINT ".  ";
 80 475 LET T1=1
 81 480 IF T>0 THEN 380
 82 485 GOTO 295
 83 490 IF Z-Y>=2*Q5 THEN 580
 84 495 IF Z-Y>=Q5 THEN 540
 85 500 IF Z-Y1>=2*Q5 THEN 530
 86 505 IF Z-Y1>=Q5 THEN 520
 87 510 PRINT "  O";
 88 515 GOTO 380
 89 520 PRINT " .+";
 90 525 GOTO 380
 91 530 PRINT ". +";
 92 535 GOTO 380
 93 540 IF Z-Y1>=2*Q5 THEN 570
 94 545 IF Z-Y1>=Q5 THEN 560
 95 550 PRINT " +.";
 96 555 GOTO 380
 97 560 PRINT " O";
 98 565 GOTO 380
 99 570 PRINT ".+";
100 575 GOTO 380
101 580 IF Z-Y1>=2*Q5 THEN 610
102 585 IF Z-Y1>=Q5 THEN 600
103 590 PRINT "+ .";
104 595 GOTO 380
105 600 PRINT "+.";
106 605 GOTO 380
107 610 PRINT "O";
108 615 GOTO 380
109 620 PRINT
110 625 PRINT "THIS PROGRAM WILL SIMULTANEOUSLY PLOT TWO FUNCTIONS"
111 630 PRINT "OF A SINGLE VARIABLE X.  TO USE, TYPE:"
112 635 PRINT
113 640 PRINT "   10 LET Y= (THE FIRST FUNCTION OF X)"
114 645 PRINT "   20 LET Z= (THE SECOND FUNCTION OF X AND/OR Y)"
115 650 PRINT "   RUN"
116 655 PRINT
117 660 PRINT "THE FUNCTIONS Y AND Z MAY BE ANY LEGITIMATE 'BASIC'"
118 665 PRINT "EXPRESSIONS.  INTERMEDIATE VARIABLES MAY BE DEFINED"
119 670 PRINT "USING INTERMEDIATE LINES, IF THE FUNCTIONS ARE TOO"
120 675 PRINT "COMPLICATED TO FIT ON ONE LINE."
121 9999 END