【Fortran基礎④】サブルーチンの使い方

Fortran

Fortranでサブルーチンを使う方法を紹介します。

プログラムの単位

Fortranのプログラムはprogram文で始まる主プログラムと、外部副プログラムとモジュールなどがある。

サブルーチンや関数のことを副プログラムと言い、一つ一つの副プログラムが独立したプログラム単位として扱われるように書かれているものを外部副プログラムという。

一方、モジュールという一つのプログラムの中に1つ以上の副プログラムが書かれているものをモジュール副プログラムという。

今回はモジュール副プログラムでのサブルーチン(モジュールサブルーチン)の扱いについて簡単に説明します。

サブルーチンの記述方法

サブルーチンの書き方は次のように書きます。

subroutine サブルーチン名(仮引数1,仮引数2,・・・)
 宣言文
 処理
end subroutine サブルーチン名

モジュールを利用したサブルーチンの書き方の基本は次のようになります。

module モジュール名
 implicit none
 共有する変数を宣言(なくても良い)
 contains
  サブルーチン1(前述のサブルーチンの書き方に従う)
  サブルーチン2
end module モジュール名

主プログラムの記述

モジュールを利用する場合、主プログラム側でモジュールの使用宣言を行う必要があります。

program プログラム名
 use モジュール名
 implicit none
 宣言文
 処理
end program プログラム名

このとき、use文は”implicit none”よりも先に書く必要があります。

サブルーチンの呼び出し方

サブルーチンは、主プログラム中で次のように呼び出します。

call サブルーチン名(実引数1,実引数2,・・・)

実引数と仮引数の関係

主プログラム中でサブルーチンを呼びだす際に指定した実引数の順番と呼び出される側で定義されている仮引数の順番が対応した関係になっています。

対応している引数に対して、次のようなものが注意点として挙げられます。

《一致していなくてもよいこと》
・実引数と仮引数の名称
《一致している必要があること》
・データの型、配列の大きさ、引数の数

おわり

今回は、モジュール副プログラムでのサブルーチンの使い方について紹介しました。

サブルーチンの利用はFortranでは必須だと思いますので参考にしていただけると嬉しいです。

Fortranに関する記事のまとめはこちら

コメント

タイトルとURLをコピーしました