プログラミング言語をいきなり覚えようとすると、わけわからなくなって混乱してしまいます。
まず、プログラミング言語を使う前に、プログラミング言語の考え方とはどういうものなのかを覚えておきましょう。
自動販売機を例に考えてみよう
何で自動販売機?と思いましたか?笑
プログラミングの学習でよく使われるのが「自動販売機」です。
自動販売機はお金を入れると、入れたお金に合わせて買えるジュースのボタンが光って、押すとジュースとお釣りが返ってくるというシステムです。
そんなことは誰でも知ってますよね?すみません。
ですが、このような一連の動作の事をアルゴリズムと呼び、このアルゴリズムがプログラミング言語の基礎的な考え方です。
今紹介した自動販売機のシステムをプログラミング言語の考え方に直してみましょう。
自動販売機の機能をプログラミング言語に直すとこうなる
まずは、下の画像を見てみましょう↓
これは、さっき紹介した自動販売機の機能をまとめたものです。
「あなたの行動」によって、自動販売機の行う処理が臨機応変に変わっていると思います。
そして、これらの動きをプログラミング言語ではこのように考えていきます↓
プログラミング言語は、上から下に向かって書かれたコードを読み取り順番に処理をしていきます。
基本的に上の図のように、プログラムの行動は1方通行なのですが、「お釣りを返すか?」というように処理に「分岐」を持たせることが出来ます。
プログラムは分岐の塊!
この「分岐」を複雑に付け加えていくことで、自動販売機のように臨機応変な行動が出来るようになります。
ゲームでも、「Aボタンを押すとこの技を繰り出し、Bボタンを押すとダッシュする」というような処理に分岐を持たせて複雑なあなたの要求に対応して処理を行っているのです。
このような、「分岐」を繋ぎ合わることで自分の思った通りの動きを持つプログラムを作る事が出来ます。
なので、プログラミング言語はあまり難しく考える必要はありません。
プログラミング言語は機械に読ませるための言語です
プログラミング言語は、人間の理解できる言葉と機械(コンピュータ)が理解できる言語のちょうど中間にある言語です。
要するに、プログラミング言語は人間と機械の共通語なのです。
先ほども言った通り、機械は書かれたコードを上から順番に読んでいきます。
はじめに機械(コンピュータ)に知ってほしい情報を与え、下に行くにつれて与えた情報を元に様々な情報処理や計算をさせて、結果を導き出させます。
この例だと、AさんとBさんの所持金を先にコンピュータに教えておき、この情報を元に「所持金の合計金額」と「ジュースが買えるかどうか」を導き出させています。
これだけだとこのプログラムが何のために存在するのかわからないと思いますが、例えば「AさんBさん」というペアが他に100、1000ペアいてそれぞれ所持金が違っていた時、1ペア1ペア合算値を計算してジュースが買えるかどうかを自分で判定する必要があったとしたら、ゾッとしますよね?笑
上のプログラムはそんな時に役に立ちます。
「Aさんは100円持っています。」という文章を「AさんはX円持っています」というように変えてやります。
「X円」ってなんだよ!?と思われたかもしれませんが、まず落ち着きましょう。
中学校で「変数」という言葉を習ったのを覚えていますか?
変数は読んで字のごとく、その時その時で入る値が変わるから、代わりにXとかYとかって名前だけ置いてやり過ごそうぜ!っていうようなヤツです。
例えば、「今の2時間前の時間を知りたい」って場合。
X(今の時間) – 2 =
こんな風に変数を使いその時の時間によって計算結果が変わっていきます。
今の時間が10時だったら、
X(今の時間)= 10
X(今の時間は10時)- 2 = 8
このように計算し、8時という計算結果になりました。
今の時間が7時なら?
X(今の時間)= 7
X(今の時間は7時)- 2 = 5
先ほどと計算結果が異なり5時となりますね。
何となくわかってもらえたでしょうか?
変数は数字を入れるための箱のようなものです。
プログラミングの話に戻ると、先ほどの「AさんはX円持っています」は、それぞれのペアのAさんが持っているお金がそれぞれ違うので、変数Xというものにとりあえずしておこうという事です。
Bさんも同じく「BさんはY円持っています」として、上のプログラムの処理をペア数分だけ繰り返してあげると、一瞬で結果を得ることが出来ます。
このような書き方がプログラミング言語の基本になります。
まとめ
今回紹介したのは、プログラミング言語の大まかな考え方でした。
今、上で紹介したことを全て理解する必要はありません。
ここでは雰囲気だけわかっていただければOKです。
全然イメージ出来なかったという方も、実際にプログラムを組んでいけば「そういう事か!」と必ずなります。
ここまでの事を踏まえて、次回はプログラミング学習に使う言語を選ぼう!
■次のページ