program main !
!
implicit none !
character(len=30)::input,output ! DEFINE INPUT-OUTPUT FILE NAMES VARIABLES
character(len=*),parameter::formx="(f15.6,f15.6)" ! DEFINE FORMAT AS A VARIABLE
real::c1,c2,c3,xmin,xmax,xstep,x,y ! DEFINE COEFFICIENTS,XMIN,XMAX,XSTEP and Y
integer::i !
!
print *, "<inputfile>:" ! INPUT: INPUTFILE NAME
read *,input !
open (unit = 2, file =input,status="old") ! OPEN INPUT FILE FOR READING
!
read (2,*) c1,c2,c3,xmin,xmax,xstep ! READ COEFFICIENTS FROM INPUT FILE
write(unit=*,fmt=*) c1,c2,c3 ! WRITE COEFFICIENTS TO CONSOLE
!
print *, "<Outputfile>" ! INPUT: OUTPUTFILE NAME
read *,output !
open (unit = 3, file = output,status="unknown") ! OPEN or CREATE OUTPUT FILE FOR WRITING
!
i=0 !
do !
x=xmin + i*xstep ! INCREASE X, BY STEPSIZE
if (x>xmax) then ! LOOP UNTIL X .GE. [GREAT OR EQUAL] XMAX
exit !
end if !
y=c1*x**2 + c2*x + c3 ! CALCULATE Y, TO CORRESPONDING X VALUES
write(unit=3,fmt=formx) x,y ! WRITE X AND Y TO CONSOLE
write(unit=*,fmt=formx) x,y ! WRITE X AND Y TO OUTPUTFILE
i=i+1 !
end do !
!
end program main !