変数


 皆さん、こんにちは。今回は、N88−日本語BASIC(86)の変数につ いて御紹介したいと思います。
このBASICの変数は、C言語の様にいちいち型を宣言してやらなくても、 初期状態で以下のように設定してあります。
変数名の後ろに$を付けると文字型に、何も付けないと単精度実数型に自動的 に設定されます。
文字変数は、その文字数分だけの要素を宣言してやる必要はなく、225文字 以内であれば、一つの変数の中に入れる事ができます。
文字変数については、上記の事を知っていれば大体いいです。
次に、数値変数について御紹介します。
この数値変数と言うのは、読んで字のごとく、数値を入れる変数のことです。
この変数の種類は、整数型、単精度実数型、倍精度実数型の大きく3種類に分 けられます。
変数を整数型に宣言したい時は%を、単精度実数型に宣言したい時は!を、倍 精度実数型に宣言したい時は#を、それぞれの変数名の最後につけます。
単精度実数型に宣言したい時には、後ろに何もつけない状態でもこれに宣言さ れます。
整数型には整数値を、単精度実数型には有効値7桁の実数値を、倍精度実数型 には有効値16桁の実数値を代入する事ができます。
ただし、単精度実数型の変数の内容を表示させる時には、7桁目が四捨五入さ れて、6桁で表示されます。
上記の4つの型の変数を配列変数として取り扱う事もできます。
配列変数として使用する時は、その数をあらかじめ宣言しておかなければなり ません。
宣言するステートメントは、dimです。
使い方は、

dim 変数名(配列変数の数)

です。
ただし、%!#$をつける時は、変数名の直後につけて下さい。
たとえば、dim mj$(10)と宣言したとすると、mj$には、0〜10までの1 1個の配列変数が与えられる訳です。
この配列変数は、多次元にする事も可能です。
このように、配列変数を多次元にすることを、多次元配列にする、と言います。
多次元配列にする時もdimを使用します。
dim 変数名(配列変数の数,配列変数の数,…)
この場合、小さい値にしてもメモリを使うので、メモリを使いすぎて、 Out of memoryエラーが起こらない様に注意してください。
では、ここで配列変数を用いたサンプルプログラムを作成することにしましょ う。
10 dim kakezan(8,8)
20 for i=0 to 8
30 for j=0 to 8
40 kakezan(i,j)=(i+1)*(j+1)
50 next j
60 next i
70 input "数値aを入力せよ:",a
80 input "数値bを入力せよ:",b
90 print a;"*";b;"=";kakezan(a-1,b-1)
100 goto 70
では、上記のプログラムの解説をします。
まず、10行目で配列変数kakezan()を宣言しています。
このkakezan()という配列変数は、9*9=81の大きさを持っています。
通常は、()の中に入れる数値は 配列変数の個数−1 を入れるのが普通です が、都合によっては、これが出来ない場合や都合が悪い場合があります。
そういう場合はoptionbase命令を使って、添字の最下値を1にする事も出来ま すが、これは知らなくても全く差し支えありません。
20行目から60行目では、配列変数kakezan()の中に、1*1から9*9までを代入し ています。
70行目から90行目では、掛け合わせる数値を入力し、その答えに相当する多次 元配列変数の中身を表示しています。
100行目では、入力/出力作業をもう一度繰り返すために、70行目に飛んでい ます。
今日は、と言うより、最近体調が思わしくないので、この辺にしておきます。
何か、質問がありましたら、下のメールアドレスをクリックして、メールを出 してください。
  • N88−日本語BASIC(86)ホーム
    ご質問、ご意見、お問い合わせは…
    山本 裕之
    E-mail:hiro1978@mx10.freecom.ne.jp