買ったので。いちいちソフトを中断して説明書を画面に表示して、とするのが面倒だったので、基礎文法だけでもまとめておくことに。なお、他の種類のBASICについて、慣習などは不勉強のため、「こういう書き方はしない」などの点があるかもしれないところはご了承を。
DIRECTモードとEDITモード
- EDITモード
- ソースコードを記述するモード
- DIRECTモード
- EDITモードで記述したソースを読み込んで実行する。
Hello, World!
EDITモードのSLOT 0に記述。
PRINT "Hello, World!"
記述したら、DIRECTモードに切り替えて、RUNする。
RUN 0
コメント
行の先頭にシングルクォート。
'This is a comment.
変数
数値の場合、とりあえず、このような感じで良い。
A = 123
STRICTモード
「OPTION STRICT」の命令を書いた場合、VAR命令で変数の宣言をしないとエラーになる。
OPTION STRICT
VAR A = 123
変数の型
変数名の後に「サフィックス」という記号をつけることで、変数の型を自分で指定できる。「%」は整数型、「#」は実数型、「$」は文字列型。サフィックスをつけない場合は実数型。ただし「OPTION VARINT」の命令を書いた場合、サフィックス無しは整数型。
OPTION STRICT
VAR I% = 123
VAR D# = 3.14
VAR S$ = "XYZ"
PRINT S$
数値
四則計算
A = 5
B = 3
PRINT A + B
PRINT A - B
PRINT A * B
PRINT A / B
商(整数値)はDIV、余りはMODで求められる。
A = 5
B = 3
PRINT A DIV B
PRINT A MOD B
インクリメントとデクリメント
インクリメントはINC、デクリメントはDECで行える。
A = 5
INC A
PRINT A
DEC A
PRINT A
文字列
文字列の連結
AGE$ = "34"
S$ = "ワタシハ" + AGE$ + "サイデス"
PRINT S$
文字列の長さ
S$ = "アイウエオ"
PRINT LEN(S$)
文字列の切り出し
S$ = "アイウエオ"
'アイウ
PRINT MID$(S$)
文字列の検索
S$ = "アイウエオ"
'2
PRINT INSTR(S$, "ウ")
'-1
PRINT INSTR(S$, "カ")
文字列と数値の変換
文字列 -> 数値への変換にはVAL(文字列)、数値 -> 文字列への変換にはSTR$(数値)を使う。
配列
配列の宣言はDIM命令で行う。プチコン3号の場合、4次元まで対応。
DIM INTARR[3]
INTARR[0] = 10
INTARR[1] = 20
INTARR[2] = 30
'10
PRINT INTARR[0]
文字列型の配列の場合は「$」のサフィックスをつける。
DIM STRARR$[3]
STRARR$[0] = "ABC"
STRARR$[1] = "DEF"
STRARR$[2] = "GHI"
'ABC
PRINT STRARR$[0]
配列の操作
PUSHやPOPなどの命令もある。配列の要素数が増減する。
- 配列の末尾に要素を追加:PUSH
- 配列の末尾から要素を取り出す:POP(配列名)
- 配列の先頭に要素を追加:UNSHIFT
- 配列の先頭から要素を取り出す:SHIFT(配列名)
配列の要素数はLEN命令で取得できる。
DIM INTRARR[1]
INTARR[0] = 10
PUSH INTARR, 20
PUSH INTARR, 30
PUSH INTARR, 40
TMP = SHIFT(INTARR)
'10
PRINT TMP
UNSHIFT INTARR, 50
TMP2 = POP(INTARR)
'40
PRINT TMP2
'50
PRINT INTARR[0]
'20
PRINT INTARR[1]
'30
PRINT INTARR[2]
'3
PRINT LEN(INTARR)
制御文
IF文
SCORE = 80
IF SCORE >= 70 THEN
PRINT "CLEAR!"
ENDIF
IF-ELSE文
SCORE = 60
IF SCORE >= 70 THEN
PRINT "CLEAR!"
ELSE
PRINT "FAILED."
ENDIF
WHILE文
CNT = 0
WHILE CNT < 5
PRINT "LOOP " + STR$(CNT)
INC CNT
WEND
FOR文
FOR CNT = 0 TO 4 STEP 1
PRINT "LOOP " + STR$(CNT)
NEXT
サブルーチン
ラベル文字列(@文字列)を利用する。
'MAIN
PRINT "MAIN START"
GOSUB @SUB
PRINT "MAIN END"
END
@SUB
FOR CNT = 0 TO 4 STEP 1
PRINT "LOOP " + STR$(CNT)
NEXT
RETURN
BASIC言語なのでGOTOあり。ラベルを利用してGOTOを利用できる。が、ここではGOTOについては省略^^;
ファイル入出力
LOADやSAVEでファイルからの読み込みや、ファイルへの保存が可能。
その他
気が向いたら、何か追記するかもしれません。