疑似コード
過去のエントリ「論文での疑似コードの書き方」へのアクセスが多いので、少し追加してみる。
疑似コードの書き方について、最初に言ってしまうと、
書き方は千差万別
決まったルールはなく、アルゴリズムの内容を伝えることが目的。
特定の言語の文法に依存せずに、理解のしやすさを優先することが大事になる。
人が読んで理解できる自然言語を使って構わない。
例えば、毎月の処理を書くときに
FOR month = 1 to 12
とするのではなく
FOR each month of the year
としたほうが、意図を伝達するうえで優れている、ということになる。
次のリンク先のPDFでは、具体例や参考ページが記されている。
Pseudo code Tutorial and Exercises (http://www.cosc.canterbury.ac.nz/tim.bell/dt/Tutorial_Pseudocode.pdf)
ここに書かれている例をいくつか紹介してみる。
例えば、ソートを行うためのプログラムコード(C言語)は次のようになる。
C言語がわかる人でも、この処理の内容をすぐに理解するのは難しい。
さらに、より自然言語に近い疑似コードにすると次のようになる。
別の例。
フィボナッチ数列{1,1,2,3,5,8,13,21,...}のn番目の値を出力するプログラムコード(C言語)は次のようになる。
50番目のフィボナッチ数を求める疑似コードは次のようになる。
さらに、より自然言語に近づけると次のようになる。
もうひとつ別の例。
このような単純なものであれば、極端な話、次の一文だけでもいい。
他にも、引数と戻り値のある関数はどう書くか、とか、いろいろ悩ましいところはあるけど、
結局、他の論文なりから似たようなものを探し出して真似するのが一番の近道である気がする。
(英語だと疑似コードが書きやすいけど、日本語だと違和感がある気がする)
史上最大の発明アルゴリズム: 現代社会を造りあげた根本原理(ハヤカワ文庫NF―数理を愉しむシリーズ) (ハヤカワ文庫 NF 381)
- 作者: デイヴィッド・バーリンスキ,David Berlinski,林大
- 出版社/メーカー: 早川書房
- 発売日: 2012/04/30
- メディア: 文庫
- 購入: 7人 クリック: 419回
- この商品を含むブログ (11件) を見る
珠玉のプログラミング―本質を見抜いたアルゴリズムとデータ構造
- 作者: ジョンベントリー,Jon Bentley,小林健一郎
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2000/10
- メディア: 単行本
- 購入: 30人 クリック: 551回
- この商品を含むブログ (162件) を見る