全1668文字

 構造化プログラミングは、現代のプログラミング言語の大半が属する、最もよく知られているパラダイムです。他のプログラミングパラダイムのベースの考え方にもなっているので、最初に学ぶべきものといえます。

 構造化プログラミングとは、「順次」「反復」「分岐」という単純な制御構造を「手続き」という単位でまとめることで抽象化し、その手続きをさらにまとめてより抽象的な「手続き」を作る、といった階層構造によってプログラミングするパラダイムです。

 順次とは、プログラムに記述された順に上から実行する処理です。反復とは、指示された処理を繰り返し実行することで、多くの言語ではfor文、while文といった形で表現されます。分岐とは、条件によって実行する処理を切り替えることで、こちらはif文、switch文が代表的です。

 ソフトウエア設計の考え方の一つに「分割統治法」があり、構造化プログラミングはこれを体現したものです。分割統治法とは、そのままでは解決が難しい「大きな問題」を「小さな問題」に分割し、その分割された「小さな問題」のすべてを個別に解決する手法です。構造化プログラミングに当てはめて考えてみると、大きく複雑なソフトウエアという問題を小さな手続きという単位に分割し、それをさらに分割することを繰り返すと最後には「順次」「反復」「分岐」という単純な小さな文になるので、分割統治法の考えが生かされていることが分かります(図1)。

図1●分割統治法の考え方
図1●分割統治法の考え方
[画像のクリックで拡大表示]