戻る
SHARP BASIC (PC-1400系)
PC-1401/1402 : シャープ (SHARP)

PC-1401

PC-1401/1402シリーズはSHARP製ポケットコンピュータである。
搭載されているBASICに特に名称はない。
PC-1245系との互換性があり、ハード的な部分を除けばほぼそのまま使用可能。

SHARPのポケコンにはプログラムを入力できる「PRO」モードと実行できる「RUN」モードがある。
「PRO」モードでしか実行できないコマンドや、「RUN」モードでしか実行できないコマンドもある。
また、プログラム内でしか実行できないコマンドもある。

MODE
R[RUN ] : プログラムを実行できるモード
P[PRO ] : プログラムを入力できるモード
B[both] : どちらでも使用可能

P[prg ] : プログラム内で使用可能
M[man ] : プログラム外で使用可能
A[all ] : どちらでも使用可能

関数に関しては単独で[RUN]モード時に計算用としても使用可能

BASIC簡易リファレンス
コマンド
表記MODE省略形凡例使用例説明
RUNR:MR.RUN [{行番号 | "ラベル" | 文字変数}]RUNプログラムを実行する
CONTR:MC.CONTCONT「STOP」で一時停止したプログラムの実行を再開する
LISTP:ML.LIST [{行番号 | "ラベル" | 文字変数}]LISTプログラムリストを表示する
NEWP:MNEWNEWプログラムを消去する(RESERVEモードではリザーブ内容を消去)
PASSR:MPA.PASS "パスワード"PASS "PASSWORD"プログラムにパスワード(7文字以内)を設定する
同じパスワードを設定すると解除される
プログラムの表示、編集、保存などが禁止される
DEGREEB:ADE.DEGREEDEGREE角度単位系を度分秒に設定する
RADIANB:ARAD.RADIANRADIAN角度単位系をラジアンに設定する
GRADB:AGR.GRADGRAD角度単位系をグラジアンに設定する
TR ONB:ATR.TR ONTR ONトレースモードにする
TR OFFB:ATROF.TR OFFTR OFFトレースモードを解除する
MEMB:MM.MEMMEM使用可能なメモリサイズを表示する
[戻る]
ステートメント:制御関連
表記MODE省略形凡例使用例説明
ENDP:PE.ENDENDプログラムを終了する
STOPP:PS.STOPSTOPプログラムを停止(「CONT」で再開)
LETP:ALE.[LET] {数値変数=数式 | 文字列変数=文字列式}LET A=0変数に値を代入(LET自体省略可能)
REMP:PREM [注釈]REM TEST注釈を書く
ラベルP:P"{定義キー}""A"ラベルを定義する(行頭のみで[DEF]+[定義キー]でも呼び出せる)
定義可能なキーは[A,S,D,F,G,H,J,K,L,Z,X,C,V,B,N,M]及び[SPACE]
GOTOB:AG.GOTO {行番号 | "ラベル" | 文字変数}GOTO 10指定した{行番号 | ラベル}に移動する(ラベルは文字変数も利用可能)
GOSUBP:PGOS.GOSUB {行番号 | "ラベル" | 文字変数}GOSUB 10指定した{行番号 | ラベル}のサブルーチンを呼び出す(ラベルは文字変数も利用可能)
RETURNP:PRE.RETURNRETURNサブルーチンから復帰する
ON ... GOTOP:P{ONG. | O.〜G,}ON 数式 GOTO {行番号 | "ラベル" | 文字変数}[,{行番号2 | "ラベル2" | 文字変数2}[,...]]ON A GOTO 10,20数値に従って指定した{行番号 | ラベル}に移動する
ON ... GOSUBP:P{ONGOS. | O.〜GOS,}ON 数式 GOSUB {行番号 | "ラベル" | 文字変数}[,{行番号2 | "ラベル2" | 文字変数2}[,...]]ON A GOSUB 10,20数値に従って指定した{行番号 | ラベル}のサブルーチンを呼び出す
IF〜THENP:PIF〜T.IF 条件式 THEN {行番号 | "ラベル" | 文字変数}IF A=0 THEN 10条件式が真の場合、{行番号 | ラベル}に移動する
IF〜THENP:PIF〜T.IF 条件式 THEN 文IF A=0 THEN 10条件式が真の場合、処理を実行する
FOR〜TO〜STEP〜NEXTP:PF.〜STE.〜N.FOR 変数=始値 TO 終値 [STEP 増分]〜NEXT 変数FOR I=0 TO 9〜NEXT IFORからNEXTまでの処理を繰り返す
WAITB:AW.WAIT [式]WAIT 10
WAIT
「PRINT」実行時に一時停止する時間(0〜65535:1/59sec)を設定する
指定なしの場合は[ENTER]キーが押下されるまで待つ
ON ERROR GOTOP:P{ONER. | O.〜ER,}ON ERROR GOTO {行番号 | "ラベル" | 文字変数}[,{行番号2 | "ラベル2" | 文字変数2}[,...]]ON A GOTO 10,20エラーに従って指定した{行番号 | ラベル}に移動する
BEEPB:AB. {O. | OF.}BEEP [式]BEEPBEEP音を発声させる(式を指定した場合は発声回数)
[戻る]
ステートメント:表示関連
表記MODE省略形凡例使用例説明
CLSB:ACLSCLS画面を消去する
PRINT[ USING]B:AP.[ U.]PRINT [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]PRINT "HELLO,WORLD"画面上に表示する
PRINT=B:AP.=PRINT={PRINT | LPRINT}PRINT=LPRINTPRINTの動作を{画面上に表示 | プリンタに印字(要サーマルプリンタ[CE-126P])}とする
PAUSE[ USING]P:PPA.[ U.]PAUSE [{[USING 書式;データ] | [式]}[{, | ;}[式2[,...]]]]PAUSE "HELLO,WORLD"画面上に表示し、約0.85sec後に実行を再開
USINGB:AU.USING [書式;データ]USING "#####";A式の書式を設定する
[戻る]
ステートメント:データ関連
表記MODE省略形凡例使用例説明
CLEARB:ACL.CLEARCLEAR変数を消去する
DIMB:AD.DIM 変数名(最大値[,最大値2])[,...]
DIM 文字列変数名(最大値[,最大値2])[*データ長][,...]
DIM A(100,10),B$(100)
DIM A$(100)*4
配列変数の定義をする(配列は2次元まで)
文字列配列変数の定義をする(データ長を指定可能)
INPUTP:PI.INPUT [文字列{, | ;}]変数[,...]INPUT "TEST=";$データを変数に入力する
READP:PREA,READ 変数[,変数2[,...]]READデータを変数に読み込む
DATAP:PDA.DATA 定数[,定数2[,...]]DATAデータを定義する
RESTOREP:PRES.RESTORE [行番号]RESTOREデータ読み出し位置を指定する
RANDOMB:ARA,RANDOMRANDOM乱数発生Seedを変更する
AREADP:PA,AREAD 変数AREAD A定義付けキーによるプログラム実行時、表示内容を変数に読み込む
[戻る]
プリンタ関連(要サーマルプリンタ[CE-126P])
表記MODE省略形凡例使用例説明
LLISTP:MLL.LLIST [{行番号 | "ラベル" | 文字変数}][,{行番号2 | "ラベル2" | 文字変数2}]LLISTプログラムリストを印字する(引数を指定する場合はどちらか一方は必須)
[戻る]
カセットテープ関連(要カセットI/F[CE-124]/サーマルプリンタ[CE-126P])
表記MODE省略形凡例使用例説明
CSAVEP:MCS.CSAVE ["ファイル名"][,"パスワード"]CSAVE "TEST"カセットテープにプログラムをセーブする(ファイル名は8文字以内)
CLOADP:MCLO.CLOAD ["ファイル名"]CLOAD "TEST"カセットテープからプログラムをロードする
CLOAD?P:MCLO.?CLOAD? ["ファイル名"]CLOAD "TEST"カセットテープのプログラムとメモリ内のプログラムを比較する
PRINT#B:AP.#PRINT# 変数[,変数2[,...]]
PRINT#[-1] "ファイル名";変数[,変数2[,...]]
PRINT# "TEST";A,Bカセットテープにデータを保存する
INPUT#B:AI.#INPUT# 変数[,変数2[,...]]
INPUT#[-1] "ファイル名";変数[,変数2[,...]]
INPUT# "TEST";A,Bカセットテープからデータを読み込んで変数に入れる
[戻る]
数学関数
表記MODE省略形凡例使用例説明
SINB:ASI.SIN 数式SIN A正弦(サイン)の値を返す
COSB:ACOS 数式COS A余弦(コサイン)の値を返す
TANB:ATA.TAN 数式TAN A正接(タンジェント)の値を返す
ASNB:AAS.ASN 数式ASN A逆正弦(アークサイン)の値を返す
ACSB:AAC.ACS 数式ACS A逆余弦(アークコサイン)の値を返す
ATNB:AAT.ATN 数式ATN A逆正接(アークタンジェント)の値を返す
HSNB:AHS.HSN 数式HSN Aハイパボリックサインの値を返す
HCSB:AHC.HCS 数式HCS Aハイパボリックコサインの値を返す
HTNB:AHT.HTN 数式HTN Aハイパボリックタンジェントの値を返す
AHSB:AAH.AHS 数式AHS Aアークハイパボリックサインの値を返す
AHCB:AAHC 数式AHC Aアークハイパボリックコサインの値を返す
AHTB:AAHT 数式AHT Aアークハイパボリックタンジェントの値を返す
LNB:ALN 数式LN A自然対数の値を返す
LOGB:ALO.LOG 数式LOG A常用対数の値を返す
EXPB:AEX.EXP 数式EXP A自然対数の低(e)に対する指数関数の値を返す
TENB:ATE.TEN 数式TEN A常用対数の低(10)に対する指数関数の値を返す
SQUB:ASQU 数式SQU A2乗した値を返す
SQRB:ASQ.SQR 数式SQR A平方根の値を返す
CURB:ACU.CUR 数式CUR A立方根の値を返す
ROTB:ARO.ROT(X,Y)ROT(5,5)YのX乗根を返す
FACTB:AFA.FACT 数式FACT A階乗値を返す
RCPB:ARCP 数式RCP A逆数を返す
πB:A{π | PI}π円周率を返す
POLB:APOL(N,R)POL(A,2)直交座標を極座標時に変換した値を返す
RECB:AREC(N,R)REC(A,2)極座標時を直交座標に変換した値を返す
[戻る]
数値関数
表記MODE省略形凡例使用例説明
ABSB:AAB.ABS 数式ABS A絶対値を返す
SGNB:ASG.SGN 数式SGN A数式の符号を返す
INTB:AINT 数式INT A数式を越えない最大の整数を返す
RNDB:ARN.RND 数式RND A数式を指定桁で四捨五入した値を返す
DECIB:ADECI 数式DECI &FF16進数値を10進数に変換した値を返す
HEXB:AHEX 数式HEX 12810進数値を16進数に変換した値を返す
DEGB:ADEG(度[,分[,秒]])DEG(140,12,34)度分秒を10進数に変換した値を返す
DMSB:ADM.DMS 数式DMS A数式を度分秒に変換した値を返す
[戻る]
文字関数
表記MODE省略形凡例使用例説明
ASCB:AASC 文字列式ASC A$文字列先頭のキャラクタコードを返す
VALB:AV.VAL 文字列式VAL A$文字列を数値に変換して返す
LENB:ALEN 文字列式LEN A$文字列の長さを返す
CHR$B:ACH.CHR$ 数式STR$ Aキャラクタコードを文字に変換して返す
STR$B:ASTR.STR$ 数式STR$ A数値を文字列に変換して返す
LEFT$B:ALEF.LEFT$(文字列式,文字数)LEFT$(A$,2)文字列式の最初から文字数分の文字列を返す
RIGHT$B:ARI.RIGHT$(文字列式,文字数)RIGHT$(A$,2)文字列式の終端から文字数分の文字列を返す
MID$B:AMI.MID$(文字列式,始点,文字数)MID$(A$,2,2)文字列式の始点位置から文字数分の文字列を返す
[戻る]
その他関数
表記MODE省略形凡例使用例説明
INKEY$B:AINK.INKEY$INKEY$実行時に押下されているキーの値を返す
[戻る]

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

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

[戻る]

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

A$ : 文字型(A$="TEST")
&{16進数} : 16進数値

[戻る]

※ 演算子
+   : 加算・結合(A+B、A$+B$)
-   : 減算(A-B)
*   : 乗算(A*B)
/   : 除算(A/B)
^   : べき乗(A^B)
=   : 等号・代入(A=3、A=B+C)
> < : 不等号・比較(<,>,≦,≧,≠)
NOT : 否定(NOT[NO.] A)
AND : 論理積(A AND[AN.] B)
OR  : 論理和(A OR B)

[戻る]

※ エラーメッセージ一覧
エラー表記は「ERROR 番号」となる

エラーメッセージ一覧
番号意味
1構文エラー
2演算エラー
3「DIM」に関するエラー
配列が2重宣言されている
未宣言の配列が使用されている
4行番号に関するエラー
5ネストに関するエラー
ループのネスト制限を超えている
「RETURN」に対する「GOSUB」がないなど
6容量オーバー
7フォーマットエラー
「PRINT」「USING」などで書式が正しくない
8入出力エラー
9その他のエラー
変数型に対応した入力値でない
パスワードが正しくないなど

[TOPに戻る]