プログラミングって何?

このブログでは、一般的に使われてる言葉でも、何か気づいたら、そもそも何だろう?という記事を書いていますが、今日は「プログラミング」について考えてみたいと思います。

そもそもプログラムってなに?

そもそもプログラムって何でしょうか。
コンピュータから離れてみると、式次第のこともプログラムと言いますよね。あとテレビ番組もプログラムと呼びます。
学芸会のプログラムとか。
あと、学校のカリキュラムもプログラムと呼びますね。
せっかくなのでWordのリサーチ機能を使ってプログラムについて調べてみましょう。

だそうです。
コンピュータではないプログラムのことは書いてませんね。
そして解説がよくわからない専門用語なので、これをこのまま受講生には話せないなと。
なので、ここは私の思っているイメージでお話します。
プログラムはズバリ、「物事を進める手順」のことです。
式次第も、コンピュータプログラムも、物事の進む手順が記されています。時間割も一日の授業がどう進んでいくか曜日ごとに決まっているものですよね。
ちょい苦しいですが、そんな感じのものです。

プログラミングとプログラマとプログラム

ここは言葉なのですが、プログラムとプログラミングを一緒にしている場合がありますが、意味が違います。
プログラムは「物事を進める手順」だったのですが、プログラミングは、プログラム+ingなので、「プログラムをすること」の行動のことです。
プログラミングスクールは、プログラムをすることの教室です。
また、プログラマはプログラム+erなので、プログラムする人のことです。
いま、コンピュータ関係で一番集客できるスクールはプログラミングスクールらしいのですが、まさにプログラムをする人を養成するスクールなのです。

プログラムは何で動いている?

プログラムは、何で動いているか。ちょっとこれは解説がくどくなりますが、
「電気で動くコンピュータ装置上の計算式で動いている」
ということになります。
タダでは動かないのです。今のところ電気が必要です。
電気で動くものって実際に見えないから何で動いてるかわからないんですよね。
で、「計算式で動いている。」
コンピュータに詳しくない方は、とても違和感があると思います。
だって、計算ですよ!足し算とか引き算じゃないですか。それでYoutubeにおもしろ動画作って投稿できちゃうの?もっとなんか機械が動いてるんじゃないの?と思うでしょう。
でも、本当に計算式で動いています。
ただ、ものすごく複雑な計算をしています。それをとんでもない速さで計算することができるので、あたかも誰かが手作業しているかのようなことまでやってくれるのです。
(これ以上突っ込むと電子回路の基礎からやっていかないといけなくなるので割愛)

制御

コンピュータは基本的な計算をするほかに、もう一つ特殊なことをしています。
それを私は「制御」と呼んでいます。制御って英語だとコントロールのことなんですけど。
制御の種類を2つ紹介します。

くりかえし

同じような動作を指定した回数繰り返します。
無限に繰り返すこともあるし、材料ある分繰り返してみたいなこともします。

分岐

もしもどうだったらどう動作するかを指定します。
もしも温度が低かったら温度を上げるみたいなことです。

この制御の中に計算で作られた「処理」を埋め込んでいくことで、プログラムは作られています。

実際のプログラムの構造

では、ここで制御と処理を組み合わせた例を紹介します。
プログラムというより作業手順書だと思ってください。
エアコンの温度調整を例にします。

  1. スタートする
  2. 温度計を見る
  3. もしも温度が20度を超えていたら、冷房にする、そうでなければ暖房にする
  4. もしも時刻が18時になったらエアコンの電気をOFFにし、プログラムを終了する
  5. 温度計を見るに戻る

はじめスタートして、温度計を監視する処理をするわけですよね、そして「もしも」温度が20度なら「冷房」、そうではなければ「暖房」とします。そして「もしも」時刻が18時を過ぎたらエアコンの電源を切る処理をして、プログラム終了の処理。ここまで行ったらまた温度計を見るという繰り返しです。スタートしてから時刻が18時まで繰り返します。
このプログラムのおかげでおそらく部屋の温度は20度近辺で安定するでしょう。

フローチャート

このプログラムの流れをフローチャートというプログラミングで使われる流れ図で表現してみましょう。Wordの挿入タブの中の図で種類の中にフローチャートってありますよね。それで書きます。


流れをわかりやすくまとめることができます。

プログラムを書いてみる

上記のプログラムを日本語で書いてみます。
1・スタート
2・温度計を見る

3・温度が20度を超えていたら冷房、そうではなければ暖房にする

4・18時を過ぎたらエアコンOFFし、終了

5・2へ戻る

いかがでしょう。流れが文章として整然としましたね。
この整然としているのがプログラミングの神髄です。
人に伝えるときは、なあなあでも伝わるものは伝わります。
でもコンピュータはなあなあでは動かないのですべて指示する必要があります。

まとめ

大事な伝えたいポイントがいくつかありましたので、最後に纏めます。

  • プログラムは電気で動くもので、計算を処理している。
  • 処理は、繰り返しと分岐で制御される
  • プログラミングは、動いてほしい流れを、繰り返しと制御の間に処理をコンピュータが理解しやすく配置すること

すべてのプログラムは、こうやって作られています。
あとは、処理速度やメンテナンス性、安定性の品質のいいものを作れるプログラマが優秀と言われています。

コメント

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