こんにちは、megaoです。
プログラミングについて勉強したいけど、今まで、プログラミングについて勉強したことないから、イメージ湧きにくいな。何か身近なもので、プログラミングをイメージできるものないかな?
本日は、こんなお悩みにお答えします。
身の回りにあるものでプログラミングをイメージ
そもそもプログラミングについてよく分からない方はこちらをどうぞ。
イメージって大切ですよね。
本日は扇風機を例に、扇風機の動きと、プログラミングやプログラムがどのように関係しているか、お話しします。
扇風機の機能説明
まず、プログラムに入る前に、扇風機の機能説明です。
扇風機を操作するのに、全部でボタンは3つあります。
- 電源ボタン
- 風量切り替えボタン
- タイマー切り替えボタン
一つずつ説明します。
電源ボタン
- 電源ボタンを押すと扇風機が、風量「弱」で作動開始
- もう一度、電源ボタンを押すと扇風機の作動が停止
- 電源ボタンが押されただけでは、タイマー機能は設定されない
風量切り替えボタン
- 扇風機が作動している状態で1回押すごとに、弱→中→強→弱 (元に戻る)と風量が切り替わる
タイマー切り替えボタン
- 扇風機が作動している状態で1回押すごとに、タイマーなし→1時間→3時間→5時間→タイマーなし(元に戻る)と切り替わる
- 設定時間が経過すると、扇風機が停止
プログラムを考える
扇風機の機能説明を元に、プログラムを考えた場合、プログラムの作りがどのようになるか考えてみましょう。
プログラムとは、
「モノ(扇風機)に対して、やってほしいこと(ボタンが押されたら、風量を変える)をあらかじめ準備しておき、実際その場面(ボタンを押す)が来た時、やってほしいこと(風量を変える)を行うこと」です。
これを踏まえ、考えることは3つあります。
- やってほしいことを考える
- どういう時にやってほしいかを考える
- やってほしくない時は何をするのかを考える
やってほしいことを考える
やってほしいことは、4つあると思います。
- ①扇風機を回す
- ②扇風機を止める
- ③風量を変更(弱、中、強)
- ④タイマーを変更(タイマーなし、1時間、3時間、5時間)
どういう時にやってほしいかを考える
やってほしい時とは、何かの条件が成立した時です。
例えば、スマホのボタンが押された時、信号が赤から青に変わった時、ご飯を食べ終えた時など、その条件が成立することで、やってほしいことをプログラムが行ってくれます。
やってほしくない時は何をするのかを考える
やってほしくない時とは、結局、条件が成立していない時(不成立)と同じで、現状維持と考えて問題ありません。
プログラムをイメージしてみよう
上で3つの考えることについてお話しました。
それをもとに、やってほしいことに対して、「条件」「成立」「不成立」が何になるか考えてみましょう。
「①扇風機を回す」の場合
- 条件:電源ボタンがおされた
- 成立:風量「弱」、タイマー「タイマーなし」で作動開始
- 不成立:作動を開始しない
「②扇風機を止める」の場合
- 条件:扇風機が作動開始しており、もう一度電源ボタンが押された。または、タイマーの設定時間が経過した
- 成立:扇風機の作動を停止
- 不成立:今の作動を継続
「③風量を変更」の場合
- 条件:扇風機が作動開始しており、風量切り替えボタンが押された
- 成立:風量が弱なら中、または中なら強、または強なら弱に風量を変更
- 不成立:今の風量を継続
「④タイマーを変更」の場合
- 条件:扇風機が作動開始しており、タイマー切り替えボタンが押された
- 成立:タイマーが「タイマーなし」なら「1時間」、または「1時間」なら「3時間」、または「3時間」なら「5時間」にタイマー設定時間を変更
- 不成立:今のタイマーの設定を継続
出揃いましたね。
結論からお話しすると、プログラムのイメージは以上です。
えぇ?もう終わり?と思うかもしれませんが、終わりです。
扇風機のプログラムは、①から④のやってほしいことに対して、条件を順番に繰り返し判断し、成立していたら、それを行う。不成立なら、今の状態を継続する。
たったこれだけです。
細かいことを言えばたくさんありますが、プログラムをイメージするという目的としては、十分かと思います。
実際は、ここから、プログラミング言語を用いて、機械がわかるように、ソフトを作っていきますが、その話は、また後日。
まとめ
プログラムは、常に、条件が成立しているかどうか判断し続けています。そして、条件が成立した場合、やってほしいことを行います。その後は、また条件が成立しているかどうか判断し続けます。この繰り返しがプログラムです。
いかがでしたか、イメージはできましたか?
というわけで以上になります。
コメント