みんなが元気でいることを願っています。私は現在、プロジェクトを進めており、いくつかのプログラミング手法を扱うのに苦労しています。
私のプロジェクトを要約すると、PRO/II というシミュレーション ソフトウェアで使用できるように、Fortran でいくつかのコードを変更する必要があります。すべての関数とサブルーチンは既に作成されています。
ただし、コードを PRO/II と互換性を持たせるには、Fortran での入力データ (ユーザー自身による入力) の割り当て方法を変更する必要があります。実際、以前は、ユーザーがテキスト ファイルにデータを入力し、それを fortran サブルーチンが読み取っていました。
しかし、現在では、データはシミュレーション ソフトウェアに直接入力されます。すべての入力データをサブルーチンに記録するコードを書くことができました。しかし、PRO/II でシミュレーションを実行すると、入力データは「メイン サブルーチン」にのみ関連付けられます。メイン サブルーチン以外の関数やサブルーチンから値にアクセスすることはできません。実際、PRO/II はメイン サブルーチンの引数にのみ値を与えます。
そこから、メインサブルーチンから関数を呼び出すと問題ありません。問題になるのは、他の関数またはサブルーチンを呼び出す関数です。私は自分自身をできるだけ明確にしようとします。したがって、サブルーチン X と、次のような多くの関数とサブルーチンがあるとします。
Subroutine X
End Subroutine
Function A(variables)
Uses Functions B and C
End Function
Function B(variables)
Uses Function D and E
End Function
Function C(variables)
Uses functions D and E
End Function
Function D(variables)
End function
Function D(variables)
End Function
Function E(variables)
End Function
したがって、問題は、メイン サブルーチンで計算した値、または Fortran プログラムに送信される PRO/II に入力した値に、関数 D および E からアクセスできないことです。メイン サブルーチンからテキスト ファイルを取得し、さまざまな関数とサブルーチンによって毎回すべての値を読み取ります。しかし、PRO/II でシミュレーションを実行するには時間がかかります。80 個の関数と 20 個のサブルーチンがあり、呼び出されるたびにテキスト ファイルを開いて値を読み取ります。
テキスト ファイルから読み取ることなく、すべての関数とサブルーチンで値を読み取る方法はありますか? つまり、メイン サブルーチンで計算したすべての変数を、プログラム内のすべての関数とサブルーチンに適用する方法はありますか?
私は本当にそれを理解するのに苦労しています。
問題が分からない場合や質問がある場合は、お知らせください。
助けてくれてありがとう。