最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

17.25.ストラクチャード定理

[ Previous ] [ HOME ] [ Upper ] [ Next ]


参考文献:オーム社 國友義久著「ストラクチャード・プログラミング入門」

「ストラクチャード定理」を簡単にご紹介しましょう。これは、論理の構造化に関する定理で、Bohm(ベーム)とJacopini(ヤコビニ)によって提唱されました。以下のようにまとめられます。

ストラクチャード定理

プログラムが1つの入り口と1つの出口を持つように設計されていれば(これを適正プログラムと呼びます)、基本的な3つの構造単位の組み合わせによって、どんな論理でも記述できる。3つの構造単位とは、

  1. 順次(Sequnece)

  2. 選択(IfThenElse)

  3. 繰返し(DoWhile)

である。

基本的な3つの構造単位

1.順次(Sequnece)

単純に、プログラムの命令や機能の実行において、最初にAを実行し、その次にBを実行し、というように順番に実行される論理構造のこと。

2.選択(IfThenElse)

条件によって、2つの異なる機能AもしくはBの実行を選択する論理構造のこと。

3.繰返し(DoWhile)

条件が真(true)である限り、機能Aを繰返し実行する論理構造のこと。

この他に、派生的な亜種の論理構造として、CaseDoUntilがあります。

CASE

上記の「選択(IfThenElse)」と同じことだけだが、条件がたくさんある場合に、使うと便利な論理構造のこと。基本的に「選択」でも表現ができるが、Caseのほうが表現の記述がわかりやすくなるメリットがある。

上記のCaseをIfThenElseであらわすと、下図のようになります。

DoUntil

これも繰返し構造のひとつだが、条件判定が、機能Aのあとに行われます。

基本構造の組み合わせ

通常、この単純な基本構造が、組み合わされ、入れ子(ネスト)することで、複雑な論理ができます。機能AやBなどは、単一の命令でも、複数の命令を一塊に見立て(サブルーチンなど)、それを部品として、論理構造を組み立てます。

単純にファイルを読み込んで明細印刷する例

特に大きな特徴は、GOTOが無いことです。すべての論理が、順次、選択、繰返しということは、GOTOが入らないことになります。繰返しでは、GOTOは使わず、DO文を使用します。また、表記方法は上手のようなフルーチャートのほかに、構造化専用にナッシ・シュナイダーマン・チャート(NSチャート)というものがあります。このチャートのが、プログラムそのものに近くなります。

さらに、チャートから一歩プログラムに近い、プログラム記述言語というものもあります。仮想プログラム言語みたいな感じです。よく雑誌で、簡単にロジックを説明する場合に使われています。興味のある方は、「構造化(ストラクチャード)プログラミング」の本を読んでみて下さい。

RPGの構造化プログラミング命令

  1. ANDxx(かつ)
  2. CASxx(サブルーチンの条件付き呼出し)
  3. DO (DO)
  4. DOUxx (DO UNTIL)
  5. DOWxx (DO WHILE)
  6. ELSE (ELSE)
  7. ENDyy(グループの終了)
  8. IFxx (IF)
  9. ITER(繰り返し)
  10. LEAVE(DOグループからの抜け出し)
  11. ORxx (OR)
  12. OTHER(その他の場合の選択)
  13. SELEC(選択グループの始め)
  14. WHxx(真の場合に選択)

1999/12/31


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送