10 CLEAR 500 20 DIM A$(61),X(100),Y(100) 30 PRINT "HERE ARE THE PATTERNS AVAILABLE AT THIS TIME:" 40 PRINT "(1) FLOWER":PRINT "(2) HEART":PRINT "(3) STEEP MOUNTAIN" 50 PRINT "(4) FOUR - POINT STAR":INPUT "WHICH NUMBER";N:IF N<1 OR N>4 THEN PRINT "?WHAT?":GOTO 50 60 ON N GOTO 70,80,90,100 70 DEF FNA(X)=SIN(2*X)+COS(X): DEF FNB(X)=COS(2*X)+SIN(X): L=0:U=6.2:GOTO 110 80 DEF FNA(X)=COS(X)-.5*COS(2*X)-.5: DEF FNB(X)=SIN(X)-.5*SIN(2*X): L=0:U=6.2:GOTO 110 90 DEF FNA(X)=X: DEF FNB(X)=1/6.28318*EXP(-A^2/2): L=-4.9:U=5:GOTO 110 100 DEF FNA(X)=COS(X)^3: DEF FNB(X)=SIN(X)^3: U=0:U=6.2 110 M=0 120 J=36 130 FOR A=L TO U STEP .1 140 M=M+1 150 X(M)=FNA(A) 160 Y(M)=FNB(A) 170 REM FIND MINIMUM AND MAXIMUM 180 IF M<>1 THEN 240 190 X9=X(1) 200 X1=X(1) 210 Y9=Y(1) 220 Y1=Y(1) 230 GOTO 320 240 IF X9>=X(M) THEN 260 250 X9=X(M) 260 IF X1=Y(M) THEN 300 290 Y9=Y(M) 300 IF Y1A2 THEN 620 600 A$(I)="I" 610 GOTO 630 620 A$(I)=" " 630 NEXT I 640 IF J<>A1 THEN 690 650 FOR I=1 TO 60 660 A$(I)="-" 670 NEXT I 680 A$(A2)="+" 690 FOR I=1 TO M 700 IF Y(I)<=(J-.5)/S2 THEN 740 710 K=INT(X(I)*S1+1.5) 720 A$(K)="*" 730 Y(I)=-Y(I) 740 NEXT I 750 V=Y1+J/S2 760 GOSUB 860 770 PRINT TAB(10);"I"; 780 FOR I=1 TO 61 790 PRINT A$(I); 800 NEXT I 810 PRINT 820 J=J-1 830 IF J>=0 THEN 580 840 PRINT B$ 850 GOTO 970 860 REM SUBROUTINE 870 IF V<>0 THEN 900 880 PRINT V; 890 GOTO 960 900 E=INT(LOG(ABS(V))/2.303+.5) 910 IF E>2 THEN 950 920 IF E<-2 THEN 950 930 PRINT INT(V*10^(2-E)+.5)/10^(2-E); 940 GOTO 960 950 PRINT INT(V*10^(1-E)+.5)/10;"E";E; 960 RETURN 970 END 2 THEN 950 930 PRINT INT(V*10^(2-E)+.5)/10^(2-E); 940 GOTO 960 950 PRINT INT(V*10^(1-E)+.5)/10;"E";E; 960 RETURN