【プログラミング】構造化プログラミングとは

今回は、プログラミングを行う上で重要な考え方・記述方式の1つである「構造化プログラミング」について説明していきます。

サブルーチン

突然ですが、クラス全員の成績をまとめた資料を作るプログラムを作るとします。A君からE君まで5人の生徒がいるクラスの成績表を作るとします。

クラス全員分の点数が掲載された資料を作るには、5人全員のテストの点数を入力する必要があります。一つ一つ処理を記述していってもいいのですが、点数を入力させる処理などは5回記述することになってしまいます。こういうものは、プログラムを書く上ですごく無駄なんですね。

どのように対処するかというと、「点数入力」という一連の処理をまとめたサブルーチンという1つの処理のまとまりを作ってしまうのです。そうすることにより、点数入力の作業が必要になれば、点数入力のサブルーチンを呼び出すだけでいいですよね。

このようなことを考慮していくと、一番上位のメインプログラムには大まかな流れをまとめて、繰り返される処理はサブルーチンとして切り出していくことになるはずです。そのサブルーチンの中にもさらに細かいまとまりのサブルーチンがあって…。

このように、プログラムの処理を細分化していき、階層ごとの流れをきちんと整理したプログラムを書く考え方を構造化プログラミングといいます。

フローチャート

基本的に、実際にプログラムを組み始める前に、プログラムの流れを図示して整理します。この図のことをフローチャートといいます。

初歩的なプログラムはフローチャートを書かずに直接コンピュータに打ち込んでいきますが、実際に現場でシステムの開発を行う場合にはいきなり打ち込むのではなく、フローチャートで全体の流れを整理してから打ち込んでいきます。このフローチャートがないと、自分で打ち込んでいても何が何だか分からなくなってきます…初心者向けの数行から数十行のプログラムならフローチャートは必要ないですけどね(笑)。

このフローチャートについては、また別の記事で詳しく取り上げますが、今回は下の項目の説明で少しフローチャートが出てくるので、その部分だけ先に説明します。

処理

長方形は「処理」を表します。例えば、四則演算のプログラムであれば、「〇と〇を足す」「〇から〇を引く」のようなものは、この長方形の中に記述します。

分岐

ひし形は「分岐」を意味しています。例えば、入力された値が奇数かどうかで処理が変わるプログラムであれば、「〇%2 = 0」のような内容をひし形の中に書きます。

繰り返し

台形のような形を使うことで、「繰り返し」の処理を記述できます。例えば、ある変数「x」の値を1から10まで1ずつ増やしていくようなプログラムを書く時には、繰り返しを行う前の値・繰り返しを行う中でどれだけ増やすか・繰り返しの最後の値など、繰り返しの条件を上の図形に記載します。下の図形には何も書かなくても大丈夫です。

また、繰り返しは、以下のような形でも表現できます。

構造化プログラミング

構造化プログラミングでは、3つの制御構造だけを使ってプログラミングを行います。その制御構造とは、順次構造選択構造繰り返し構造です。一つずつ見ていきましょう。

順次構造

この構造は、一番シンプルなもので、上から順番に処理を実行します。

選択構造

何らかの条件によって分岐させて、どちらかの処理を実行させるときに使います。

繰り返し構造

ある条件が満たされるまで、一定の処理を繰り返すときに使います。

例題

では、実際に試験で出題されているような問題を作ってみましたので、時間がありましたら解いてみてください。

例題

構造化プログラミングにおいて、プログラムを作成する時に用いる3つの制御構造がある。順次・繰り返しと、あと1つはどれか答えよ。

ア.再帰 イ.選択 ウ.分岐 エ.判断


分かりましたか?簡単ですね(笑)

正解はイです。

まとめ

今回は、構造化プログラミングについて解説しました。

複数の処理を1つにまとめたものを、サブルーチンといいます。

プログラムを機能単位でサブルーチンとして細かく分けていき、その組み合わせによって全体を形作る考え方を構造化プログラミングといいます。

構造化プログラミングには、順次・選択・繰り返しという3つの制御構造があります。


というわけで、今回はここで終わりです。何か参考になる情報があれば嬉しいです。

最後までお読みいただき、ありがとうございました。