変数のはなし

プログラマーからひとこと

プログラムの世界では「変数」ということばがあります。
変数、ヘンなことばですね。「変化する数」という意味らしいですが、そんなことを言われても、むしろわかりづらいです。
このわかりづらいものを、まずはおぼえなければいけません。たいていのプログラムは変数で動いているからです。

変数をいじるのに、昔はよくLET命令なんて使ったものです。日本語で言うと「こうやっといてね」みたいな意味ですが、すごくアバウトですね。
そんなのをいちいち書くのもめんどくさかったのか、今はLET命令が省略されるというなんだかわからないことになっています。プチコンの説明書で「=(LET)」という、ひとめで命令とはわからない見出しになっているのもそのせいです。ややこしいですね。

いいんです、もうなりたちとか考えずにおおざっぱにおぼえましょう。

最初におぼえる変数

インテリ
というわけで、プログラムの前に変数についておぼえておこう!

ワンパク
なにが「というわけ」だ! ヒントすら見えてこねェぞ!

インテリ
じゃあまずは、カンタンな変数の実例を見てみようか。

A=10
インテリ
これがどういう意味かわかるかな? ヒントは、この中ではが変数!

ワンパク
変数がなんなのかはサッパリだが、イコールでつながってんだからAが10なんじゃねェの? ……「Aが10」ってナンだ?

インテリ
自分で言っていてわからなくなってきたかな。でもそれでほぼ正解なんだよ。

神崎
わからないポイントは、その「変数」ってなんなのか、だよね。

インテリ
では変数について説明しようか。
変数はよくバケツにたとえられるね。ここでは、という名前のバケツがあると考えよう。
というバケツの中に10と書かれた紙を入れる、それがA=10という命令だったんだね。

神崎
ふうん、算数で使うイコールは「両方が同じ」だけど、BASICのはちょっと意味が違うんだね。

インテリ
そういうこと。「バケツの中に入れる」のがBASICのなんだ。

ワンパク
で、そのバケツが何の役に立つんだ? 今んトコ、ただのゴミ箱じゃねえか!

インテリ
たしかに使わないとイミがないよね。こういうプログラムにしてみよう。

0001#. A=10
0002#. PRINT A
神崎
あれ? PRINTの使い方が前におぼえたのとちょっと違う……?

ワンパク
PRINT”A”のマチガイじゃねェのか? RUNで実行してみようゼ!

10
OK
神崎
10って表示されたよ!

インテリ
2行目のPRINT Aは、バケツの中に入れておいた10という紙を読みあげていると考えればいいよ。
PRINT文で変数を使うときは、で囲まないのがルールだね。

ワンパク
だんだんワカってきたぜ。こういうコトだな?

0001#. A=10
0002#. B=20
0003#. PRINT A
0004#. PRINT B
ワンパク
バケツを2コ用意してみたぜ! ラクショーじゃねえか!

10
20
OK
神崎
いま新しいバケツの名前をにしたけど、変数にはどんな名前でもつけられるのかな?

インテリ
アルファベット8文字までなら何でもOK! たくさん変数を使うときは、自分でもおぼえやすい名前を使うのがいいね。

ワンパク
そんな豆チシキの間にも、オレはドンヨクに新しいコトをためすゼ! バケツに入れる紙にオレの名前をキザミこんでやろう!

0001#. A=WANPAKU
0002#. PRINT A
ワンパク
前にPRINT”WANPAKU”って書いたが、これでもいいワケだろ? RUNだ!


OK
ワンパク
???

インテリ
なんでも応用してみるのは大事なことだよ。エライぞ、ワンパク君! うまく動かなかったら、そのゲンインを探るのもレベルアップのヒケツさ。

ワンパク
思いきり上からメセンでホメやがって! 何がマチガってるってんだ!

インテリ
実は変数でも、数字を入れるバケツと文字を入れるバケツは少し違うんだ。さっきのプログラムを正しく書くと、こうなるね。

0001#. A$=”WANPAKU”
0002#. PRINT A$
神崎
バケツの名前の最後にマークがついて……

ワンパク
紙に書く字はでカコむってコトか。コレはPRINTでやったコトと似てるな。

インテリ
マークを使う変数は「文字変数」や「文字列型の変数」と言ったりするね。とりあえず数字は数字、文字は文字とおぼえておけば大丈夫!

ワンパク
でもよォ、コレ変数じゃなくてもデキるコトばっかりじゃねェの? そのままPRINT”10”とかPRINT”WANPAKU”で十分じゃねえか!?

インテリ
たしかに変数が何の役に立つのかは、まだわからないよね。それじゃあ、次からは変数を使ったサンプルを見ていこう!


今回のまとめ

変数とは
名前のついたバケツに、字を書いた紙を入れる。それが変数です。
A=10と書けば、Aというバケツに10という紙を入れることになります。
変数には「文字変数」というパターンもあります。A$=”ABC”というように、名前にをつけてで囲んだ文字を入れるのが文字変数です。