今回はプログラムの基本的な制御構造を解説します。
ここで扱う制御構造を学べば自分でプログラムを書くことができるようになります。
基本制御構造とは
基本制御構造は以下の3つの制御構造を指します。
- 連接(順次)
- 選択
- 反復(繰り返し)
これらの構造が何を指すのか順に確認しましょう。
連接(順次)
文を逐次実行することを指します。
以下のプログラムを実行してみましょう。
print("あ")
print("い")
print("う")
print("え")
print("お")出力は以下の通りです。
あ
い
う
え
お出力より、printが上から実行されているのが分かります。
これが逐次実行されるということです。
Pythonでは上から順に文が実行されるため、連接を意識する必要はありません。
選択
条件によって実行される文を選択することを指します。
例えば、雨が降っていたら傘をさすのが普通です。
でも雨が降っていなかったら傘をさす人はいないでしょう。

この一連の流れでは、「雨が降っているか」という条件のもとで「傘をさす」、「傘をささない」という動作を選択していました。
このような構造を選択と言います。
このような選択をプログラミングでも記述することができます。
Pythonではif文や、swich文などがあります。
詳しくは以下の記事をご覧ください。
反復(繰り返し)
反復とは判定に合わせて処理を繰り返すことを指します。
例えば、10回ゲームで”ピザ”と10回言うときを考えてみましょう。
今何回ピザと言ったか判定して、10回言っていなければピザと言います。
10回言っていればピザと言わずにゲームを終了します。

この一連の流れでは、発言回数を判定して”ピザ”と繰り返し言う処理を行っていました。
この繰り返しを反復といいます。
プログラミングでは、繰り返す部分を何度も記述する必要がなくなったり、
繰り返す回数を自由に変えたりすることができます。
Pythonではfor文やwhile文があります。
詳しくは以下の記事をご覧ください。
構造化定理
構造化定理は以下のように説明されます。
構造化定理(こうぞうかていり、英: Structure theorem)とは、任意の一入力・一出力関数は、順次(sequence)、選択(ifthenelse)、繰り返し(whiledo)の3つの基本制御構造からなる関数と等価であることを主張する定理である。
wikipedia,URL:https://ja.wikipedia.org/wiki/%E6%A7%8B%E9%80%A0%E5%8C%96%E5%AE%9A%E7%90%86
wikipediaでは小難しく説明されていますが、要するにこれらの構造を用いれば、どんなに複雑な制御構造でも作ることができるということです。
今回学んだ3つの制御構造の重要性が見えてきたでしょうか。
プログラミングするときに構造化定理を意識することはほとんどないと思いますが、知っているか否かでプログラムへの理解度が大きく変わります。
まとめ
今回は逐次、選択、繰り返しの制御構造を解説しました。
この三つの制御構造を知っていると、プログラムを記述する際の方向性が見えてきます。
プログラムを組む上での土台となりますので、これらの概念を理解しましょう。
