• 締切済み

ルーチンについて。

例えば、ABCBCDというプログラムがあって、BCをサブルーチン化して、Eとおいて、AEEDとした時、AとDは、ただのルーチンというのでしょうか?それとも、メインルーチンと言ってもいいのでしょうか?教えていただけると幸いです。すみません。

みんなの回答

回答No.6

そもそも「ルーチン」と言う言葉の意味が判っていますか? 私は、この言葉の前後の文脈がなければ意味が分かりません。 要求仕様→要件→処理過程→手続き→式→計算 くらいに、貴殿のいうプログラムを解体した上で、 各手続きレベルで主従を尋ねて下さい。 というか、コードを提示していただくのが、一番早いですけど・・

回答No.5

> もしメインルーチン内のAやDだとすればルーチンであるということは通じるのでしょうか? 「メインルーチン内のAやDだとすれば」ということであれば ルーチンという単語を メインルーチンとサブルーチンを 区別している文脈で使っているケースということになります。 この場合だと、 AやDのことを「ルーチン」と呼んでしまうと話が通じないです。

回答No.4

回答が前後になってしていまい 横槍をいれたみたいな回答になってしまって 大変失礼しました。申し訳ありません。 > その観点で見たら、「何でもかんでもルーチン」 たしかに、人によっては スコープが独立したブロックのことを「ルーチン」ということもあるし 1つのアルゴリズムの一連のことを「ルーチン」ともいうこともあるし、 AやDが実際には無名関数の記述になっていることもあるので 実際のコード内容とか 「ルーチン」という単語を使っている前後の文脈次第で サブルーチンとメインルーチンの区別だけに使っているのではない ケースも考える必要はありますね。

zasx1097
質問者

補足

もしメインルーチン内のAやDだとすればルーチンであるということは通じるのでしょうか?教えていただけると幸いです。すみません。

回答No.3

ご質問がわかりにくいですが、 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」という言い方ならば 通じますけど。

回答No.2

だから、メインルーチンはどこなんですか? C言語なら、main()など。 全部がサブルーチンってこともありますし、 メインルーチンがないということもあります、 条件定義がないので、これは回答がありません。 また、基本的にプログラムって今いる位置だけがPCラインですよね? ProgramCounterの位置=PC、または、InstructionPointer=IP そこから呼ぶものは何であろうとサブルーチンです。 さらに言えばメインルーチン内に書いたソースもルーチンです。 なので、その観点で見たら、「何でもかんでもルーチン」とも 言えなくもないんです。 なので、何についてどんなソースを書いているのか?が わからないと、元々回答はないのと、 質問自体が間違っているので、永遠にまともな回答には ならないのと「なるべきではない」のですよ。 質問自体が間違ってるのに確定した答えは見る前から間違ってる でしょ。 前回言った通り この質問を他人があなたに向けて書いたら 貴方は答えられますか? 質問になっていないので、貴方も答えられないと思いますよ。 なので、回答より、質問そのものを勉強してみるのは いかがでしょうか? ちなみ、この無意味な投稿、永遠書いてもいいですが、 質問自体が間違ってるので、回答を得ても、 永遠にバラバラの意見が返ってくるだけで、 時間の無駄にしかならないですよ。 貴方も私も人生1回しかないのに、こんなことに 時間を使うのは、論理的か?って気が相当しますがね。 お任せしますけどね。 (特にあなたがどうなろうとどうでもいいのでいかなる命令も指示もしませんが。それは他の回答者さんも同じ立ち位置だってのを、覚えておくとよいかと)→つまりさらなる無駄な時間を過ごす運命に自分で向かってる事に気が付けば、すんなり先が開けますよ。この件。 無視してまた、質問になっていない間違った投稿をするのも 貴方の自由です。単にこれが繰り返されるだけの事。 それは、貴方の自由ですからね~ では、がんばって!

  • sknbsknb2
  • ベストアンサー率38% (1129/2920)
回答No.1

プログラムがこれだけしかないなら、メインルーチンでいいのではないでしょうか。

関連するQ&A

  • ルーチンとライブラリについて。

    例えば、ABCBCDというプログラムがあって、BCをEというサブルーチンにしておいて、Aは、abcbcdというプログラムになっているので、Aは、メインルーチンといってもいいのでしょうか?Dも同様でしょうか?教えていただけると幸いです。すみません。

  • ルーチンとライブラリについて。

    プログラムがあって、ABCBCDが、あってこのプログラム全体を、メインルーチン、BCをEとしてまとめたものを、サブルーチンで、AやDをルーチンとなっていますが、 状況によって(別プログラム)で 考えた時には、AやDがサブルーチンとなるプログラムは、どんなものでしょうか?教えていただけると助かります。すみません。意味不明でしたら、聞き返してください。教えていただけると助かります。

  • ルーチンについて。

    例えば、ABCBCDというプログラムがあって、BCをEというサブルーチンにしておいて、Aは、abcbcdというプログラムになっているので、Aは、ルーチンといってもいいのでしょうか?Dも同様でしょうか?教えていただけると幸いです。すみません。

  • メインルーチンについて。

    メインルーチンとは何でしょうか?メインルーチン単体で使う事はあるのでしょうか?ご教授下さい。すみませんが。サブルーチンがない場合は、どうなるのでしょうか?ご教授下さい。すみませんが。

  • メインルーチンとサブルーチンについて。

    すみません。メインルーチンは、どの言語でもどのプログラムでも必ずあるものなのでしょうか?ご教授頂けると幸いです。すみませんが。

  • ルーチンとプログラムについて。

    ルーチンとは、コード(Aプログラム、BプログラムCプログラム等)の集まりで、ライブラリは入れ物という解釈であっていますでしょうか?教えていただけると助かります。すみません。

  • プログラミングについて。

    ダイナミックリンクライブラリは、なぜサブルーチンだけで、構成されるのでしょうか? ご教授いただけないでしょうか?すみません。なぜ、メインルーチンしかないもの、サブルーチンしかないもの、メインルーチンとサブルーチンが存在するものの3つに分かれたりするのでしょうか?これについてもよろしくお願い致します。

  • メインルーチンの変数をモジュールに渡す

    Perlの勉強をし始めの者なんで、恥ずかしい質問ですけど・・・ モジュールの使い方です。 以下のプログラムではTest_module.pmで定義した変数$testをメインルーチンでprintしています。 ***** メインルーチン *****  #perl /usr/bin/perl  use Test_module;  our $test=10;  print $Test_module::test; ***** Test_module.pm *****  package Test_module;  our $test=10;  1; これはちゃんと動いています。 ところが逆にメインルーチンで定義した変数$testをTest_module.pmに渡そうとすると、うまくいきません。 以下のプログラムをどう直せばいいのでしょうか。 ***** メインルーチン *****  #perl /usr/bin/perl  use Test_module;  our $test=10;  &Test_module::print_test(); ***** Test_module.pm *****  package Test_module;  sub print_test {  print $Main::test;  }  1;

    • ベストアンサー
    • Perl
  • ポケコンの制御方法などについて教えてください

    ポケコンのメインルーチンとサブルーチンについての質問なんですが… サブルーチンを使用する利点を教えてください なるだけ、短い文章でお願いします

  • VBのEXEから他のVBのEXEのファンクションを実行したい

    メインルーチンからサブルーチンを呼ぶような イメージで VBののEXE‥(1)(メインプログラム)から 他のVBののEXE‥(2)のファンクションを呼び出して値を返したいのですが どうすればよいでしょうか? (1)はバッチファイルのような感じで コマンドライン引数が○○のとき(2)の××と△△を実行するという内容のもの (2)はマスタを更新するプログラムがマスタごとに いくつかのファンクションにわかれたものです。 説明不足で伝わりにくいかとおもいますが、 よろしくおねがいいたします。