!**********************************************************************! ! ! File: gauss5.F (29-Mar-2001) ! ! Numerische Integration der Funktion ! ! f(x) = exp(x) ! ! mit der 5-Punkt Gauss-Legendre Formel ! ! a,b...Intervallgrenzen ! !**********************************************************************! module gauss5_m implicit none public::f contains function f(x) result(y) real,intent(in)::x real::y y=exp(x) end function f end module gauss5_m !**********************************************************************! program gauss5 use gauss5_m implicit none integer,parameter::n=5 real,dimension(n),parameter::w= & (/0.236927,0.478629,0.568889,0.478629,0.236927/) real,dimension(n),parameter::x= & (/-0.90618,-0.538469,0.0,0.538469,0.90618/) integer::i real::a,b,s write(unit=*,fmt="("" a,b="")",advance="no") read(unit=*,fmt=*) a,b s=0.0 do i=1,n s=s+w(i)*f(0.5*(a+b+x(i)*(b-a))) end do s=0.5*(b-a)*s write(unit=*,fmt="("" s="",es14.7,"" ("",es14.7,"")"")") s, & exp(b)-exp(a) stop end program gauss5 !**********************************************************************!