!**********************************************************************! ! ! File: riemann.f90 (10-Mar-2006) ! (12-Mar-2007) ! (02-Mar-2008) ! ! Riemannsumme als Approximation des Integrals der Funktion ! ! f(x) = 4/(1+x**2) ! ! a,b...Intervallgrenzen ! n.....Anzahl der Teilintervalle ! s.....Wert des Integrals ! !**********************************************************************! module riemann_m !**********************************************************************! implicit none private public::f contains !**********************************************************************! function f(x) result(y) !**********************************************************************! real,intent(in)::x real::y y=4.0/(1.0+x**2) return end function f end module riemann_m !**********************************************************************! program riemann !**********************************************************************! use riemann_m implicit none integer::i,n real::a,b,dx,s,x write(unit=*,fmt="(a)",advance="no") " a,b,n=" read(unit=*,fmt=*) a,b,n dx=(b-a)/n s=0.0 do i=0,n-1 x=a+i*dx s=s+f(x) end do s=dx*s write(unit=*,fmt=*) "integral=",s end program riemann !**********************************************************************!