- 締切済み
ルーチンについて。
例えば、ABCBCDというプログラムがあって、BCをサブルーチン化して、Eとおいて、AEEDとした時、AとDは、ただのルーチンというのでしょうか?それとも、メインルーチンと言ってもいいのでしょうか?教えていただけると幸いです。すみません。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Ultra-Hetare
- ベストアンサー率38% (204/526)
そもそも「ルーチン」と言う言葉の意味が判っていますか? 私は、この言葉の前後の文脈がなければ意味が分かりません。 要求仕様→要件→処理過程→手続き→式→計算 くらいに、貴殿のいうプログラムを解体した上で、 各手続きレベルで主従を尋ねて下さい。 というか、コードを提示していただくのが、一番早いですけど・・
- superside0
- ベストアンサー率64% (461/711)
> もしメインルーチン内のAやDだとすればルーチンであるということは通じるのでしょうか? 「メインルーチン内のAやDだとすれば」ということであれば ルーチンという単語を メインルーチンとサブルーチンを 区別している文脈で使っているケースということになります。 この場合だと、 AやDのことを「ルーチン」と呼んでしまうと話が通じないです。
- superside0
- ベストアンサー率64% (461/711)
回答が前後になってしていまい 横槍をいれたみたいな回答になってしまって 大変失礼しました。申し訳ありません。 > その観点で見たら、「何でもかんでもルーチン」 たしかに、人によっては スコープが独立したブロックのことを「ルーチン」ということもあるし 1つのアルゴリズムの一連のことを「ルーチン」ともいうこともあるし、 AやDが実際には無名関数の記述になっていることもあるので 実際のコード内容とか 「ルーチン」という単語を使っている前後の文脈次第で サブルーチンとメインルーチンの区別だけに使っているのではない ケースも考える必要はありますね。
- superside0
- ベストアンサー率64% (461/711)
ご質問がわかりにくいですが、 A、 B、 C、 Dという4種類の処理のあるプログラムがある。 処理順は、A→B→C→B→C→Dである。 BとCを2回実行しているので、これをサブルーチン化した。 (コード例) sub E { B; C; } main { A; E( ); E( ); D; } となった。 (言語の指定がないので適当にでっち上げたコードだけど) この場合、AやDは ルーチンと呼べるのか? という質問なのかと推察しました。 質問が上記のことだとすれば mainが メインルーチン E がサブルーチン であって AやDは メインルーチンを構成している一部にすぎないので AやDのみのことをルーチンやメインルーチンとは呼ばないですね。 もちろん「メインルーチン内のAやD」という言い方ならば 通じますけど。
- AsarKingChang
- ベストアンサー率46% (3467/7474)
だから、メインルーチンはどこなんですか? C言語なら、main()など。 全部がサブルーチンってこともありますし、 メインルーチンがないということもあります、 条件定義がないので、これは回答がありません。 また、基本的にプログラムって今いる位置だけがPCラインですよね? ProgramCounterの位置=PC、または、InstructionPointer=IP そこから呼ぶものは何であろうとサブルーチンです。 さらに言えばメインルーチン内に書いたソースもルーチンです。 なので、その観点で見たら、「何でもかんでもルーチン」とも 言えなくもないんです。 なので、何についてどんなソースを書いているのか?が わからないと、元々回答はないのと、 質問自体が間違っているので、永遠にまともな回答には ならないのと「なるべきではない」のですよ。 質問自体が間違ってるのに確定した答えは見る前から間違ってる でしょ。 前回言った通り この質問を他人があなたに向けて書いたら 貴方は答えられますか? 質問になっていないので、貴方も答えられないと思いますよ。 なので、回答より、質問そのものを勉強してみるのは いかがでしょうか? ちなみ、この無意味な投稿、永遠書いてもいいですが、 質問自体が間違ってるので、回答を得ても、 永遠にバラバラの意見が返ってくるだけで、 時間の無駄にしかならないですよ。 貴方も私も人生1回しかないのに、こんなことに 時間を使うのは、論理的か?って気が相当しますがね。 お任せしますけどね。 (特にあなたがどうなろうとどうでもいいのでいかなる命令も指示もしませんが。それは他の回答者さんも同じ立ち位置だってのを、覚えておくとよいかと)→つまりさらなる無駄な時間を過ごす運命に自分で向かってる事に気が付けば、すんなり先が開けますよ。この件。 無視してまた、質問になっていない間違った投稿をするのも 貴方の自由です。単にこれが繰り返されるだけの事。 それは、貴方の自由ですからね~ では、がんばって!
- sknbsknb2
- ベストアンサー率38% (1158/3030)
プログラムがこれだけしかないなら、メインルーチンでいいのではないでしょうか。
補足
もしメインルーチン内のAやDだとすればルーチンであるということは通じるのでしょうか?教えていただけると幸いです。すみません。