• 締切済み

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

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

みんなの回答

回答No.4

> AやDは、ただのルーチンとは言わないのでしょうか? 「サブルーチン」か「ルーチン」かというという分け方をすることはないですね。 サブルーチンの中にだって、特定の範囲をルーチンと呼ぶことはあるのですし。 ただ、前後の文脈として、 サブルーチンにしないでメインルーチンに直接記述してある部分を指して、 ここは「ただのルーチン」と説明してあっても ニュアンスとしては分かるかと思います。(正確な表現ではないにしても)

回答No.3

> Aをメインルーチン置いて、また、a b c b c dとなっていた場合、bとcをサブルーチンになって、a やdはルーチン(ただの)というのは、正しいのでしょうか? メインルーチン内で A E E Dと 記述してあるが Eは、処理BとCを行うサブルーチンの呼び出しになっていて これを実行すると、処理として A B C B C D の順で実行される という解釈で正しいか?という意味なら、それで 正しいです。 もしかして補足でのご質問の内容は、メインルーチン内で A E E D (Eは B とCを行うサブルーチン) と記述したとき  AやDのことを「ルーチン」  Eのことを「サブルーチン」 と呼んでいるのは、正しいのかという意味なのでしょうか? もし、参考にされている記事かなにかで、 AやDのように メインルーチンに直接、処理を記述することを 「ルーチン」と呼んでいるのであれば、 (つまり、サブルーチンの対義語としてルーチンという言葉を使っているのであれば) 一般的な使い方でなく、その文章を書かれた人の独特な言い回しかなと思います。 ルーチンとは 処理の塊のことなので、 サブルーチンの中であっても、アルゴリズム単位で分けて 「このルーチンにバグがある」なんていう言い方もするし、 なので、メインルーチンに直接記述することを、ルーチンとは言わないと思いますよ。 (もしかして、その文書の但し書きで、略語としての「ルーチン」の定義を説明してあるとか、  事前の文章によっては 辻褄あうのかもしれませんが)

zasx1097
質問者

補足

そうです。そういうことです。AやDは、ただのルーチンとは言わないのでしょうか?教えていただけると助かります。すみません。

回答No.2

たとえば、  処理Aが初期化  処理Bがデータの入力  処理Cが計算  処理Dが結果の出力 があって、それを A B C B C D という順に処理を行う必要がある プログラムがあったとき、 処理Bと処理Cを Eというサブルーチンにまとめておけば メインルーチンに A E E Dの順で記述すれば 実際はA B C B C D の処理が行われます。 こうすることで、処理B と 処理Cを わざわざ2回も記述しないですみますし メンテナンスもしやすくなります。 > AやDがサブルーチンとなるプログラムは、どんなものでしょうか? 上記の 処理AをFというサブルーチン にし 処理DをGサブルーチンにしておいて メインルーチンでは、 F E E G と記述することで 実際には、A B C B C Dが処理されるようにするとことも可能です。 処理AやDは、1度し使わない処理ではありますが、 こうするメリットは  機能ごとにサブルーチンに分かれるのでプログラムの見通しがよくなる  チームでプログラム開発するとき、担当者や機能ごとにファイルを分けることができる  他のプログラムでも使えそうなサブルーチンならば、共通ライブラリ化できる といったことでしょう。 演習での例題プログラムとか、小規模なプログラムなら、 わざわざ サブルーチンに分けたりしないこともありますけど、 基本的には、 機能のまとまりでサブルーチン化して 構造化する癖を付けておくと、よいかと思います。

zasx1097
質問者

補足

すみません。Aをメインルーチン置いて、また、a b c b c dとなっていた場合、bとcをサブルーチンになって、a やdはルーチン(ただの)というのは、正しいのでしょうか?教えていただけると助かります。すみません。

  • watanabe04
  • ベストアンサー率18% (295/1598)
回答No.1

メインルーチンは最初に呼び出されて これが終わるとプログラム全体が終わるものを言います。 サブルーチンはメインルーチンやサブルーチンから呼び出されて これが終わると呼び出されたメインルーチンやサブルーチンに帰るものを言います。 ライブラリーはサブルーチンの塊で1つの作業をするものを言います。