文系でもわかるBASIC入門
12.よく使うBASICの命令
これまでの命令は基本的なものばかりです。
今回はBASIC言語の特徴ともいえる命令を解説していきます。
IF … THEN ~ ELSE ~
以前、IF命令の書き方を説明しました。
さらに ELSE を使った書き方を説明します。
IF 条件 THEN 命令文(または行番号)
IF 条件 THEN 命令文(または行番号) ELSE 命令文(または行番号)
条件が成立しているとき、THEN 以降の命令が実行されます。
条件が成立していないとき、ELSE 以降の命令が実行されます。
ELSEを使った例をみてください。
行番号30 では、変数AGEが20以上なら「成人」、20未満なら「未成年」を
文字列変数SW$に代入します。
行番号40 では、変数SEXが1なら行番号100へ、1以外なら行番号200へジャンプします。
FOR … TO … STEP ~ NEXT
繰り返し処理をしたいときに使う命令です。
FORからNEXTまでの間を繰り返します。
コマンドモードでの例です。
FOR I=0 TO 9
変数Iを0から9まで変化させながら、NEXT までの間を繰り返し実行します。
上の例では NEXT までの間に
PRINT “hello”
があるためhelloを10回繰り返し表示しています。
プログラムモードでの例です。
この例ではFOR命令を入れ子(FOR~NEXTの中にFOR~NEXTを入れる)にしています。
このような使い方をする機会は多いです。
色々なパターンでテストしてみて、その動き方をしっかり把握しましょう。
STEPを使って、変数の増減間隔を指定できます。
STEP -1なら、1ずつ減らしながら繰り返します。
STEP 5なら、5ずつ増やしながら繰り返します。
GOSUB
サブルーチンを呼び出すことができます。
サブルーチンとはメインルーチンから独立したプログラムでRETURNで終わっているものを言います。
GOSUBは指定した行番号から始まるサブルーチンを呼び出すことができます。
GOTOと同様にラベル名による呼び出しも可能です。
サブルーチンへジャンプした後、RETURNのある行まで実行してもとの位置へ戻ります。
例では行番号100 から 130 までがサブルーチンになっています。
RETURNで終わっていることに注目してください。
同じような処理を繰り返し行うときなど、サブルーチンにするといいですね。
ON … GOTO と ON … GOSUB
変数の値から指定されたいずれかの行に分岐します。
ON … GOTOの例です。
行番号50 を見てください。
ON NO GOTO 100,200,300
変数NOが1の場合は行番号100へ。
2の場合は200へ、3の場合は300へジャンプします。
ON … GOTO の間には変数や式を記述できます。
その値(数値)により分岐先が決まります。
例は3分岐ですが、もっと多く分岐させることもできます。
実行してみましょう。
ON … GOTO の間の値が0だったり、分岐数をオーバーしている場合
ON GOTO は実行されず次の行へ進みます。
上の例では、空打ちしたとき変数NOには0が入り分岐しません。
ON … GOSUB では、分岐先にサブルーチンを指定します。