• ベストアンサー

プロシージャとは

お世話になっております。 プログラミングの際に(Cに限らず)プロシージャという言葉をよく目にします。が意味が良く分からず困っておりま。 このプロシージャ、という言葉はC言語で言うと具体的にはどのようなものをさしているのでしょうか。 書物、WEB等いろいろと検索をしたのですが、 サブルーチンのようなものかな? という理解しか出来ませんでした。 しかし、サブルーチンでしたらサブルーチンと言えば良い訳ですし、プロシージャなどという言葉は必要無いはずです。 恐れ入りますが、プロシージャとは何かについて、おわかりの方がいらっしゃいましたらご教授ください。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.3

ASCII24の記述はずい分といい加減な気がします。 私の知る限り、関数とプロシージャをそんな風に区別する 「古いBASIC」はありません。 最もはっきりしているのはPASCALで、これはまさに ここに書かれている通り、値を返すものがfunctionで 返さないものがprocedureです。(PASCALは構造化の元祖 のように見られたりもする言語ですから、「構造化以前」 というのもおかしい。) 例えば、Integerを返す関数aと値を返さないプロシージャbは こんな書き方をします。 function a(x:Integer):Integer begin  ... end procedure b(x:Integer) begin  ... end いずれもCでは関数として記述されるのは、leaz024さんの 書かれている通りで、間違いありません。

ha8ka8
質問者

お礼

お返事が遅くなりましたが、 ご回答ありがとうございました。 常々思うのですが、コンピュータの言葉は英語なので 今回のように言葉で詰まってしまう分、日本人は不利 なのかなとも思います。 英語の勉強も、怠けず頑張りたいと思います。 どうもありがとうございました。

その他の回答 (2)

  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

「プロシージャ」は、Cでは関数になります。 意味などについては、下記サイトで調べてみて下さい。 参考URL1:情報・通信事典e-Words 参考URL2:アスキーデジタル用語辞典

参考URL:
http://www.e-words.ne.jp/, http://yougo.ascii24.com/
ha8ka8
質問者

お礼

ご回答ありがとうございます。 e-WORDS は検索したのですが意味がわからず、ASCII24は 検索結果が多すぎて、見落としていました。 ASCII24 の解説の中に 「古いBASICでは、値を返すものが関数で、値を返さないものをプロシージャと呼んでいた記憶がある」 とありますが、ここが引っかかっていたのです。 私の同僚はプロシージャと関数の違いをまさにこのように説明してくれたのですが、 Cにおいて、ポインタで配列をサブルーチンに渡し、サブルーチン側で、配列の値を変更して、サブルーチンからは値を返さない。 となれば事実上、関数なのにプロシージャになってしまう。 というのが、今回の質問の発端でした。 これですっきりしました。 どうもありがとうございました。

  • kw888
  • ベストアンサー率47% (11/23)
回答No.1

procedure(手続き、手順、手順書)のことでしょう。

ha8ka8
質問者

補足

ご回答ありがとうございます。 重ね重ねの質問で恐縮ですが、 C言語においては、手続き、手順、手順書 はそれぞれ 何を表しているのでしょうか?

関連するQ&A