プログラムを構成する3つの要素解説!順次、分岐、繰り返し

ゲームプログラマーの悟です

この記事では

  • 順次、分岐、繰り返しって何なんだろう?
  • プログラムを少しやってみたけどまだ何が何だかよくわかっていない
  • プログラムってどんな感じに動いてるの?魔法?

という人の為に、プログラマーとして実際に現場で仕事し教育担当もしていた悟が

  • 順次、分岐、繰り返しの考え方
  • 応用の仕方の例

を紹介します

悟

この3つでプログラムは出来ています!

イメージしながらしっかりと意識しましょう!

※自動販売機での例↓

これら3つを意識しましょう!

問題解決能力の鍛え方でも、この3つを意識するとさらに細部まで考えることが出来ます!

問題解決能力って何?っとなった人は
ぜひ下記の記事も参考にしてみてください▼

では実際に詳細を解説していきます

順序立てて、順番に説明できるものは順次になります

基本的にプログラムで表現する時も、上から下へ順番に処理が流れます

先程の自動販売機の例をもとに自分の行動を書き起こしてみましょう!

  1. 自動販売機の前に行く
  2. 欲しい商品を探す
  3. 欲しい商品を買える金額をいれる
  4. ボタンを押す
  5. 商品を取り出す

このように順番に行動することをプログラムを、順次処理と呼びます

順次の注意点は順番を変更するとうまくいかないことです

例えば、先程の順番を変えてみます

  1. 欲しい商品を探す
  2. 自動販売機の前に行く
  3. 商品を取り出す
  4. 欲しい商品を買える金額をいれる
  5. ボタンを押す

順番を変えてみましたが、いかがでしょうか?

多分この通りに動くと正常に商品は買えないと思います

順番が違うだけでもプログラムを実際に組むと時に問題になる理由がこれです

順次を考えるときには順番には気をつけましょう

最後に、順次の動きを図で確認しましょう!

悟

順次は最も基本的な動きですが、

この処理順を間違えることは多々あります

順次処理についてプログラミングの仕方を知りたい方は
ぜひ下記の記事も参考にしてみてください▼

説明する時に、疑問形で表されるか”もし〜だったら”と表現されるものが分岐になります

基本的にプログラムで表現する時も、場合によって処理を変えて流れます

先程の自動販売機の例をもとに実際に分岐を見てみましょう!

商品の価格以上に硬貨が入れられているか?

YESだった時
1.購入ボタンが光る
2.ボタンを押す
3.商品が落ちてくる

NOだった時
1.購入ボタンは光らない
2.硬貨を入れられるまでまつ

このようにYESの時と、NOの時で処理が変わるプログラムを、分岐処理と呼びます

順次の注意点は、分岐するための条件が適切かどうかです

例えば、条件を複数あげてみます

  • 商品の価格と入れられた硬貨が同じかどうか?
  • 硬貨が商品の価格を超えているか?
  • 硬貨は商品の価格よりも下回っていないか?

条件を複数あげてみましたが、いかがでしょうか?

これらは人とのコミュニケーションに置いてはニュアンスが伝わると思いますが、

プログラムだと意図しない挙動になることがあるという問題があります

分岐の条件は何が適切かも色々考えてみましょう

最後に、分岐の動きを図で確認しましょう!

悟

分岐があると表現がより細かくなります

条件は複数考えて見ましょう!

”手順を繰り返す”など、一定の処理を何度か繰り返すものは繰り返しになります

基本的にプログラムで表現する時も、処理の塊を何回か繰り返すように処理が流れます

先程の自動販売機の例をもとに、より簡略化して見てみましょう!

  1. お金を入れられるのを待つ
  2. 誰かが購入する
  3. 商品が出た後、1.に戻る

このように、順番に処理していきまた最初に戻るプログラムを、繰り返し処理と呼びます

繰り返しの注意点は、繰り返すものが適切かどうかです

実際に見てみましょう

  1. 自動販売機の電源を入れる
  2. お金を入れられるのをまつ
  3. 誰かが購入する
  4. 商品が出る
  5. 自動販売機の電源を切る
  6. ここまでの手順を繰り返す

いかがでしょうか?

このままでは商品を買うたびに自動販売機の電源ON・OFFまで繰り返してしまいます

この場合、適切なのは、2〜4の手順を繰り返す事です

最後に、繰り返しの動きを図で確認しましょう!

悟

繰り返しはプログラムに落とし込むと

予期せぬ挙動をすることがありますので注意しましょう!

ここまでで、プログラムを構成する3つを1つずつ紹介してきました

しかし、本当に必要なのはここから先です

これら順次・分岐・繰り返しは
それぞれ”ドミノの1ピース”であり組み合わせて並べることを意識する必要があります

順次・分岐・繰り返しという能力が違うドミノの組み合わせで世の中のものは動いています

それを意識するだけで日常の中にあるものがどのように動いているかを、
より具体的に想像することができます

練習するためのワークも作りましたので、ぜひ前回の記事も参考にしてみて下さい

まとめた表と各種、考え方と注意点をまとめます

【考え方】
順序立てて、順番に説明できるもの

【注意点】
順番を変更するとうまくいかない時があること

【考え方】
疑問形、”もし〜だったら”で表されるもの

【注意点】
分岐するための条件が適切か
どうか

【考え方】
”手順を繰り返す”または
”くりかえす”と表されるもの

【注意点】
繰り返すものが適切かどうか

プログラムは極端な話この3つの組み合わせです

逆を返せばこの3つ以外に他にないと思います

なのでプログラムに落とし込むときには、この3つを意識しましょう!

コメント

タイトルとURLをコピーしました