• ベストアンサー

プロシージャとは

お世話になっております。 プログラミングの際に(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

  • 初歩的な質問なのですが、サブルーチン、プロシージャについて

    初めてプログラミングを行おうと思っています。 そこで、VBを使って行おうと思っているのですが、 全てが初めてなので、まずは本を読んでいるところです。 本の中で、サブルーチンやプロシージャという言葉がよく出てくるのですが、サブルーチンは処理のかたまり、プロシージャは処理の命令と軽く考えていたのですが、本の中に、『サブルーチンにはFunctionプロシージャとSubプロシージャの2種類がある』と書いてあり、それ以来、私にはサブルーチンもプロシージャも同じものに思えてしまいます。人に聞いたところ、『全然別ものだよ』という答えしかありませんでした。これは、どう違うのでしょうか?? また、SubプロシージャのSubはサブルーチンを示すとあり、益々、理解できなくなりました。 恐れ入りますが、サブルーチン、プロシージャ、Functionプロシージャ、Subプロシージャとは何かについて、おわかりの方がいらっしゃいましたらご教授ください。 宜しくお願い致します。

  • 【エクセル】プロシージャとは

    VBAを学習する中で、プロシージャ という用語があります。 調べると ●処理単位の1つ ●VBAの中で、プログラミングを実行する最少単位 この【単位】とういう言葉が、引っ掛かり、よくわかりません。 単位とは、【長さ:センチ】や【重さ:グラム】などの事を言うと思います。 Subから始まる、記述された、VBAの事をイメージしていますが ピンときません。 ご存知の方、いらっしゃいましたら、具体例とともに、教えて下さい。

  • C言語からC++に移行できない原因は何でしょうか?

    お世話になります。 私が初めてプログラミング言語に触ったのが、18歳の頃でした。 当時、大学1年生で純粋なC++でない、C言語から学びました。 その後、あるフリーソフトを見つけてCばっかりやっていました。 具体的には、ソートや検索、最短経路問題、最適化問題などです。 ところが、求人広告にC++ができる人募集とあって、 教授に相談すると、CもC++も似たようなものだからすぐ覚える。 と言われました。 ところが、C++の本がまずほとんど売られていないことと、 Visual C++との関係性、オブジェクト指向が理解できず挫折しました。 いったい、CからC++に移行するにはどうしたら良いでしょうか? イメージが全く沸かない状態です。教えて下さい。お願いします。

  • ラッパーって何なんでしょう・・・?

    C++を勉強し始めたのですが、何とも難しい言葉が多くて、書いてあることが本当に理解できません。 ラッパーって? ハンドルって?? と、次から次へと理解不能な言葉が・・・ 読んでいるのは、C++Builderの開発者ガイドと、プログラミング言語C++の本です。 具体的なイメージが浮かばず、概念自体もピンときません。 わかりやすい本などあったら教えてください。 また、とりあえずラッパーとハンドルがどうしても気になるので、この2つの意味教えてください!! よろしくお願いします。

  • asp.NET内でSQLプロシージャを実行させた

    お世話になります。  SQL2000+asp.NETの環境で、SQLのプロシージャを実行させようとしています。 このプロシージャはテキストファイルを読み込んでデータベースに追加・削除するもので、ここで使用している関数は  ・DELETE/UPDATE/INSERT  ・BULK INSERT  ・CURSOR です。このプロシージャを実行させるには「.NETユーザー」に対し、  サーバーロールにてbulkadmin  ユーザ権限にてdd_ddladmin の権限を付与すれば実行されることは確認しています。  ここで、ご質問なのですが、asp.NETでプログラミングされていらっしゃる方は、普通にWEBログインユーザーに上記権限を付与していらっしゃるのか知りたいのです。  逆に、この権限付与は危険だからsubプロシージャにて記述したほうがいいよとかお教えいただければ、と思います。  以上よろしくお願いいたします。

  • プログラミング言語

    プログラミング言語のC言語とかJavaとかPerlとかの違いって使いやすさや慣れ以外に違いってあるんですか? 言葉足らずですいません…! 先程あげた三つのプログラミング言語が全く違うのは理解しているのですが、 それを使う、仕様した結果何か変わるのか疑問を抱いたので質問させていただきました。 初心者なので全く分からなくて… 教えてください><

  • それぞれの言語の持っている特性を勉強したいです。

    プログラミング言語の勉強をしようと思います。 具体的には、言語の書き方を勉強するのではなく、 それぞれの言語の持っている特性を勉強したいです。 最終的には、言語自体の設計・作成したいです。 なにかこの話題について有用な書物、サイトが ありましたら教えてください。

  • プログラミングの第一歩 基礎の基礎

    C言語でのプログラミングを勉強したいと思っています。周りで教えてくれる人もいるのですが、いきなり話がプログラミング言語の初歩に入るので、よく理解できません。コンピュータとは無縁の文科系の私にもわかるように、初歩以前のABCを教えていただければうれしいです。 プログラミング自体は、書物を読めば分かると思います。ただ、ワードパッドなりメモ帳なりに組んだプログラムを実際にマシーンに読ませて動作させるようにするにはどうしたらいいのでしょうか。 Windowsの初期画面から、どこに入っていってプログラムを入力しますか? プログラムの保存先はCドライブですか? どうやって、そのプログラムを実行しますか? 恥ずかしながら、このレベルが分かりません。適切なサイトも見当たりません。 どうぞ宜しく教えて下さい。

  • LinuxによるWebサーバ構築知識

    標記の考え方についてキーワードとして ・Apache ・CGI(Perl,PHP,JAVA,C) ・DB(PostgreSQL,MySQL) がインターネット文書等であげられていますが、 これら3つのカテゴリの関連性がイマイチよく理解できません。 どなたかご教授願います。 +αそれぞれプログラミング言語も挙げてあるのですが比較してどの言語が良いか教えていただけると幸いです。 目的といたしましては、WebによるDB管理です。

  • Webプログラミングを習得するには

    Webプログラミングという言葉を知り、勉強してみようかなと思っています。 書店に行き、Webプログラミングの本を見てみたのですが、PHP等々書かれていたり様々な種類がありどれがいいのか分かりませんでした。インターネットでも検索してみたのですが、同様にPHP等々色々なのがあるらしくいまいち分かりませんでした。 Webプログラミングを勉強するに当たり、どのような順序で勉強していけばいいでしょうか? また、プログラミング言語はどれが未来性が有りいいのでしょうか? 役に立つか分かりませんが、HTMLはある程度できます。 本当に初歩的な質問ですが、よろしければ教えて下さい