PROGRAM Cevrim
!--------------------------------------------------------
! 07prg04.f95
! Kartezyen-polar çevrimi (iç Subroutine ile)
!--------------------------------------------------------
IMPLICIT NONE
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

CONTAINS

    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 KartezyenPolar

END PROGRAM Cevrim