PROGRAM Cevrim
!--------------------------------------------------------
! 07prg04.f95
! Kartezyen-polar çevrimi (iç Subroutine ile)
!--------------------------------------------------------
IMPLICIT NONE

! Prototip
INTERFACE KarPol
   SUBROUTINE KartezyenPolar(X, Y, R, Teta)
    REAL, INTENT(IN) :: X, Y
    REAL, INTENT(OUT) :: R, Teta
   END SUBROUTINE KartezyenPolar
END INTERFACE KarPol


REAL, PARAMETER :: PI = 3.141593
REAL :: X, Y, R, T

   PRINT *,"Bir (x, y) koordinatı girin:"
   READ *, X, Y

   CALL KartezyenPolar(X, Y, R, T)

   T = T * 180.0/PI ! radyanı dereceye çevir

   PRINT *,"(x,y) -> (r,teta) karşılığı = ", R, T

END PROGRAM Cevrim 


! Bildirim
SUBROUTINE KartezyenPolar(X, Y, R, Teta)
REAL, INTENT(IN) :: X, Y
REAL, INTENT(OUT) :: R, Teta

  R = SQRT(x**2+Y**2)
  Teta = ATAN(Y/X)

END SUBROUTINE