chap05/sample8.f90

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

 1program sample
 2  implicit none
 3
 4  integer, parameter :: n = 8
 5  integer, parameter :: m = 10
 6  real(8), parameter :: pi = atan(1.0_8) * 4.0_8
 7
 8  integer :: i
 9
10  real(8) :: x(m), y(m / 2)
11  real(8) :: a(n), b(n), c(n)
12
13  ! 値をセット
14  do i = 1, n
15    a(i) = 2 * pi * real(i - 1, kind=8) / real(n - 1, kind=8)
16  enddo
17
18  do i = 1, m
19    x(i) = real(i, kind=8)
20  enddo
21
22  !
23  ! 配列演算: 適宜コメントアウトするなどして結果を確かめること
24  !
25
26  ! 代入
27  do i = 1, n
28    b(i) = a(i)
29  enddo
30
31  ! 配列演算による代入(上のdoループと同じ)
32  b = a
33
34  write(*, *) 'b = ', b
35
36  ! 演算
37  do i = 1, n
38    c(i) = 0.5_8 * a(i) + cos(b(i))
39  enddo
40
41  ! 配列演算(上のdoループと同じ)
42  c = 0.5_8 * a + cos(b)
43
44  write(*, *) 'c = ', c
45
46  !
47  ! 部分配列と配列演算の組合わせ
48  !
49  y = 2 * x(1:m:2) + 1
50
51  write(*, *) 'y = ', y
52
53  stop
54endprogram sample