Fortran90プログラムの中で何度も利用される処理がある場合は、副プログラムとしてまとめておくと便利です。副プログラムを利用することで、プログラム全体の見通しを良くすることができます。fortranの副プログラムには、関数(function)とサブルーチン(subroutine)がありますが、この記事ではこれらを順に説明します。記事の最後にサンプルプログラムを掲載しています。スポンサーリンク関数の記述ルール関数は以下のように定義します。関数1・関数は整数型や実数型などの型宣言する必要があります。・関数やサブルーチンに受け渡される変数のことを引数と言います。・intent(in)は入力用引数を意味します。・関数の最後に、関数内の処理によって得られた値を関数1に代入します。(この値を戻り値といいます)メインプログラムからは、以下のように関数を利用します。mainサブルーチンの記述ルールサブルーチンは以下のように定義します。サブルーチン1・intent(out)は出力用引数を意味します。intent(inout)の場合は入出力用引数を意味します。・上の例では、1つの変数が出力用引数となっていますが、サブルーチンでは出力用引数の数に制限はありません。(2以上でも0でもかまわない)メインプログラムからは、以下のようにcall文によってサブルーチンを利用します。main*出力用引数の数に制限がないので、サブルーチンのほうが汎用性は高いですが、関数は、y=f(x)のような、数学に近い表記ができるメリットがあるため、用途に応じて使い分けて下さい。副プログラムのちょっとしたtipstipsを以下に列挙します。バグの出にくいプログラムを書くときに役に立つと思うので、頭の片隅に置いておいて下さいね。・メインプログラムと副プログラムの引数の型は一致させましょう。間違わないよう引数の型宣言はコピペしましょう。・intent(in)やintent(out)による引数の記述方法を使いましょう。入力用引数の値を副プログラム内で変えてしまった、などのバグを発見することができます。サンプルプログラムサンプルプログラムを下記します。4-8行目は変数の型宣言、10-12行目は変数に初期値を代入、16-19行目は関数とサブルーチンを使用した配列の和・最小・最大の計算と出力です。Fortran90では同じ計算を組込み関数を用いて行うことができます。21-23行目は組込み関数による計算と出力です。28-37行目は配列の和を求める関数の定義、41-55行目は配列の最小・最大を求めるサブルーチンの定義です。以下のFortranプログラムをコピペし、****.f90の名前で保存して下さい(****の部分は適当でいいです)。コピペが面倒な場合は、こちらからダウンロードして下さい(右クリックメニューから保存)。minmax_x使い方は、前記事と同様に、****.f90を以下の****.batにドラッグ&ドロップするだけです。comp_exe_32.batこんな画面が出たでしょうか?出ていれば正常終了です。10-12行目の値を変えて、色々試してみて下さい。コメントをキャンセルメールアドレスが公開されることはありません。インド株、タイ株、ロシア株など。自作プログラムを用いて日本株のシステムトレードを実践しています。