! 例題 9-2 角度をラジアンに変換 [ユーザー定義関数モジュール ] MODULE fnc IMPLICIT NONE REAL, PARAMETER :: pi = 3.1415926E0 INTERFACE deg2rad ! 総称名 MODULE PROCEDURE edeg2rad, ideg2rad ! 個別名 END INTERFACE CONTAINS ! 読み込む変数が実数型の場合 FUNCTION edeg2rad( deg ) RESULT ( rad ) IMPLICIT NONE REAL, INTENT ( IN ) :: deg REAL :: rad rad = deg * 2E0 * pi / 360E0 END FUNCTION edeg2rad ! 読み込む変数が整数型の場合 FUNCTION ideg2rad( deg ) RESULT ( rad ) IMPLICIT NONE INTEGER, INTENT ( IN ) :: deg REAL :: rad rad = REAL( deg ) * 2E0 * pi / 360E0 END FUNCTION ideg2rad END MODULE fnc ! Main文 PROGRAM ex9_2 USE fnc, ONLY : deg2rad IMPLICIT NONE ! 読み込む変数が整数の場合 PRINT '( 1X, 1P, E10.3 )', deg2rad( 300 ) ! 読み込む変数が実数の場合 PRINT '( 1X, 1P, E10.3 )', deg2rad( 300E0 ) END PROGRAM ex9_2