chap06/sample1.f90

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

 1program sample
 2  implicit none
 3
 4  character(128) :: fmt
 5  character(128) :: text
 6  integer :: year = 2014
 7
 8  real(8) :: x, y, z
 9
10  ! 6桁で出力
11  write(*, '(i6)') year
12
13  ! 編集記述子を文字型変数として渡す
14  fmt = '(i6)'
15  write(*, fmt) year
16
17  ! 8桁で出力. ただし6桁に満たない部分は0で埋められる
18  write(*, '(i8.6)') + year
19
20  ! 負の整数の場合
21  write(*, '(i8.6)') - year
22
23  x = 4.0_8 * atan(1.0_8)
24  y = x * 2
25  z = x**2
26
27  write(*, '(f12.5)') x
28  write(*, '(e20.7)') x
29
30  ! これは正しく出力されない
31  write(*, '(f5.3)') x * 10
32  write(*, '(e5.3)') x
33
34  ! そのまま出力
35  write(*, '(a)') 'I Love Fortran'
36
37  ! 30文字幅で右寄せ
38  write(*, '(a30)') 'I Love Fortran'
39
40  ! 6文字分(最初の6文字だけ表示される)
41  write(*, '(a6)') 'I Love Fortran'
42
43  ! 複数の記述子を並べる
44  write(*, '(e10.3, e10.3, e10.3)') x, y, z
45
46  ! 文字列および改行を使う
47  write(*, '("x = ", e10.3, /, "y = ", e10.3, /, "z = ", e10.3)') x, y, z
48
49  ! 出力後に改行しない
50  write(*, fmt='(a)', advance='no') 'Input some text : '
51
52  ! 改行まで文字を読み込む
53  read(*, '(a)') text
54
55  write(*, *) 'text = ', text
56
57  stop
58endprogram sample