Lesson 3 - 変数の使用

次のプログラムを見てください。

#prompt
Dim A As Integer
A=20
Print A*30

これを実行すると,「ひょっとすると!」とお思いの方もいらっしゃるかと思いますが,答えとして「600」が表示されるのです。
ここでの 'A' は,変数と呼ばれます。変数とは値を指定してそれを格納するもの,と考えればよいでしょう。
さてポイントになるのが,2行目の「Dim A As Integer」です。(「Dim」,「As」,「Integer」の大文字小文字は区別しません。)ActiveBasicでは,以下のように「変数を使用する」ということを宣言します。

Dim [変数名] As [型]

[変数名]は,以下の条件を満たす必要があります。

  1. アルファベット,数字,アンダーバー(「_」)しか使っていないこと。
  2. アルファベットで始まること(「1ab」などはだめ)
  3. 命令語,関数など(予約語という)に重複しないこと(「print」などはだめ。「print2」などは可)
  4. 大文字,小文字は区別する(「Sqr」は3に抵触するのでだめだが,「sqr」や「SQR」ならよい)

※多くのBASIC言語では変数の大文字小文字を区別しないのが一般的で,ActiveBasicは特殊であるということを留意しておいていただきたいと思います。

[型]とは,その変数が何を格納してよいかを表します。
以下のようなものがあります。(他にもあります。必要に応じて説明します。)

Integer2バイトの符号付き整数型です。(「バイト」については Special Lesson 5 で詳しく説明します。)
-32768〜32767 の範囲の整数を格納できます。
Long4バイトの符号付き整数型(同じく,範囲は -2147483648〜 2147483647)です。
Single4バイトの浮動小数点型(小数を扱えます。有効数字が10進法で7桁)です。
Double8バイトの浮動小数点型(同じく小数を扱えます。有効数字が10進法で15桁)です。

もう少し工夫してみると,次のように変数を用いた四則計算もできます。

#prompt
Dim A As Single, B As Single
A=80
B=60
Print A+B
Print A-B
Print A*B
Print A/B

結果は,

140
20
4800
1.33333

です。Lesson 2のものと似てますね。

では,次のプログラムも見てください。

Dim A As Single
A=4
Print A
A=A+2
Print A

実行結果は

4
6

のようになります。

4行目は「a=a+2」という,数学だと意味のないような式を用いています。
BASICの「=」は,「2つの値が等しい」という条件を表す場合と,「左辺の変数に右辺の値を代入する」という指示の意味の場合の2つがあります(当然この場合は後者です)。

※余談ですが,この2つの動作に対して記号を区別しているプログラム言語もあります(Cなど:「等しい」は「==」,「代入」は「=」)。


問4t1=6,t2=-3 と値を設定し,5t12+3t22+1の値を計算して表示せよ。
(ヒント:t1,t2のような文字は,プログラム中ではそれぞれt1t2と書けばよい。)

戻る