第9話 「プログラム」って何?

第9話 「プログラム」って何?

わたる
プログラムだらけってわれても、ピンとこないなぁ。。
はかせ
ホッホッ、それでは「プログラムとはなに?」からはじめようかのう。
カンタンにえば、コンピュータがなにをすればいのかをしるした手順書てじゅんしょじゃよ。
くるみ
手順書てじゅんしょ
はかせ
うむ。
スケジュールや予定よていってもかまわんじゃろう。
わたる
えぇー?
コンピュータってアタマいのに、なんかフツウだね。
はかせ
いなかしこいとはえんぞ。
高速こうそく正確せいかく計算けいさんできるが、コンピュータには常識じょうしきもなければかんがえることもできないからな。
ナビ
AIでられる「人工知能じんこうちのう」が注目ちゅうもくされているのも、いまのコンピュータは指示しじされたことしかできないからニャ。
はかせ
家電かでんれいじゃな。
自動じどうこおりつく冷蔵庫れいぞうこ、ちょうど温度おんどあたためてくれる電子でんしレンジなどは、プログラムがなければ成り立な たたんのじゃよ。
くるみ
そうなんだ!
いつでもこおりがあるのって、プログラムのおかげなのね。
はかせ
プログラムといってもシンプルなものじゃがな。
ときどきこおりりょうをチェックしなさい、すくなければ追加ついかしなさい、たくさんあるときはなにもしない、といった具合どぐあいじゃ。
わたる
そういわれるとカンタンにおもえてきたけど…
はかせ
じゃが人間にんげん言葉ことばつうじないからの、手順書てじゅんしょは「コンピュータ」でつく必要ひつようがある。
それがプログラミングじゃよ。
ナビ
スマホやパソコンのアプリも「プログラム」ニャし、WindowsウィンドウズAndroidアンドロイドといったOS(オー・エス)もプログラムの仲間なかまニャ。
くるみ
おもしろそう!
プログラムをつくるには、なにが必要ひつようなの?
はかせ
なにがしたいか次第しだいじゃ。
ゲームやアプリをつくりたいなら、パソコンじょうでプログラミングしてそのまま実行じっこうできる言語げんごいじゃろう。
ロボットをつくりたければマイコンじゃな。
ナビ
マイコンはマイクロ・コントローラのりゃくで、センサーやモーターなどをつないでうごかせるニャ。
最近さいきんは、micro:bit(マイクロビット)のようにプログラミング言語げんご使つかわないマイコンもあるニャ。
わたる
ゲームとロボットかぁ、どっちも魅力みりょくだなぁ~!
気絶きぜつするほどなやましい~
はかせ
ホッホッ、どちらもあそびが目的もくてきのようじゃが、プログラムの勉強べんきょうになるからいじゃろう。
じゃが、うまくつくれないとイヤになるからな、カンタンそう!とおもえたものがオススメじゃな。
ナビ

ナビれぽわくラボでも紹介しょうかいしているから、興味きょうみがあるひとは参考さんこうにしてしいニャ!

アンドウくん
ワタシのあたらしいプログラム、はやつくってくださいネ。。。

質問:「プログラム」って何?

 

答え:コンピュータが、いつ、なにを、どのようにおこなうべきかを記した「手順書」です。

学芸会や運動会でご存じのように、プログラムは「予定」「計画表」と訳されます。コンピュータのプログラムも同様で、実行させたい内容を記した手順書と表現できます。

もっともシンプルなプログラムは、時間の流れに沿って実行すべき内容を A→B→C→D… のように指定したもので、初心者でも比較的カンタンに作れます。しかし一方的に命令しているだけなので、処理が間に合わない、思ったよりも早く済んだ、など、予想外のできごとに対処できません。そのため「もし〇〇なら□□しなさい」のように回避するのが一般的で、これを条件分岐や条件実行と呼びます。

これはセンサーを使う場合も同じで、「もし暗くなったら」→照明をつける、「もし障害物にぶつかったら」→バックする のようにプログラムして処理を自動化しているのです。

プログラムや条件と聞くとムズカシそうに思えるかもしれませんが、「雨が降ったら」→傘をさす、「水曜の朝になったら」→可燃ゴミを出す など、われわれが普段おこなっていることを、コンピュータの世界に置き換えたに過ぎません。思い通りのプログラムが作れないときは、コンピュータの目線でシミュレーションすると良いかもしれませんね。