PROGRAM Ortalama
!--------------------------------------------------------
! 10prg01.f95
! N sayının standart sapması ve ortalamasının
! dinamik dizi ile hesabı.
!--------------------------------------------------------
INTEGER :: N, D, k
REAL, ALLOCATABLE :: X(:)
REAL :: Std_Sap, Toplam, Ort
! eleman saysını belirleniyor
PRINT *,"Eleman sayısını girin:"
READ *,N
! N tane bellek bloğu isteniyor
ALLOCATE(X(N),STAT=D)
! Boş yer varmı sorgulanıyor
IF(D/=0) STOP "Yetersiz bellek Alanı."
! Dizi kullanılıyor
! Aritmetik ortalama hesaplanıyor
PRINT *,"Dizinin elemanlarını girin:"
Toplam = 0.0
DO K = 1, N
READ *,X(K)
Toplam = Toplam + X(K)
END DO
Ort = Toplam/N
! Standart sapma hesaplanıyor
Toplam = 0.0
DO K = 1, N
Toplam = (Ort - X(K))**2
END DO
! bellek bloğu boşaltılıyor
DEALLOCATE(X)
Std_Sap = SQRT(Toplam/(N-1))
PRINT *,"Ortalama : ",Ort
PRINT *,"Standart sapma: ",Std_Sap
END PROGRAM Ortalama