Fortranを使用してます。
DO文で副プログラムをループさせて増やしたいのですが、どうすればいいか分りません。
具体的には、副プログラムの「SUBROUTINE」文+サブルーチン名 であるサブルーチン名の後にループを使って番号を付けたいのですが・・・
簡易なイメージとして以下のソースでtest0、test1、test2、・・・・・test10となるようなサブルーチン名にしたいのです。
do x=0,10
SUBROUTINE test+x
y=x+10
retun
end
end do
Fortran初心者ですが、解決したいので難しい解説でも大丈夫です。
分る方は宜しくお願いいたします。
No.3ベストアンサー
- 回答日時:
サブルーチンに引数として変化させたい値を渡すので良いのではないでしょうか?
(例えば以下のような感じ)
program main
implicit none
integer x
do x =0, 10
call test(x)
end do
contains
subroutine test(x)
integer,intent(in)::x
integer y
y = x + 10
end subroutine
end program
上記コードではサブルーチンtestが11回呼び出されます。
第一回目はxに0がわたってきます。
第2回目はxに1、...、第11回目にはxに10がわたってきます。
このようなイメージでやりたいと思われていることは実現できませんか?
以上、参考になれば幸いです。
No.2
- 回答日時:
その結果として何をしたいのかわかりませんが....
そもそも do文の中に副プログラムを書くことはできません.
contains を使えば「プログラム単位中に副プログラムを書く」ことはできるけど contains はプログラム単位の最後に書かなきゃならないから問題の解決にはなりません.
この回答への補足
目的を書き忘れていましたので補足です。
ある副プログラムの中の値を一定値で変えてプログラムを実行しています。具体的には、0から500までを5刻みづつ変えています。
その手間を省こうと、ループを使って副プログラムのサブルーチン名と中の値を変えてcallでそれぞれ呼び出そう考えました。
回りくどくなってしまいましたが、値を変える度に実行するのでは時間がかかるので、一度の実行で済むようなプログラミングを作りたいのが質問の本質です。
No.1
- 回答日時:
こんにちは。
サブルーチン名に変数を使うことは出来ないと思います。
http://netnanet.info/fortran/n10.html
また、サブルーチンはメインルーチンとは別に独立して記述するものです。
では。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) FORTRAN77の配列(除算) 2 2023/02/01 14:34
- その他(学校・勉強) Japanese schools tests 1 2022/08/19 14:41
- 中学校受験 Japanese schools 1 2022/08/22 15:53
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- Visual Basic(VBA) VBA GetAttrについて教えてください 2 2022/12/22 15:25
- TOEFL・TOEIC・英語検定 辞書における do とdoing はどういう用法、意味ですか? 4 2022/06/12 17:49
- Excel(エクセル) 複数のブックをひとつのブック(複数のシートにまとめる)場合にシートとの順番について 5 2022/12/28 20:47
- Ruby VBA 2 2023/01/14 14:14
- 英語 "only to do"を不定詞の名詞的用法で使う可否について 5 2022/06/06 11:23
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAで2重のDoLoop関数から抜け...
-
GOSUB命令とは
-
Excel VBAで、ユーザーフォー...
-
例外処理のフローチャートの記...
-
perlの構文でカンマの意味が分...
-
オフコン(富士通Kシリーズ)...
-
VBAのサブルーチンとプロシージ...
-
LCD ディスプレイを Raspberry ...
-
VBAでoutlook365が起動しません。
-
Excel VBA 定義されたプロージ...
-
Excel VBAで、ユーザーフォーム...
-
「デバイスは PRN を初期化でき...
-
ArduinoのジャイロモジュールMP...
-
Excel VBA 標準モジュール内で...
-
エクセルVBAでシートモジュール...
-
VBAで別モジュールへの変数の受...
-
BASP21使用のメール送信でコマ...
-
VBAのバージョン管理
-
CGI::Carpを使っているのにInte...
-
pythonでファイル移動できません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
例外処理のフローチャートの記...
-
Excel VBAで、ユーザーフォー...
-
モジュールとサブルーチン
-
perlの構文でカンマの意味が分...
-
COBOLで、Shellを起動するには?
-
ACCESSのVBAでPrivate Sub ~en...
-
GOSUB命令とは
-
サブルーチンを認識しません。
-
エクセルVBAでサブルーチン...
-
ExcelVBA AddinでOnAction
-
初歩的な質問なのですが、サブ...
-
Excel VBAから利用できるフリー...
-
VBAのサブルーチンとプロシージ...
-
VBAで2重のDoLoop関数から抜け...
-
Attempt to free unreferenced ...
-
オフコン(富士通Kシリーズ)...
-
初心者です。Perlではどんな時...
-
”:”がいっぱいの文について。
-
サブルーチンやif分以外での中括弧
-
fortran95実行エラー
おすすめ情報