PROGRAM KomSat
!-------------------------------------------------------
! topla2.f95
! Komut satırından girilen iki sayının toplamı.
! Kullanımı: topla2 sayı1 sayı2
!-------------------------------------------------------
IMPLICIT NONE
CHARACTER(LEN=10)  :: Arg1, Arg2
INTEGER :: N, a, b

  ! Arguman sayısı
  N = COMMAND_ARGUMENT_COUNT()

  IF(N /= 2) STOP "Eksik veya fazla parametre"

  CALL GET_COMMAND_ARGUMENT(1,Arg1) ! 1 inci arguman
  CALL GET_COMMAND_ARGUMENT(2,Arg2) ! 2 nci arguman

  ! Argumanları tam sayıya çevir
  A = KtrTam(Arg1)
  B = KtrTam(Arg2)

  PRINT *,"Toplam = ", A+B

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