PROGRAM KomSat
!-------------------------------------------------------
! topla.f95
! Komut satırından girilen sayıların toplamı.
! Kullanımı: topla sayı1 sayı2 ...
!-------------------------------------------------------
IMPLICIT NONE
CHARACTER(LEN=10) :: Arg
INTEGER :: X, I, N, Toplam = 0

  ! Arguman sayısı
  N = COMMAND_ARGUMENT_COUNT()

  ! Argumanları al ve topla
  DO I = 1, N
    CALL GET_COMMAND_ARGUMENT(I,Arg)
    X = KtrTam(Arg)
    Toplam = Toplam + X
  END DO

  PRINT *,"Toplam = ", Toplam

CONTAINS

      ! Bu fonksiyon bir katarı tamsayıya dönüştürür
      INTEGER FUNCTION KtrTam(Katar)
      CHARACTER (*), INTENT(IN) :: Katar

         READ(UNIT=Katar,FMT='(I10)') KtrTam

      END FUNCTION KtrTam

END PROGRAM