変数のはなし
プログラムの世界では「変数」ということばがあります。
変数、ヘンなことばですね。「変化する数」という意味らしいですが、そんなことを言われても、むしろわかりづらいです。
このわかりづらいものを、まずはおぼえなければいけません。たいていのプログラムは変数で動いているからです。
変数をいじるのに、昔はよく
LET命令なんて使ったものです。日本語で言うと「こうやっといてね」みたいな意味ですが、すごくアバウトですね。
そんなのをいちいち書くのもめんどくさかったのか、今は
LET命令が省略されるというなんだかわからないことになっています。プチコンの説明書で「=(LET)」という、ひとめで命令とはわからない見出しになっているのもそのせいです。ややこしいですね。
いいんです、もうなりたちとか考えずにおおざっぱにおぼえましょう。

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

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

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

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

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

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

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

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


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

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

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

たしかに使わないとイミがないよね。こういうプログラムにしてみよう。
0001#. A=10
0002#. PRINT A

あれ? PRINTの使い方が前におぼえたのとちょっと違う……?

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

10って表示されたよ!

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

だんだんワカってきたぜ。こういうコトだな?
0001#. A=10
0002#. B=20
0003#. PRINT A
0004#. PRINT B

バケツを2コ用意してみたぜ! ラクショーじゃねえか!
10
20
OK

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

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

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

前にPRINT”WANPAKU”って書いたが、これでもいいワケだろ? RUNだ!
0
OK

???

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

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

実は変数でも、数字を入れるバケツと文字を入れるバケツは少し違うんだ。さっきのプログラムを正しく書くと、こうなるね。
0001#. A$=”WANPAKU”
0002#. PRINT A$

バケツの名前の最後に$マークがついて……

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

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

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

たしかに変数が何の役に立つのかは、まだわからないよね。それじゃあ、次からは変数を使ったサンプルを見ていこう!
- 変数とは
- 名前のついたバケツに、字を書いた紙を入れる。それが変数です。
A=10と書けば、Aというバケツに10という紙を入れることになります。
変数には「文字変数」というパターンもあります。A$=”ABC”というように、名前に$をつけて”で囲んだ文字を入れるのが文字変数です。