10 CLS 20 PRINT "COORDINATE PLOT" 30 PRINT 40 DIM X(100),Y(100) 50 PRINT "X-AXIS: LEFT ENDPOINT, RIGHT ENDPOINT, INCREMENT"; 60 INPUT A1, A2, A3 70 PRINT "Y-AXIS: LOWER ENDPOINT, UPPER ENDPOINT, INCREMENT"; 80 INPUT B1,B2,B3 90 B2=(B2-B1)/B3 100 IF B2<=60 THEN 130 110 PRINT "Y-RANGE TOO LARGE" 120 GOTO 70 130 PRINT "NUMBER OF POINTS TO BE PLOTTED"; 140 INPUT N 150 IF N=0 THEN 1080 160 IF N<=99 THEN 190 170 PRINT "TOO MANY POINTS" 180 GOTO 130 190 FOR I=1 TO N 200 IF I>1 THEN 230 210 PRINT "COORDINATES OF POINT ";I; 220 GOTO 240 230 PRINT " POINT ";I; 240 INPUT X(I), Y(I) 250 X(I)=INT((X(I)-A1)/A3+.5) 260 Y(I)=INT((Y(I)-B1)/B3+.5) 270 NEXT I 280 Y(N+1)=INT(B2+.5)+1 290 X(N+1)=INT((A2-A1)/A3+.5)+1 300 PRINT 310 PRINT "INTERSECTION OF AXES AT (";A1;",";B1;")" 320 PRINT 330 FOR J=1 TO N 340 FOR I=1 TO N-J 350 A=X(I) 360 B=Y(I) 370 C=X(I+1) 380 D=Y(I+1) 390 IF A=0 THEN 500 490 NEXT P 500 FOR I=0 TO INT((A2-A1)/A3+.5) 510 T=T+P 520 P=0 530 IF T>N THEN 550 540 IF X(T)=I THEN 600 550 IF I=0 THEN 580 560 PRINT "*"; 570 GOTO 1050 580 S=N+1 590 GOTO 930 600 FOR L=T TO N 610 IF X(L)>X(T) THEN 630 620 P=P+1 630 NEXT L 640 IF P=1 THEN 740 650 FOR J=1 TO P 660 FOR L=1 TO P-J 670 D=Y(T+L-1) 680 B=Y(T+L) 690 IF D<=B THEN 720 700 Y(T+L-1)=B 710 Y(T+L)=D 720 NEXT L 730 NEXT J 740 FOR L=0 TO P-1 750 Z=Y(T+L) 760 IF Z>=0 THEN 780 770 NEXT L 780 IF I=0 THEN 920 790 IF Z=0 THEN 810 800 PRINT "*"; 810 IF L=P-1 THEN 880 820 FOR J=L TO P-1 830 IF Z>B2 THEN 1050 840 IF Y(T+J)=Z THEN 870 850 PRINT TAB(1+Z);"+"; 860 Z=Y(T+J) 870 NEXT J 880 IF Z<0 THEN 1050 890 IF Z>B2 THEN 1050 900 PRINT TAB(1+Z);"+"; 910 GOTO 1050 920 S=T+L 930 FOR J=0 TO B2 940 IF Y(S)<>J THEN 1020 950 PRINT "+"; 960 FOR K=S TO T+P-1 970 IF Y(K)=Y(S) THEN 1000 980 S=K 990 GOTO 1030 1000 NEXT K 1010 GOTO 1030 1020 PRINT "*"; 1030 NEXT J 1040 PRINT "Y"; 1050 PRINT 1060 NEXT I 1070 PRINT "X" 1080 END