C EXAMP.FOR (VERSION PROVIDED) C THIS PROGRAM PRODUCES A PLOT ON THE TERMINAL C OF AN EXTERNAL FUNCTION, FUN(X,Y) C THE LIMITS OF THE PLOT ARE DETERMINED BY THE DATA STATEMENTS C "STAB" IS FILLED WITH A TABLE OF HEIGHT FLAGS C "STRING" IS USED TO BUILD A LINE OF GRAPH FOR PRINTING SCAL(ZMIN,ZMAX,MAXZ,K)=ZMIN+FLOAT(K-1)*(ZMAX-ZMIN)/FLOAT(MAXZ-1) LOGICAL*1 STRING(13,3),STAB(100) DATA XMIN,XMAX,MAXX/-5,5,45/ DATA YMIN,YMAX,MAXY/-5,5,72/ DATA FMIN,FMAX/0.0,1.0/ CALL SCOPY('- 1 2 3 4 5 6 7 8 9 +',STAB) MAXF=LEN(STAB) DO 20 IX=1,MAXX X=SCAL(XMIN,XMAX,MAXX,IX) CALL REPEAT('*',STRING,MAXY) IF(IX.EQ.1 .OR. IX.EQ.MAXX) GOTO 20 DO 10 IY=2,MAXY-1 Y=SCAL(YMIN,YMAX,MAXY,IY) IFUN=2+INT(FLOAT(MAXF-3)*(FUN(X,Y)-FMIN)/(FMAX-FMIN)) 10 STRING(IY)=STAB(MIN0(MAXF,MAX0(1,IFUN))) 30 CALL PUTSTR(7,STRING,' ') CALL EXIT END FUNCTION FUN(X,Y) R=SQRT(X**2+Y**2) FUN=X*Y*R*EXP(-R))**2 RETURN END