「みんな教えて! 選手権!!」開催のお知らせ

お世話になっております。
プログラミングの際に(Cに限らず)プロシージャという言葉をよく目にします。が意味が良く分からず困っておりま。

このプロシージャ、という言葉はC言語で言うと具体的にはどのようなものをさしているのでしょうか。

書物、WEB等いろいろと検索をしたのですが、
サブルーチンのようなものかな?
という理解しか出来ませんでした。
しかし、サブルーチンでしたらサブルーチンと言えば良い訳ですし、プロシージャなどという言葉は必要無いはずです。

恐れ入りますが、プロシージャとは何かについて、おわかりの方がいらっしゃいましたらご教授ください。

宜しくお願い致します。

A 回答 (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さんの
書かれている通りで、間違いありません。
    • good
    • 0
この回答へのお礼

お返事が遅くなりましたが、
ご回答ありがとうございました。

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

どうもありがとうございました。

お礼日時:2001/10/29 16:10

「プロシージャ」は、Cでは関数になります。


意味などについては、下記サイトで調べてみて下さい。

参考URL1:情報・通信事典e-Words
参考URL2:アスキーデジタル用語辞典

参考URL:http://www.e-words.ne.jp/, http://yougo.ascii24.com/
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

e-WORDS は検索したのですが意味がわからず、ASCII24は
検索結果が多すぎて、見落としていました。

ASCII24 の解説の中に

「古いBASICでは、値を返すものが関数で、値を返さないものをプロシージャと呼んでいた記憶がある」

とありますが、ここが引っかかっていたのです。
私の同僚はプロシージャと関数の違いをまさにこのように説明してくれたのですが、
Cにおいて、ポインタで配列をサブルーチンに渡し、サブルーチン側で、配列の値を変更して、サブルーチンからは値を返さない。
となれば事実上、関数なのにプロシージャになってしまう。
というのが、今回の質問の発端でした。

これですっきりしました。
どうもありがとうございました。

お礼日時:2001/10/24 09:32

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

この回答への補足

ご回答ありがとうございます。

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

補足日時:2001/10/24 09:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報