戻る
CASIO BASIC (PB-700)
PB-700 : カシオ計算機 (CASIO)

PB-700

PB-700はCASIO製ポケットコンピュータである。

PB-700はそれまでのPB-100/300系のBASICと体系が異なり、一般的なBASICに近い構文を採用している。
そのため、従来機種とのプログラム互換性はない。
また、メインキーの[改行]キーとテンキーの[ENTER]は動作が異なる。
(テンキーの方は計算機としての演算用になる)

PB-100/300系との大きな差異点として、[RUN][WRT]モードの切り替えがないことが挙げられる。
これらの機種はプログラム実行時と編集時にモードの切り替えが必要だったが、PB-700では廃止されている。
また画面が複数行となりグラフィックも表示可能となっていることなどが大きく異なる。

PB/fx BASIC簡易リファレンス
コマンド
表記凡例使用例説明
LISTLIST [行番号][-[行番号2]]LIST
LIST 10
LIST 10-100
プログラムを表示する
指定した行番号を表示する
指定した範囲の行番号を表示する
LIST VLIST VLIST V使用されている変数を表示する
LIST ALLLIST ALLLIST ALLすべてのプログラムエリアのプログラムを表示する
LLISTLLIST [行番号][-[行番号2]]LLIST
LLIST 10
LLIST 10-100
プログラムを印字する
指定した行番号を印字する
指定した範囲の行番号を印字する
LLIST VLLIST VLLIST V使用されている変数を印字する
LLIST ALLLLIST ALLLLIST ALLすべてのプログラムエリアのプログラムを印字する
EDITEDIT [行番号]EDIT
EDIT 100
最後に編集した行を編集する
指定行を編集する
DELETEDELETE [行番号][-[行番号2]]DELETE 10
DELETE 10-100
指定した行番号を削除する
指定した範囲の行番号を削除する(範囲のどちらかは省略可能だが、全てを省略することは不可)
SAVESAVE {["ファイル名"] | ALL ["ファイル名"]}[,{A | M}]SAVE
SAVE "filename"
SAVE ALL
SAVE "filename",A
カセットテープにプログラムを保存する
カセットテープに指定したファイル名のプログラムを保存する
カセットテープに全エリアのプログラムを保存する
カセットテープにASCIIモードで保存する(ファイル名省略可/ALL指定不可)
LOADLOAD {["ファイル名"] | ALL ["ファイル名"]}[,{A | M}]LOAD
LOAD "filename"
LOAD ALL
LOAD "filename",A
LOAD "filename",M
カセットテープから最初に見つかったプログラムを読み込む
カセットテープから指定したファイル名のプログラムを読み込む
カセットテープからSAVE ALLで記録したプログラムを読み込む(ファイル名省略可)
カセットテープからASCIIモードで読み込む(ファイル名省略可/ALL指定不可)
カセットテープからプログラムを読み込み、メモリ上のプログラムとマージする(ファイル名省略可/ALL指定不可)
VERIFYVERIFY ["ファイル名"]VERIFY
VERIFY "filename"
カセットテープから最初に見つかったプログラムとメモリ内のプログラムを比較する
カセットテープから指定したファイル名のプログラムとメモリ内のプログラムを比較する
NEWNEW [ALL]NEW
NEW ALL
現在エリアのプログラムを消去し、変数を初期化する
全エリアのプログラムを消去し、変数を初期化する
PASSPASS "パスワード"PASS "password"現在エリアのプログラムに8文字以内のパスワードを設定する
同じパスワードを再度設定するとパスワードが消去される
以下のコマンドを使用する際にパスワード入力が必要となる
・DELETE
・EDIT
・LIST/LLIST
・NEW

PROGPROG {0〜9}PROG 0
PROG X
現在のプログラムエリアを変更する
指定には数値変数、数値演算も使用可能だが、範囲外の場合はエラーとなる(小数点以下切り捨て)
RUNRUN [行番号]RUN
RUN 100
現在エリアのプログラムを実行する
現在エリアのプログラムを指定行から実行する
CONTCONTCONT[BRK]キーやSTOPで終了したプログラムの実行を再開する
SYSTEMSYSTEMSYSTEM現在のプログラムエリアの使用状況、残メモリ容量、角度単位系の状態を表示する
[戻る]
ステートメント:プログラム制御
表記凡例使用例説明
ENDENDENDプログラムの実行を終了する(最終行到達時点で省略可能)
STOPSTOPSTOPプログラムの実行を中断する(CONTで再開)
REMREM [注釈]REM TEST注釈を入れる(実行には無関係)
FOR...TO...STEP〜NEXTFOR 変数=開始値 TO 終了値 [STEP 増分]〜NEXT [変数1][,変数2][,...]FOR I=0 TO 10 STEP 2〜NEXT IFORからNEXTまでの処理を繰り返す(入れ子は最大6)
IF...THEN...ELSE...IF 論理式 {THEN 文 | 行番号} ELSE {文 | 行番号}IF A=0 THEN END ELSE 20論理式の条件判断をする
GOTOGOTO {行番号 | プログラムエリア番号}GOTO 100
GOTO N*2
GOTO PROG 1
GOTO PROG (100/10)
指定行へ移動する
指定行へ移動する(変数もしくは数値指定可能)
指定したプログラムエリア(先頭行)へ移動する
指定したプログラムエリア(先頭行)へ移動する(変数もしくは数値指定可能)
GOSUBGOSUB {行番号 | プログラムエリア番号}GOSUB 100
GOSUB N*2
GOSUB PROG 1
GOSUB PROG (100/10)
指定行のサブルーチンへ移行する
指定行のサブルーチンへ移行する(変数もしくは数値指定可能)
指定したプログラムエリアをサブルーチンとして呼び出す
指定したプログラムエリアをサブルーチンとして呼び出す(変数もしくは数値指定可能)
RETURNRETURNRETURNサブルーチンから復帰する
CHAINCHAIN ["ファイル名"]CHAIN "filename"変数を保持したまま、カセットテープからプログラムを読み込んで実行する
[戻る]
ステートメント:変数関連
表記凡例使用例説明
CLEARCLEARCLEAR変数を初期化する(FOR〜NEXT内で使用した場合、エラーとなる)
DIMDIM 変数名(最大値[,最大値2])[,...]
DIM 文字列変数(最大値[,最大値2])[*文字列長]
DIM A(100,10),B$(100)
DIM A$(10)*20
配列変数の定義をする(最大2次元、配列数255まで)
文字列変数の配列を文字列長を指定して定義する
ERASEERASE 変数名[,...]ERASE A,B$指定した配列を削除する
LETLET 変数=式LET A=1変数に式値を代入する(LETは省略可)
INPUTINPUT [文字列{; | , }]変数[,変数2][,...]INPUT "X=";Xキーボードから入力した値を変数に代入する(「;」指定時は「?」が表示される)
DATADATA 定数[,定数2][,...]DATA "TEST",765READで読み込むデータを定義する
READREAD 変数[,変数2][,...]READ A$,BDATAで定義したデータを変数に代入する
RESTORERESTORE [行番号]RESTORE
RESTORE 1000
DATAの先頭から読み出す
READで読み込むDATAの先頭行を設定する
GETGET ["ファイル名"] 変数[,...]GET "filename",A,B$カセットテープからデータを変数に読み込む
PUTPUT ["ファイル名"] 変数[,...]PUT "filename",A,B$,10カセットテープにデータを保存する
[戻る]
ステートメント:画面関連
表記凡例使用例説明
CLSCLSCLS画面を消去し、カーソルをホーム位置に戻す
LOCATELOCATE X,YLOCATE 10,10カーソルを指定座標に移動する(X:0〜19,Y:0〜3)
PRINTPRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]PRINT "HELLO,WORLD"
PRINT USING "#####",A
式値を画面上に表示する
式値を指定した書式で画面上に表示する
LPRINTLPRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]LPRINT "HELLO,WORLD"
LPRINT USING "#####",A
式値をプリンタに印字する
式値を指定した書式でプリンタに印字する
DRAWDRAW (X1,Y1)[-(X2,Y2)[-...]]DRAW (10,10)
DRAW (10,10)-(20,20)
指定した座標にドットを描写する
2座標間を結ぶドット線を描写する
DRAWCDRAWC (X1,Y1)[-(X2,Y2)[-...]]DRAWC (10,10)
DRAWC (10,10)-(20,20)
指定した座標のドットを消去する
2座標間を結ぶドット線を消去する
[戻る]
ステートメント:その他
表記凡例使用例説明
ANGLEANGLE {0〜2}ANGLE 0
ANGLE 1
ANGLE 2
角度単位系をDEGREEで設定する
角度単位系をRADIANで設定する
角度単位系をGRADIANで設定する
BEEPBEEP [{0 | 1}]BEEP
BEEP 1
BEEP音を発生させる(BEEP 0も同様)
BEEP 0よりも高い周波数のBEEP音を発生させる
TRONTRONTRONトレースモードにする
TROFFTROFFTROFFトレースモードを解除する
[戻る]
数学関数
表記凡例使用例説明
ABSABS(数式)ABS(-1000)絶対値を返す
SINSIN(数式)SIN(3.14)正弦(サイン)の値を返す
COSCOS(数式)COS(3.14)余弦(コサイン)の値を返す
TANTAN(数式)TAN(3.14)正接(タンジェント)の値を返す
ASNASN(数式)ASN(3.14)逆正弦(アークサイン)の値を返す
ACSACS(数式)ACS(3.14)逆余弦(アークコサイン)の値を返す
ATNATN(数式)ATN(3.14)逆正接(アークタンジェント)の値を返す
PIPIPI円周率を返す
EXPEXP(数式)EXP(1)自然対数の低(e)に対する指数関数の値を返す
LOGLOG(数式)LOG(1)自然対数の値を返す
LGTLGT(数式)LGT(10)常用対数の値を返す
SQRSQR(数式)SQR(2)平方根の値を返す
[戻る]
数値関数
表記凡例使用例説明
INTINT(数式)INT(A)数式の整数値を返す(数式の値を超えない整数値)
FRACFRAC(数式)FRAC(A)数式の小数点以下の値を返す(符号は変化しない)
SGNSGN(数式)SGN(A)数式の符号を返す(1:正数,0:零,-1:負数)
ROUNDROUND(数式,有効桁数)ROUND(A,2)数式を有効桁数で丸めた値を返す(10の有効桁数乗)
RNDRNDRND0以上1未満の乱数を返す
[戻る]
文字関数
表記凡例使用例説明
ASCASC(文字列式)ASC("TEST")文字列先頭のキャラクタコードを返す
VALVAL(文字列式)VAL("123")文字列を数値に変換する
LENLEN(文字列式)LEN(A$)文字列の文字数を返す
CHR$CHR$(数式)CHR$(41)指定したキャラクタコードの文字を返す
STR$STR$(数式)STR$(A)数値を文字列に変換する
LEFT$LEFT$(文字列式,式)LEFT$(A$,2)文字列の左側から式で指定した桁数の文字列を返す
MID$MID$(文字列式,式1[,式2])[=文字列]MID$(A$,2,1)文字列の式1で指定した位置から式2で指定した桁数の文字列を返す(=文字列を指定した場合はその文字列と置換する)
RIGHT$RIGHT$(文字列式,式)RIGHT$(A$,2)文字列の右側から式で指定した桁数の文字列を返す
TABTAB(数式)TAB(A)指定した位置まで空白を返す(出力文字式内でのみ使用)
[戻る]
その他関数
表記凡例使用例説明
POINTPOINT(X,Y)POINT(100,10)指定した座標のドットの有無を返す(X:0〜159,Y:0〜31)
INKEY$INKEY$INKEY$押されたキーの値を返す
[戻る]

※ 行番号
行番号は1〜9999までが指定できる範囲である

[戻る]

※ パスワード
パスワードを忘れた場合にはバッテリー切れを待つか、NEW ALLでの全消去以外でプログラムを削除する手段はない
(SAVEしていない場合はプログラムを失うので注意)

[戻る]

※ PRINT
コマンドとして実行した場合は式を評価した結果を即時表示する
(入力は[改行]キー、[ENTER]キーではエラーとなる)

; : 式を続けて表示する(A;B) 例 1;2
1 2
, : 式をTABで区切って表示する(A,B) 例 1,2
1         2

・USINGの書式
&(空白)& : &と空白の文字列分文字列を表示する(少ない場合は左詰め)
例 "[&    &]";"TEST"
[TEST  ]
# : 数値を桁数指定して出力する(少ない場合は右詰め)
例 "[#####]";100
[  100]
. : 小数点位置を指定する(冗長部分は0が出力される)
例 "[##.#####];3.1415!
[ 3.14150]
^^^^ : 桁数指定の「#」につけた場合、指数形式で出力する
例 "[###^^^^^]";1000
[ 10E+02]

※指定範囲を超えた場合は先頭に「%」を付けて表示する

[戻る]

※ LPRINT
プロッタプリンタへの制御コード
モード指定後「LPRINT "<コマンド文字>";<パラメータ>[",";<パラメータ2>[",";...]]」と指定することで動作する
パラメータが直値(数字)の場合はコマンド文字に続けて指定可能
(ex. LPRINT "D0,0,10,10")

・グラフィックモード
LPRINT CHR$(28);CHR$(37)

・グラフィックモード時の特殊コマンド
座標系は左上を(0,0)とし、用紙の下はYのマイナス座標となる

コマンド書式説明
OLPRINT "O";X;",";Y指定した座標を基点とする
DLPRINT "D";[X1;",";Y1;]",";X2;",";Y2直線を描画する
座標1を省略した場合は現在の座標から描画を開始する
ILPRINT "I";X;",";Y現在位置から指定座標まで直線を描画する
MLPRINT "M";X;",";Y指定絶対座標にペンを移動する
RLPRINT "R";X;",";Y現在座標から指定相対座標にペンを移動する
ALPRINT "A";X1;",";Y1;",";X2;",";Y2長方形を描画する
CLPRINT "C";X1;",";Y1;",";R半径Rの円を描画する
XLPRINT "X";M;",";V;",";S座標軸を描画する
M[描画軸],V[刻み幅],S[刻み数]
0:Y軸上方向
1:X軸右方向
2:Y軸下方向
3:X軸左方向
GPRINT "G";M;",";X;",";Y;",";S縞模様を描画する
M[モード],X[X軸長],Y[Y軸長],S[間隔]
0:プレーン色
1:水平縞
2:垂直縞
LPRINT "L";P直線の描画パターンを編子する
0:直線
1:破線
2:1点破線
3:2点破線
BPRINT "B";S破線の間隔を設定する
0指定時0.5mmで増分は0.2mm

・テキストモード
LPRINT CHR$(28);CHR$(46)

・テキストモード時の特殊コマンド

コマンド書式説明
SLPRINT "S";S文字のサイズを指定する
S0123456789
H(mm)1.22.43.64.86.07.28.49.610.812.0
W(mm)0.81.62.43.24.04.85.66.47.28.0
QLPRINT "Q";D文字の描画角度を指定する
0:0度(通常)
1:90度
2:180度
3:270度
ZLPRINT "Z";S文字の間隔を指定する
YLPRINT "Y";M文字の描画方向を指定する
0:水平方向
1:垂直方向
PLPRINT "P";S$文字を描画する
NLPRINT "N";M定義済みの記号を描画する(1〜9)

・コントロール

コマンド書式説明
JLPRINT "J";Cペンの色を指定する
0:BLACK
1:BLUE
2:GREEN
3:RED
FLPRINT "F";L指定値分の行をフィードする
HLPRINT "H";N基点座標をY軸下方向にNだけ移動する
CHR$(64)LPRINT CHR$(64)ペン動作とインクをテストする

・テキストコントロール

コマンド書式説明
TLPRINT "T"TAB指定
?LPRINT "?"プログラムリスト印字用

[戻る]

※ 定数型・変数型
数値変数は±1.0E-99〜±9.999999999E+99までが指定できる範囲である

A$ : 文字列型(A$="TEST")
$  : 文字列型の汎用変数

[戻る]

※ 演算子
+   : 加算・結合(A+B、A$+B$)
-   : 減算(A-B)
*   : 乗算(A*B)
/   : 除算(A/B)
^   : べき乗(A^B)
MOD : 除算の余(A MOD B)
=   : 等号・代入(A=3、A=B+C)
> < : 不等号・比較(<,>,≦,≧,≠)

[戻る]

※ エラーメッセージ一覧

エラーメッセージ一覧
意味
OMメモリオーバーまたはシステムスタックオーバー
SN構文エラー
MA数学的エラー
UL未定義行番号エラー
BS引数エラー
UV変数エラー
NOネスティングエラー
PRパスワードで保護されている、またはパスワードが違う
NRオプションエラー
BV入力バッファオーバーフロー
DAREADやGETで読み込めるデータがない
DD配列が二重定義された
FCマニュアルコマンドがプログラムで使用された、またはその逆
FONEXTに対するFORがない
GSGOSUBで呼ばれていないのにRETURNが使用された
OV数値オーバーフロー
RWLOAD,VERIFY中にパリティエラーが発生した
SOスタックオーバーフロー
ST文字列が長すぎる
TM変数型が一致しない
VA変数の宣言数が制限を超えた

[TOPに戻る]