program statvett1 integer::i,n real,allocatable,dimension(:)::x,y real:: xmedia,ymedia read(5,*)n allocate (x(n),y(n)) do i=1,n read(5,*) x(i),y(i) enddo xmedia=vmed(x,n) ymedia=vmed(y,n) write(6,*)'xmedia=',xmedia write(6,*)'ymedia=',ymedia write(6,*)'xvar=',varianza(x,xmedia,n) write(6,*)'yvar=',varianza(y,ymedia,n) write(6,*)'xmax=',vmax(x,n) write(6,*)'ymax=',vmax(y,n) write(6,*)'xmin=',vmin(x,n) write(6,*)'ymin=',vmin(y,n) end program statvett1 real function vmed(v,n) integer:: n real ,dimension(1)::v vmed=0 do i=1,n vmed=vmed+v(i) enddo vmed=vmed/n end function vmed real function vmax(v,n) integer:: n real ,dimension(1)::v vmax=v(1) do i=2,n if(vmax < v(i))vmax=v(i) enddo end function vmax real function vmin(v,n) integer:: n real ,dimension(1)::v vmin=v(1) do i=1,n if(vmin > v(i))vmin=v(i) enddo end function vmin real function varianza(v,vmedia,n) integer,intent(in):: n real,intent(in) ,dimension(1)::v real,intent(in) :: vmedia varianza=0 do i=1,n varianza=varianza+(v(i)-vmedia)**2 enddo varianza=varianza/n end function varianza