module statistics contains real function mean(x,n) implicit none integer , intent(in) :: n real , intent(in) , dimension(:) :: x integer :: i real :: total total=0 do i=1,n total=total+x(i) end do mean=total/n end function mean real function std_dev(x,n,mean) integer , intent(in) :: n real , intent(in) , dimension(:) :: x real , intent(in) :: mean real :: variance variance=0 do i=1,n variance=variance + (x(i)-mean)**2 end do variance=variance/(n-1) std_dev=sqrt(variance) end function std_dev real function median(x,n) integer , intent(in) :: n real , intent(in) , dimension(:) :: x real , dimension(1:n) :: y y=x if (mod(n,2) == 0) then median = ( find(n/2)+find((n/2)+1) )/2 else median=find((n/2)+1) endif contains real function find(k) implicit none integer , intent(in) :: k integer :: l,r,i,j real :: t1,t2 l=1 r=n do while (lj) exit end do if (j