プログラムの基本構造とは何でしょうか? これは特定のプログラミング言語に限らず、どの言語にも応用できる話です。
内容は非常にシンプルで難しくありません。今後の助けになるので、ぜひ理解してください。
3つの基本構造
先に名前を出すと順次、選択、反復です。この3つの構造を使えば、どんなプログラムでも作れると言われてます。
では、この3つは何を意味するのでしょうか。順番に解説していきます。
![3つの基本構造](https://takemi.blog/wp-content/uploads/2023/09/450721A7DBA44222B391291CE78837DD_0001.webp)
順次 (sequence)
最もシンプルな構造で、処理が上から下に進むことを意味します。この上から下に進むはプログラムの考え方で非常に大切です。
この後、他の構造のことも説明しますが、極論プログラムは上から下にしか進みません。これを覚えておいてください。
![順次](https://takemi.blog/wp-content/uploads/2023/09/450721A7DBA44222B391291CE78837DD_0002.webp)
![](https://takemi.blog/wp-content/uploads/2024/03/D46ED1C42500466BB89D4AD9CC80048F.webp)
もっと複雑だと思ってました。
![](https://takemi.blog/wp-content/uploads/2023/09/00D90ECEDDFA45078397DE4A2A2F7549.webp)
そんなことないよ。この考え方が基本だから覚えておいてね。
選択 (selection)
決められた条件によって処理が分岐する構造です。例えば「18歳以下なら割引する」とかです。
![選択](https://takemi.blog/wp-content/uploads/2023/09/450721A7DBA44222B391291CE78837DD_0003.webp)
![](https://takemi.blog/wp-content/uploads/2024/03/D46ED1C42500466BB89D4AD9CC80048F.webp)
複数の分岐はどうすればいいんですか?
![](https://takemi.blog/wp-content/uploads/2023/09/00D90ECEDDFA45078397DE4A2A2F7549.webp)
n分岐は極論で分岐の分岐。必要な数だけ分岐すればいいんだ。
反復 (repetition)
同じことを決められた回数だけ繰り返す構造です。例えば「10%割引を3回実行する」とかです。
繰り返しを終了する条件は回数だけでなく、先程の選択のような条件の場合もあります。
![反復](https://takemi.blog/wp-content/uploads/2023/09/450721A7DBA44222B391291CE78837DD_0004.webp)
![](https://takemi.blog/wp-content/uploads/2024/03/D46ED1C42500466BB89D4AD9CC80048F.webp)
さっき上から下にしか進まないと聞きましたが?
![](https://takemi.blog/wp-content/uploads/2023/09/00D90ECEDDFA45078397DE4A2A2F7549.webp)
Aって処理を3回繰り返す場合はAAAって処理になるでしょ。これって上から下に進むのと同じだよね。
![](https://takemi.blog/wp-content/uploads/2024/03/D46ED1C42500466BB89D4AD9CC80048F.webp)
うーん。屁理屈っぽい。
![](https://takemi.blog/wp-content/uploads/2023/09/00D90ECEDDFA45078397DE4A2A2F7549.webp)
まぁ、これには反論もあると思う。それでもプログラムは上から下に進むのが原則だよ。
あとがき
真面目にプログラマを目指して勉強すれば、この先で関数やラベルなど、様々な機能を知ると思います。
それらは見た目では別の場所に飛んだり、遥か彼方に移動したり、基本構造と話が違うと思うこともあるでしょう。
しかし、それは大枠で見てるに過ぎず、もっと小さな単位で見れば全て基本構造に当てはまります。
この小さな単位で考えることは大切です。大枠で理解できない場合は小さく分解してみましょう。
恐らく1つ1つは非常にシンプルで、それらを理解できれば大枠の処理も理解できるはずです。
この記事は参考になりましたか?
コメント