1! モジュールの定義
2module mod_variable
3 implicit none
4
5 ! 定数の定義
6 real(8), parameter :: light_speed = 2.998e+08 ! 光速 [m/s]
7 real(8), parameter :: kboltzmann = 1.381e-23 ! Boltzmann定数 [J/K]
8 real(8), parameter :: hplanck = 6.626e-34 ! Planck定数 [J s]
9
10 ! 変数
11 real(8), save :: x, y, z
12
13endmodule mod_variable
14
15! メインプログラム
16program sample
17 use mod_variable
18 implicit none
19
20 ! 定数の値は参照のみ可能
21 write(*, '(a20, ":", e12.4)') 'speed of light', light_speed
22 write(*, '(a20, ":", e12.4)') 'Boltzmann constant', kboltzmann
23 write(*, '(a20, ":", e12.4)') 'Planck constant', hplanck
24
25 ! これはできない(コンパイルエラー)
26 !light_speed = 1.0_8
27
28 ! 変数の値は変更可能
29 x = 1.0
30 y = 0.0
31 z = 0.0
32
33 stop
34endprogram sample