プログラムは3つしかない

― 順次・選択・反復で全てができている ―

プログラミングを学び始めると、

  • 条件式
  • ループ
  • 上から順に実行

とバラバラに登場します。

しかし実はこれらは別々の概念ではありません。

すべてまとめて1つの考え方に整理できます。


■ 結論

プログラムの流れは次の3つだけで構成されています

プログラムの三つの基本構造

  1. 順次(Sequence)
  2. 選択(Selection)
  3. 反復(Iteration)

これを

基本制御構造

または

制御構造

と呼びます。

これは構造化プログラミングの最重要概念です。

つまり極端に言うと

どんな巨大なシステムでもこの3つの組み合わせで出来ています

ゲームも銀行システムもOSも同じです。


■ 図で理解する

順次(上から下に実行)

開始
 ↓
処理A
 ↓
処理B
 ↓
処理C
 ↓
終了

C#の例

Console.WriteLine("開始");
int x = 10;
Console.WriteLine(x);

ただ並んでいるだけです。

最も基本となる流れです。


選択(条件分岐)

        条件判定
        /      \
     YES        NO
      ↓          ↓
   処理A      処理B
        \      /
          合流
if (score >= 60)
{
    Console.WriteLine("合格");
}
else
{
    Console.WriteLine("不合格");
}

プログラムが「判断」する部分です。

現実世界の例

  • 信号が青なら進む
  • 赤なら止まる

人間の行動そのものです。


反復(繰り返し)

     条件判定
        ↓
     YES ──→ 処理
        ↑      ↓
        └──────┘
     NO → 終了
for (int i = 0; i < 3; i++)
{
    Console.WriteLine(i);
}

同じ処理を何度も行います。

現実世界の例

  • 商品を10個数える
  • 全員の出席を確認する

コンピュータが最も得意とする部分です。


■ なぜこの話が重要なのか

初学者がつまずく理由の1つは

  • if は別物
  • for は難しい別物

と感じてしまうことです。

しかし本質は違います。

ただの流れの形が違うだけ

  • 一本道 → 順次
  • 分かれ道 → 選択
  • グルグル回る道 → 反復

これだけです。

理解が一気に軽くなります。


■ 強調したいポイント

新しい文法を覚えているのではない

流れの形を1つ覚えているだけ

これを理解すると

  • 新しい言語
  • 新しいフレームワーク
  • 新しい環境

に対する恐怖が減ります。

なぜなら

中身は全部同じ構造だから

です。


■ まとめ

プログラムの流れは3種類だけ

  • 順次
  • 選択
  • 反復

これらを合わせて

基本制御構造

と呼びます。

そして重要な事実があります。

プログラミングの上達とはこの3つを自在に組み合わせられるようになること

複雑なアルゴリズムも

ゲームロジックも

業務システムも

すべてここから始まっています。

訪問数 2 回, 今日の訪問数 2回

C#

Posted by hidepon