構造化プログラミングとは?

構造化プログラミングとは、ソフトウェア工学のプログラミング作成法の1つだ。

 

サッスー的には構造化プログラミングはヒューマンエラーを無くすいい方法だと思う。

 

具体的には、以下の3つの概念で構成されている。

 

1.gotoレス(goto文がない)
2.モジュール化

3.トップダウン設計

 

 

ちなみに、オランダのアイントホーフェン工科大学のE.W.ダイクストラが考えた。

1970年代のアメリカIBM社によるソフトウェア開発技法 IPT(Improved Programming Technologies)によって広まった。

 

たとえば、ALGOL(アルゴル)やPascal(パスカル)などが構造化プログラミング言語として知られている。

 

 




 

構造化プログラミング言語の基本的な考え方

構造化プログラミング言語の基本的な考え方は以下の3つにまとめることができる。

 

1.順次・反復・分岐の3つの基本構造で構成する

 

順次
順接、順構造とも言われる。プログラムに記された順に、逐次処理を行なっていく。プログラムの記述とコンピュータの動作経過が一致するプログラム構造である。
反復
一定の条件が満たされている間処理を繰り返す。
分岐
ある条件が成立するなら処理Aを、そうでなければ処理Bを行なう。

Wikiより。

 

goto文はプログラムのリストと実行順序に不一致を引き起こすので、できるだけ使用しない。

 

 

2.モジュール化する

 

大きく複雑なプログラムは人間の能力の限界を超えてしまうので、小さなプログラムに分割する(モジュール化する)

 

 

3.トップダウン設計

 

モジュールの機能を階層構造にして上から下へプログラムを実行する

 

 

サッスーはインフラ系エンジニアなので開発経験はないが、プログラムを作っていると知らず知らずにこのような「構造化プログラミング言語」の概念に従った設計やプログラミングになってしまっている。

効率や正確性を追及するとこうなってしまうのだろうか。

 

 




 

「構造化プログラミングとは?」への1件のフィードバック

  1. 4.テストはバグが存在することを証明できるが、バグが存在しないことは証明できない

    プログラムの正当性を形式的に証明にする(プログラム中にバグが無いことを科学的に示す)ことは、テストに比べて時間と手間がかかりすぎて全く割に合わないので、必要に迫られた時、必要に迫られた部分だけ証明しやすいようプログラミングしておく

コメントを残す

メールアドレスが公開されることはありません。