プログラムは処理の順番を決めること・・・と考えるのが自然な考え方です。(1)で話したように運動会のプログラムに似ています。
コンピュータのプログラムが、運動会のプログラムと違うのは、その処理内容が結構複雑で、簡単には表しきれないということです。
また、場合によって複数回、同じことを実行する(処理する)ことがある、という点も異なる点でしょう。
...
図2.1 運動会のプログラムの例
1. 開会式 (9:00~9:30)
2. 1年生50m走 (9:40~10:00)
3. 2年生80m走 (10:10~10:30)
・・・
9. 全学年組み体操(14:00~14:30)
10. 閉会式 (14:40~15:00)
...
図2.1のように運動会のプログラムは単純で、行う種目・競技が順番に実行されます。多くても十数種類の競技で、一度実行されたものが再度行われることは普通はありません。
コンピュータのプログラムもこのくらい単純なら良いのですが、そうは行かないことがほとんどです(苦笑)
複雑で多くの処理が多数出てきます。基本的に順番に実行されることは運動会のプログラムと同じですが、時に実行する処理を選択することもあります。つまり、選択の結果、実行されない処理もプログラムの中に記述されていたりします。面倒な話ですね。
さらに二回以上実行される処理があったりします。何度もやる(やり直す?)なんていうことは運動会では普通はありません。
運動会のプログラムなら、図2.1のように順番を表す番号(1,2…とか書いてあるもの)と種目・競技が書いてあれば一目瞭然ですが、コンピュータのプログラムはそうは行きません。
基本は「順に実行(順次処理)」ですが、時には「選択して実行(処理の条件分岐)」や、複数回の「繰り返し実行(ループ処理)」があったりします。
ここにプログラミングで重要な認識の一つ、「プログラムの制御(構造)」があります。
プログラムの実行(の順番)を「制御」するということです。
嚙み砕いて言うと、まず何を実行し、次に何を実行するかを決めるということです。
プログラムの制御構造は基本として次の3つがあります。
- 順次処理
- 処理分岐
- 繰り返し(ループ)処理
この3つの制御構造の組み合わせで全てのプログラムは書ける・・・と、昔のコンピュータサイエンスの大御所が言ったのです。プローガーとカーニハンという人たちです。
従って当時のプログラマ(1970年代頃のプログラマ)はこの制御構造を使ってプログラムを書くということを基本的な方針としました。
「構造化プログラミング」と言います。上記の話は正確には、構造化プログラミングの最初の方針でありポイントです。
もう少し先の記事で「構造化プログラミング」の他の重要なポイントもまとめて話すことにします。
(2022-03-01→2022-03-23)
目次
コメント