PROGRAM MYPROG REAL A,B INTEGER N REAL Y(20) REAL X(20) REAL STEP INTEGER iH WRITE(*,*) 'Desired interval, seperated by whitespace: ' READ(*,*) A, B WRITE(*,*) 'Desired number of samples(min 2,max 20): ' READ(*,*) N IF(N.GT.20.OR.N.LT.2) THEN WRITE(*,*) 'Too many samples, try again' READ(*,*) STOP END IF WRITE(*,*) 'OK, ',N,'Samples on interval [',A, ',',B,']' WRITE(*,*) '---Calculating function x*x*sin(pi*x) for all samples---' STEP=(B-A)/(N-1) iH=1 OPEN(11, FILE='output.dat', STATUS='unknown') DO i=1,N,1 X(i)=A+(i-1)*STEP Y(i)=(X(i)*X(i)*sin(X(i)*2*ACOS(0.0)))!3.1415926535897932)) WRITE(*,*) X(i),' has the corresponding value ', Y(i) IF(Y(i).GT.Y(iH)) THEN iH=i ENDIF WRITE(11,*) X(i),Y(i) ENDDO ! CALL SYSTEM('gnuplot -e plot "in.dat" -p') WRITE(*,*) 'The highest value was ', Y(iH),' occurring at x=',X(iH) CLOSE(11) END PROGRAM