はじめに
今回の記事では、前回の「プログラミングって何?【第1回】」で解説した「変数」について解説していきます。プログラミング未経験や学び始めの方に読んでいただくことを前提として、つまずきやすい部分(実際に筆者がつまずいた部分)や、変数を理解するうえでの前提知識や捉え方を書いていきます。
もくじ
- 「変数」の最初のイメージ
- 数学の「変数」?
- プログラミングの変数って?…値に名前をつけること
- 変数のつかいかた
- 別の値を代入できる
- 演算ができる
- 「変数」といっても数以外も割り当てられる
- 変数のメリット
- 変数の書き方と注意点
- まとめ
変数のイメージ
数学の変数・・・?
前回のブログ「プログラミングって何?【第1回】」では、「変数はプログラムを作るうえで必要な情報をデータとして扱うためのもの」と解説しました。
変数というとまず数学のイメージが浮かびますが、「数学が苦手だったらプログラミングの変数も分からないかも…」と考えてしまうと思います。数学が苦手な人の場合、与えられた問題に対して「なんでここで変数が必要なの?」と疑問に思ってしまうと、そこでつまづいてしまいます。
しかし、プログラミングでの変数は、「どういうときに変数を使うのか?」がわかりやすいです。第1回のおさらいですが、「大まかな流れを考える→ブロックごとに考える→ひとつひとつの処理を考える」というように逆算していくと、扱いたいデータ(変数として扱いたいデータ)が見えやすいからです。
プログラミングにおける変数って?
では実際にプログラミングにおける変数とは何なのでしょうか。
簡単にいえば、「変数は値の名前」です。値に名札をつけるイメージです。
たとえば、縦2cm、横4cmの長方形があります。このような長方形の体積を求めるプログラムを書くにはどうすればよいでしょうか。
長方形の体積を求めるときに、わかりやすいようにこの縦2cm、横4cmに名前を付けてみます。
Height(たて)= 2
Width(よこ)= 4
この左側の名前(Height(たて),Width(よこ))が変数です。
変数のつかいかた
値につけた名前を変数としました。
・・・・・・それでどうすれば?
値に名前をつけたところでどうすればいいのでしょうか。
変数には、足したり引いたりかけたり割ったり、全く違う数値に上書きしたり、後から値を変更できる性質があります。
この性質について忘れてしまうと「名前はつけたけどどうするんだっけ…」となります(筆者もなりました)。
☆変数では演算ができる!
さきほどの例の、縦2センチ、横4センチの長方形について考えてみます。この長方形の体積を求める式は2×4で、体積は8センチメートルです。これを変数で表してみると、
Height(たて)=2
Width(よこ)=4
Volume(体積)=Height(たて)*Width(よこ)
この場合、Volume(体積)は2×4で8となり、同じ意味を表します。
このように、変数を用いて演算することができます。
☆プログラミングでの変数は別の値で上書きできる!
さきほどの長方形の体積を求めるプログラミングの文では
Height(たて)=2
Width(よこ)=4
Volume(体積)=Height(たて)*Width(よこ) Volume(体積)は8
となり、この状態では体積は必ず8になってしまいます。たてやよこの長さが異なる長方形の体積を求めたい場合、この変数の値を書き換えることができます。
Height(たて)=3 ←3で変数を上書きしている。
Width(よこ)=4
Volume(体積)=Height(たて)*Width(よこ) Volume(体積)は12
このように、変数に対応する値を上書きすることができます。
☆「変数」といっても数以外も割り当てられる・・・変数には「型」がある
プログラミングの変数では変数による計算ができることがわかりました。では、変数は数値同士を計算するときにしか使わないのかというと、そうではありません。
変数にはいろんな「型」があり、文字などを扱うこともできます。
- int型(整数を扱う)
- float型(小数点を扱う)
- str型(文字列を扱う)
- etc…
つまり、文字の情報なども変数として扱うことができるということです。
しかし、先ほどの体積の計算のプログラムで、一部を文字の値の変数にするとどうなるのでしょうか。
Height(たて)=‘a’
Width(よこ)=4
Volume(体積)=Height(たて)*Width(よこ) Volume(体積)は・・・
この場合、Height(たて)は文字列型の変数、Width(よこ)は数値の変数となり、型が違うため演算をすることができません。計算する場合は、基本的に同じ型にする必要があります。
(文字列同士の場合、足したりすることが可能な場合もあります)。
変数を使うメリット
このように変数として値に名前をつけるとどのようなメリットがあるのでしょうか?ざっくり3つメリットがあります。
- 繰り返し使える
- プログラムが読みやすくなる
- 後でプログラムを修正しやすくなる
1 繰り返し使える
たとえば長方形の体積を求める文で考えると、一連のプログラムのなかで「体積の値をここで使いたい」と思った場合に、Volume(体積)と書けばすぐに体積を求めることができます。このように、何回も使うデータは変数にしておくと便利です。
2 プログラムが読みやすくなる
2×4や3×4では、体積を求める式だったとしても分かりづらいです。Height(たて)、Width(よこ)、Volume(体積)のように名前が当てられていると、一目で判別しやすくなります。
3 後でプログラムが修正しやすくなる
後でプログラムを修正したり、追加する場合変数として値を扱っておくと、変数の値を変更するだけで、変数を用いたすべての部分を一度に変更することができます。
たとえば・・・
Height(たて)=2
Width(よこ)=4
Volume(体積)=Height(たて)*Width(よこ) Volume(体積)は8
↑これのHeight(たて)が実は3だった!
Height(たて)=3と修正すれば、自動的にVolume(体積)も12となります。
変数の書き方と注意点
・変数は必ず左側に書く
〇Height(たて)=2
×2=Height(たて)
この形式の代入文は、右側の値に左側の名前が付くので、全く異なる意味になってしまいます。これは数学の変数とは違う部分なので、気を付けます。
・同じ名前はつけられない
Height(たて)=2
Height(たて)=4
ひとつのプログラムのなかでは、同じ名前の変数を複数使うことはできません(例外はありますが、今回は省略します)。上の場合、Height(たて)に4が上書きされるかたちになり、Height(たて)=4になります。
・英語の名前をつける
プログラミングでのさまざまな表記・機能はおもに英語が使われています。そのため、変数も英語表記にすることが望ましいです。最初は慣れませんが、プログラム学習のなかで少しずつ英語に触れていくと、英語で書かれた教材などにも対応できるのでがんばりましょう!
まとめ
プログラミングにおける変数とは、値に名前をつけることです。
値に名前をつけることで、値同士の計算や、値の上書きをすることができます。これらの変数にはそれぞれ型があり、数値を扱える変数や数値を扱える変数があります。変数を使うことによってプログラムのなかで何度も使うデータをすぐに呼び出したり、読みやすくなったり、修正が簡単になるメリットがあります。
変数の理解が進むことによって、これからの学習でつまずくことが減ると思います。実際、これらをまとめている筆者も、変数の基本的な性質を数学の変数と混同していたりすることに気づきました。別物であると捉えると苦手意識なく次のステップへ進めると思います。
ここまで読んでくださってありがとうございました!
コメント