100' NAME--GRAPH1 110' 120' DESCRIPTION--PLOTS A GRAPH OF A FUNCTION. THE Y-AXIS IS THE 130' LINE X=A, WHERE A IS THE MINIMAL X-VALUE IN THE GIVEN DOMAIN. THE 140' X-AXIS IS THE LINE Y=B WHERE B IS THE MINIMAL Y-VALUE IN THE 150' IN THE RANGE OF THE FUNCTION OVER THE GIVEN DOMAIN. 160' THE X-AXIS RUNS VERTICALLY AND THE Y-AXIS HORIZONTALLY SO THAT 170' THE GRAPH MUST BE TURNED ON ITS SIDE. THERE IS AN OPTION 180' OF PRINTING THE X-VALUES NEXT TO THE GRAPH (WHICH 190' WOULD MAKE THE GRAPH ITSELF SMALLER). THERE IS THE OPTION 200' OF SPECIFYING THE RANGE OF Y-VALUES (THAT IS, THE MINIMAL Y-VALUE 210' WHCIH IS TO BE IN THE GRAPH, AND THE MAXIMAL Y-VALUE). 220' IF THE LATTER OPTION IS NOT TAKEN, THE FUNCTION "FILLS" THE 230' THE GRAPH. THE OPTION MAY BE TAKEN IF, FOR EXAMPLE, THE USER 240' DESIRED A GRAPH FROM Y=0 TO Y=1, WHEN FOR THE GIVEN X-RANGE 250' THE FUNCTION DOES NOT ATTAIN THESE VALUES. THUS, THE "REAL" X-AXIS 260' IS DRAWN. IF THE SPECIFIED MINIMAL Y-POINT IS Y=0. ALSO, IF THE 270' Y-VALUE OF SOME POINT FALLS OUTSIDE THE SPECIFIED RANGE, THE 280' POINT IS NOT PLOTTED. 290' 300' SOURCE--RONALD FAGIN '67 310' 320' INSTRUCTIONS--THE FUNCTION IS DEFINED IN LINE 400 AS FNF(X). 330' FULL INSTRUCTIONS WILL BE GIVEN WHEN "RUN" IS TYPED. 340' 350' 360' * * * * * * * MAIN PROGRAM * * * * * * * * * * 370' 400 DEF FNF(X)=SIN(X) 410 DEF FNG=INT((FNF(X)-L1)*S1/(R1-L1)+.5) 420 PRINT "IF YOU HAVE NOT YET DEFINED THE FUNCTION, TYPE 'STOP', DEFINE" 430 PRINT "THE FUNCTION IN LINE 400 AS FNF(X), AND THEN TYPE 'RUN'." 440 PRINT 450 PRINT 460 PRINT "WHAT IS THE LEFT X-ENDPOINT, RIGHT X-ENDPOINT, AND" 470 PRINT "X-SPACING"; 480 INPUT L,R,D 490 PRINT 500 PRINT "DO YOU WANT X-VALUES PRINTED NEXT TO THE GRAPH"; 510 INPUT A$ 520 PRINT 530 IF A$="YES" THEN 590 540 IF A$="NO" THEN 570 550 PRINT "INCORRECT ANSWER. PLEASE TYPE EITHER 'YES' OR 'NO'." 560 GOTO 510 570 LET S1=60 580 GOTO 610 590 LET S1=45 600 LET Z=15 610 PRINT "DO YOU WANT TO SPECIFY THE Y-RANGE"; 620 INPUT B$ 630 IF B$="NO" THEN 710 640 IF B$="YES" THEN 670 650 PRINT "INCORRECT ANSWER. PLEASE TYPE EITHER 'YES' OR 'NO'." 660 GOTO 620 670 PRINT 680 PRINT "WHAT IS THE BOTTOM Y-ENDPOINT, AND TOP Y-ENDPOINT"; 690 INPUT L1,R1 700 GOTO 820 710 LET R1=L1=FNF(L) 720 FOR X=L TO R STEP D 730 IF FNF(X)>L1 THEN 750 740 LET L1=FNF(X) 750 IF FNF(X)1E-5 THEN 1190 1180 LET X=0 1190 PRINT X, 1200 IF FNG=0 THEN 1250 1210 PRINT "+"; 1220 IF FNG>0 THEN 1270 1230 PRINT 1240 GOTO 1310 1250 PRINT "*" 1260 GOTO 1310 1270 IF FNG<=S1 THEN 1300 1280 PRINT 1290 GOTO 1310 1300 PRINT TAB(FNG+Z);"*" 1310 NEXT X 1320 PRINT TAB(Z);"X" 1330 END