|
電卓で計算を行う場合、一時的な計算結果を「メモリ」に入れる事が出来るものがありますが、使い方が分からない、1つの値しか入らない、結局、紙にメモ書きをする、というのがお約束。コンピュータを利用するとディスプレイに以前の結果が出たまま残ってますので、それを写せば良い、という場合もあるでしょう。でも、書き写すのも面倒臭い。こういう時には、変数の出番です! 例えば、「75cos45°+100sin30°+25」という計算をしたい場合には、
PRINT 75*COS(45/180*3.14)+100*SIN(30/180*3.14)+25 |
のように打ち込みますが、円周率πを3.14ではなく、もっと細かく3.141593としたい場合、
PRINT 75*COS(45/180*3.141593)+100*SIN(30/180*3.141593)+25 |
と長ったらしくなり打ち込むのも面倒です。そこで、円周率πの値を変数「P」に入れるとしましょう。この場合、
とキー入力した後で、
PRINT 75*COS(45/180*P)+100*SIN(30/180*P)+25 |
とキー入力します。「P=3.141593」は、変数Pに数値3.141593を入れます、という意味です。「=」は「代入」を意味します。「等しい」という意味ではありませんので注意して下さい。値を代入された変数は、計算式の中で使えます。勿論、変数に値を入れるだけでなく、式の結果を入れる事も出来ます。
とキー入力した後で、
とキー入力する事も出来ます。なお、変数に値を入れた後「OK」等のように表示されますが、これは、「エラーは無く、ちゃんと実行されたよ」つまり「ちゃんと変数に値が入ったよ」という事を意味しています。
変数はよく「箱」に例えられます。Aという名前の箱に、1つの物を入れたり出したりする事が出来ます。2つの物を入れておきたければ、箱も2つ必要になります。
でも、箱から物を取り出したら、箱の中身は空っぽになりますが、変数の場合は、値を取り出しても、変数の中身はそのまま残っています。
変数は普通の数値と同じく、式の中、関数の引数、等で利用出来ます。式に対するパラメータのように扱う事が出来ます。例えば、前ページの二次方程式の解を得る式の場合、
「2x2-6x+3=0」の解を得る場合には、
とキー入力した後、
? ( -B + SQR(B^2 - 4*A*C) ) / (2*A) |
? ( -B - SQR(B^2 - 4*A*C) ) / (2*A) |
とする事が出来ます。
★変数名
変数には名前を付けて利用しますが、名前の付け方には制限があります。この制限は、利用するBASICシステムによって異なります。以下は、NEC PC-9800シリーズで利用出来る「N88日本語BASIC(86)(MS-DOS版)」での例です。
・名前の長さは、40文字以内
・使える文字は、1バイト系英数字とピリオド(.)
・最初の1文字は英字でなければならない
・大文字と小文字は同一視される
(というより、小文字を使っても大文字にされる)
・予約語は使用出来ない
※予約語とは、BASICシステムで既に利用されている命令の名前、関数名、演算子の名前、等の事。 |
★型
定数や変数値の種類には、以下のようなものがあります。以下は、NEC PC-9800シリーズで利用出来る「N88日本語BASIC(86)(MS-DOS版)」での例です。
・整数値(-32768 〜 +32767)
10進数:100、-123、+5、
100% (%を後付けすると整数値を表します)
8進数:&12345、&O777(アンド・オー777)
16進数:&H100、&HCFFF
・単精度実数値
(有効数字7桁。-1.70141×1038 〜 +1.70141×1038)
35.68、-7.012E-16(-7.012×10-16の事です)
3.14! (!を後付けすると単精度実数値を表します)
・倍精度実数値
(有効数字15桁。 -1.701411834604692×1038
〜 +1.701411834604692×1038)
1234.56789、
-1.2345678901D-10(-1.2345678901×10-10の事)
3.14159265# (#を後付けすると倍精度実数値を表します)
・文字(長さは255バイト以内 定数は"で囲みます)
"Hello, world."、"1 2 3"、"こんにちわ" |
定数値の後ろに「%」「!」「#」を付けるのと同様、変数の後ろに「%」「!」「#」を付けると、それは、整数型変数、単精度実数型変数、倍精度実数型変数、を意味します。また、「$」を付けると文字型変数を意味します。
A% : 整数型変数
A! : 単精度実数型変数
A# : 倍精度実数型変数
A$ : 文字型変数
何も付けない場合は、通常、単精度実数型となります。上記4つの種類は、別々の変数となります。変数「A%」に「10」を入れても、変数「A!」(変数「A」)、変数「A#」は、「10」にはなりません。
※DEFINT、DEFSNG、DEFDBL、DEFSTRを指定した場合はそれに依存します。
文字定数や文字型変数は、計算式にはそのまま使えません。一部のスクリプト言語では数値変数と文字変数を混在出来る(というか区別しない)ものもありますが、文字定数"123"は、あくまでも「いちにーさん」という文字であって、数値の123ではありません。文字を数値に変換したい場合には、関数VALを利用する、等をします。
★変数の宣言
C言語等、他の言語処理系では、変数を使う場合にはちゃんと「変数宣言」をしないといけませんが、BASIC言語は変数宣言をしなくても、いきなり、いろんな変数を自由に使う事が出来ます。初期値(最初から入っている値)は、ゼロ値が入っています。文字型の場合は何も入っていない状態("")になっています。
これが使い易い、という人もいれば、これのせいでプログラムが煩雑になる、という人もいます。そのため、BASICシステムによっては、変数宣言をしないといけないものもあります。 |
|
バッチファイル
BASIC
1 2 3 4 5
6 7 8 9 A
B C D E F
G H I J
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
シェアウェア
Script!World
データベース
|