構造化プログラミング
1968年
モジュールを機能的に分割できる
反証可能なプログラミングの単位を作成することができる
従来の言語(ex. FORTRAN)は機械語の抽象化、と言った感じだったが、構造化プログラミングによって制御構造の抽象化が主眼となった 良いプログラムは以下の3つより構成される
連接
sequence
選択
selection
反復
iteration
順次、選択が正しいことを証明するためには、列挙を行った
反復が正しいことを証明するためには、数学的帰納法を使用した
コードの構造をわかりやすくしよう
ifやwhileを導入した
プログラミングはハードなものであるという問題点があった
そこに数学的な公理、系、補助定理といった階層を導入した
制限の無いジャンプ(goto文など)がプログラムの構造に対して有害であることを示した
ジャンプをif/then/else, do/while/untilなどの構文に置き換えた
直接的な制御の移行に規律を課すもの
goto文を奪った
goto文を使うと
モジュールを再帰的に小さな単位に分割できない
分割統治が使えない
代表的な言語
参考