3.4 モジュール関数

関数はサブルーチンと類似しているが,通常,仮引数はintent(in)であり(引数は値の受け取りのみで,戻り値なし),関数が返す値は単一の変数である.実行文中に組み込み関数と同様に,直接関数を記述することができ,サブルーチンのようにcallする必要がなく,式の中で数学の「関数」のように使える.

module モジュール名
implicit none  ! 未定義変数を避けるおまじない
contains
function 関数名(仮引数,・・・) result(関数が返す変数)  ! 仮引数はintent(in)のみとする
   ....
end function 関数名
end module モジュール名

3.5 配列を引数とする方法

配列を引数とする方法には「形状明示仮配列」を用いる方法と「形状引き継ぎ仮配列」を用いる方法がある.初心者は「形状明示仮配列」を使用するのがよい.これさえ使いこなせれば普通は十分である.

リスト3.6に取り組む

random_number(a(:,:))は2次元配列の全要素に0から1の乱数を設定する組み込み関数である.random_number(a(:,:))はrandom_number(a)と書いても同じ.いずれも配列aの実引数は全要素であることを意味する.

リスト3.7に取り組む

これはリスト3.6の内,配列要素の値を出力する部分をサブルーチン化したものである.

リスト3.12に取り組む

主プログラムは省略されているが,リスト3.11と同様である.

リスト3.15に取り組む

リスト3.17に取り組む これは出さなくてかまいません