BASIC の「超」基本
レトロPCの話などをだいぶ書いてきていますし、古いPCを手に入れて動かそうとか、エミュレータなどでいじってみようという方も、それなりにいらっしゃるかもしれません。とはいえ、レトロPCは基本的に BASIC で動きますし、DISK-BASIC が DOS です。これがわからないと手も足も出ません。
BASIC プログラムの説明であったり、コマンド一覧はググれば出てきますが、その前段階の「超」基本を簡単にまとめてみたいと思います。
電源を入れると画面が初期化され、何やら文字が出てきて、Ready または Ok などと表示されている部分の次の行にカーソルが点滅しています。ここでコマンドを打てば、すぐに実行されて結果が出るわけです。例えば
PRINT 5+5
と打ち込んで、RETURNキーを押せば、
10
と表示され、再びコマンド待ちになります。まあ、ここで計算をすることもあまり無いでしょうが、LIST とすれば入力されているプログラムが表示されますし、これを消去するには NEW と打ち込むわけです。
プログラムを入力する時には、最初に行番号と呼ばれる数字を入れます。行番号に続いてコマンドを打てば、RETURNキーを打っても、その場で実行することはなく、メモリにしまわれます。
10 PRINT 5+5
20 END
今度は、RUN とコマンドを打つと、しまわれていたプログラムが実行されます。
RUN
10
プログラムを追加したい時は、再び行番号を打ってから、コマンドを入れていきます。実行される順序はあくまで行番号の小さい順なので、入れる順序は関係ありません。
16 PRINT 5*5
13 PRINT 1+1
入力後 LIST を実行すれば、行番号の順に表示されます。
10 PRINT 5+5
13 PRINT 1+1
16 PRINT 5*5
20 END
間にプログラムの行を入れるために行番号は普通は10ずつ増やして使います。途中に入れていくと、間がなくなってしまうので、RENUM 10 とすれば行番号を付け直してくれます。
10 PRINT 5+5
20 PRINT 1+1
30 PRINT 5*5
40 END
既にある行を修正する時には、LIST でプログラムを表示させ、カーソルを修正する場所に移動して直していきます。直した後は「必ず」RETURNキーを打ってください。移動しただけでは修正されず、RETURNキーを打つことで、しまわれた行が変更されます。
もちろん変数も使えます。アルファベットで始まるアルファベットまたは数字を変数名に使えるのですが、なんと先頭の2文字までしか識別されません。ABC と ABD は同じ変数です。
名前だけだと数値を扱う変数として解釈されますが、末尾に $ をつけると、こちらは文字を扱う変数として解釈されます。A と A$ は別の変数です。
なお変数にスコープはありません、すべてグローバル変数で、プログラムのどこからでも読み書きできます。普通の変数に関しては宣言も不要です。いきなり好きな場所で変数を使うことが出来ます。代入する前に値をつかっても、ちゃんと数値なら0、文字列なら空の文字列で初期化されています。これが理由でうっかり変数名を打ち間違えたときにもエラーが出ないので、紛らわしい名前の変数を使わないのが吉です。
ここまでで、短いプログラムをとりあえず打ち込んだり、直したりすることはできると思います。次の機会には制御構文かな?
ヘッダ画像は、いらすとや さんよりhttps://www.irasutoya.com/2013/08/blog-post_3908.html
この記事が気に入ったらサポートをしてみませんか?