【第2章】変数を使う
2020.03.18
 ノンプラグラムモードでの計算のやり方はおわかりいただけたでしょうか。このカテゴリーをご覧いただいているほとんどの方は「いいから早くプログラミグを教えてくれ」とお思いのことと思います。しかし、プログラムとは何ぞや、ということをご理解いただくためにはもう少しノンプログラミングモードで覚えていただきたいことがあります。今しばらくご辛抱ください(またかよ!)。

[変数の使い方]

 ではTiny BASICを起動してください。実行画面がOK表示になっていることを確認したら、A=10と入れて【ENTER】を押してください(Tiny BASICのノンプラグラミングモードでは何かを入力するときは最後に【ENTER】を押す必要があります)。【ENTER】を押しても今度は何も起こりませんね。ただ、コンピュータの中では「今入れた10という値が記憶された」ということが起こっています。コンピュータの内部動作は私たちの目には見えないだけのことです。そしてコンピュータの記憶装置(正しくは主記憶装置、後の章で詳細を説明します)は無限ではありませんがとてつもなく容量が大きいですから、今入れたデータが記憶装置のどこに入ったかをわかりやすいように「付箋」を貼っておきます。この例では付箋に相当するのが A です。この付箋のことをプログラミングの世界では変数とよびます。変数という言葉は元々数学で使われるものです。数学では y=ax+b のx、yのように「ともなって変わる数」という意味ですが、コンピュータのプログラミングでは記憶場所という意味になることに注意してください。PRINT Aとやってみると今、変数 A に記憶した 10 という値が表示されました。次に H=6としてください。同じように PRINT H で確かめると変数 H に6が記憶されたことがわかります。そうしたら今度は S=A*H/2とし、次に PRINT S としてみましょう。今度は30と表示されます(図2_1)。もうおわかりかと思いますが、これは底辺をA、高さをHとしたときの三角形の面積Sを求める計算です。
 変数を使ういちばん大きなメリットは一度記憶した変数の中味はずっと保存されるので(正確には次に何かプログラムを実行するまで)、ひとつのデータを何回も再利用するのがたいへん楽になることです(図2_2)。



図2_1.変数を使った計算例



図2_2.変数を使って記憶したデータは再利用がかんたんにできる


[変数名]

 今日のサンプルでは変数の名前はすべて英字1文字になっていますが、Tiny BASICでは変数名は半角英数字と _ (アンダーバー)の組み合わせで30文字以内で自由に決められます。ただし先頭の1文字は必ず英字でなくてはなりません。また英字は大文字小文字を区別しません。たとえば変数TATEYAMASOBAWA_OISHIIとtateyamasobawa_oishiiは同じ変数として扱われます(筆者と同じ居住地以外の方にはわかりにくい例えで申し訳ありません・・・^ ^;)。それから予約語は変数名としては使えません。予約語とはそのプログラミング言語が使っている命令や関数(後の章でやります)のことで、Tiny BASICならばたとえば PRINT という語は画面に表示せよという命令で使っていますから、 PRINT=5 のように変数名としては使えません。

[代入演算子]

 今日のサンプルでは = がたくさん出てきました。=は数学では等号と呼ばれ「左辺と右辺が等しい」という意味で使われますが、プログラミングでは = は右辺の値を左辺に代入せよという命令になります(後に出てくる条件判定の場合のみ等号になります)。Tiny BASICに限らず、筆者が知る限り、ほとんどのプログラミング言語でそうなっています。なので代入演算子(代入命令)としての = を使うときは、右辺は計算式でよいのですが、左辺は必ず変数1個になります。数学のようにA+B=C+Dのような書き方はできません。
 ではひとつ、数学の先生に叱られてしまいそうな例を。=は代入演算子とします。


a = 3
a = a + 1

 プログラミングが初めての方はえっえっ?何これ?と思われたことでしょう。=を代入演算子として使う場合はこのような使い方ができます。ではこの結果、変数 a の中味(値)はいくつになっているでしょうか。代入演算子の意味は「右辺の値を左辺に代入せよ」でした。つまりこれは「今、変数 a に入っている値に 1 を加算し、その結果を a に戻せ(再び代入せよ)」ということになります(図9.)。その結果、この場合 a の値は 4 となります。この考え方は実際のプログラミングではジャンジャンバリバリ(死滅語?)出てきます。

図2_3.代入演算子を使うと


 いかがですか。文章での説明が長くなってしまいましたが、ここまでで、これからプログラミングに入るのに大切な基礎知識をお話したつもりです。これまでのところが今ひとつ理解できていないという方は、次に進む前に、もう一度、前章とこの章を復習してください。

[この章のまとめ]

データは変数に記憶できる


変数に記憶したデータは再利用できる

代入演算子としての = は右辺の値を左辺に代入せよという意味である

代入演算子としての = では左辺は必ず変数1個である

- CafeNote -