chap03/sample5.f90

サンプルコードのダウンロード

 1program sample
 2  implicit none
 3
 4  ! 4バイトの実数型(一度に複数の変数を宣言することもできる)
 5  real(4) :: a, b, c, d, e
 6
 7  ! 8バイトの実数型
 8  real(8) :: x
 9
10  !
11  ! 四則演算およびべき乗
12  !
13  write(*, *) 'addition       => ', 2.0 + 3.0  ! 足し算
14  write(*, *) 'subtraction    => ', 5.0 - 3.0  ! 引き算
15  write(*, *) 'multiplication => ', 2.0 * 3.0  ! 掛け算
16  write(*, *) 'division       => ', 5.0 / 2.0  ! 割り算
17  write(*, *) 'power          => ', 2.0**3.0   ! べき乗
18
19  !
20  ! 演算の優先順位: べき乗 > 掛け算 =割り算 > 足し算 =引き算
21  ! 可読性のためにも括弧()で明示的に演算の順番が分かるようにしておくほうが良い。
22  !
23  write(*, *) 'w/  parenthesis => ', 2.0 * (2.0 + 3.0)   ! 括弧あり => 10.0
24  write(*, *) 'w/o parenthesis => ', 2.0 * 2.0 + 3.0     ! 括弧なし => 7.0
25
26  !
27  ! 四則演算と代入を同時に
28  !
29  a = 2.0         ! 変数aに代入
30  b = a + 3.0     ! 足し算(a + 3.0)の結果をbに代入
31  c = a - 1.0     ! 引き算 (a - 1.0) の結果をcに代入
32  d = a * b       ! 掛け算(a * b)の結果をdに代入
33  e = a / b       ! 割り算 (a / b)の結果edに代入
34
35  write(*, *) 'substitution   => ', a
36  write(*, *) 'addition       => ', b
37  write(*, *) 'subtraction    => ', c
38  write(*, *) 'multiplication => ', d
39  write(*, *) 'division       => ', e
40
41  !
42  ! 標準入力から値を読み込み変数xに代入
43  !
44  write(*, *)
45  write(*, *) 'Input a real number: '
46  read(*, *) x
47
48  !
49  ! 標準で様々な関数が用意されている
50  ! 以下はほんの一例
51  !
52  ! 平方根     => sqrt(x)
53  ! 絶対値     => abs(x)
54  ! 三角関数   => sin(x), cos(x), tan(x)
55  ! 指数関数   => exp(x)
56  ! 対数関数   => log(x), log10(x)
57  ! 双極関数   => sinh(x), cosh(x), tanh(x)
58  ! 逆三角関数 => asin(x), acos(x), atan(x)
59  !
60  write(*, *) sin(x) ! sin(x)を計算し表示
61  write(*, *) cos(x) ! cos(x)を計算し表示
62
63  stop
64endprogram sample