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