ここからがプログラムの本番となるIF~THEN文。
英語の意味のとおり、もし〇〇ならば、××する、いわゆる条件分岐。
何かを判定して、その後の動きを変えるので、プログラムには必須。
例えば、入力した値を判定するなら
10 INPUT "NUMBER=",X 20 IF X ≧ 5 THEN 40 30 PRINT "X < 5":GOTO 50 40 PRINT "X ≧ 5" 50 END
こんな感じ。
20行目のIF文で、入力されたXの値が、5以上かどうかを判定している。*1
THENの後には行番号か、プログラム番号が入る。
この行にジャンプして処理が進んでいく。
同じように、GOTO文も、その行にジャンプする。
BASIC最大の批判ポイントが、このGOTO文なのだ。
どこにでも強制的にジャンプできるので、多用すると「スパゲッティプログラム」と呼ばれる、とても読みにくいプログラムになる。そしてプログラムの間違いを見つけるために、追いかけるのが嫌になるのだw
10 GOTO 30 20 PRINT "A"; 30 PRINT "B"; 40 GOTO 60 50 PRINT "C"; 60 PRINT "D"; 70 END
このプログラムの結果は、こうなる。
BD
ジャンプするので、実行されない命令があったり、意図しないところにジャンプしてプログラムが正しく動作しなくなったりする。
でも、このポケコンのBASICでは、必要なので、プログラムの設計が重要になる。
無計画にプログラムを後付けで作ると、ごちゃごちゃになったなぁ。
ほかにも、繰り返し処理を行うFOR~NEXT文や、同じ処理をまとめたサブルーチンを使うためのGOSUB~RETURN文などがあるが、本格的なBASIC講座ではないので、ここにて終了w
*1:PB-300のBASICでは、大なりイコール(≧)や、小なりイコール(≦)が記号1文字で表せていた。別の言語だと、==、>=、<=と二文字の半角文字で書かないといけないものが多い。