Fortran にも Ruby の method と同じように、 もともと計算が可能になっている関数が定義されている。 これを組み込み関数と呼ぶ。100 × 100 の行列に、 ランダムな数字を入れ、最大と最小の値と位置を調べるプログラムで示す。
program intrin
implicit none
integer, parameter :: n = 100
real(8) s, m1, m2, b(0:n-1,0:n-1)
integer i, j, i1(0:1) ,i2(0:1)
call random_seed
call random_number(b(:,:))
s = 0.0d0
m1 = b(0,0)
m2 = m1
do j = 0, n - 1
do i = 0, n - 1
s = s + b(i, j)
if (b(i,j) < m1) then
m1 = b(i,j)
i1(0:1) = (/i, j/)
end if
if (b(i,j) > m2) then
m2 = b(i,j)
i2(0:1) = (/i, j/)
end if
end do
end do
write(*,*) m1, m2, s, i1(0:1), i2(0:1)
write(*,*) minval(b(0:n-1,0:n-1)), maxval(b(0:n-1,0:n-1)), sum(b)
write(*,*) minloc(b) -1 , maxloc(b) -1
end program intrin
表示している行で使っている組み込み関数が、計算させたものと同じ働きをすることを確かめよう。 配列のみを指定する場合と、配列の要素の範囲を指定する場合がある。
Ruby や C 言語に合わせるため、Fortran の要素のラベルを 0 から開始させていることに注意しよう。 他の言語に合わせる場合は組み込み関数でラベル部分から 1 を引く必要がある。