十進BASIC の“独自の拡張”だけを、help から書き出してみた。
これをみると、DRAW GRID や、複素数など、重要な計算機能まで該当
しており、純粋な Full Basic でなくて、良かったと思います。
----------------------------------------------
OPTION ARITHMETIC DECIMAL_HIGH 10進1000桁(超越関数は17桁(末尾偶数))
OPTION ARITHMETIC COMPLEX 複素数
OPTION ARITHMETIC RATIONAL 有理数(無理関数は10進17桁(末尾偶数))
----------------------------------------------
RANDOMIZE 5489 ( 引数に0~4294967295)
----------------------------------------------
FACT(x) xの階乗
PERM(n,r) 順列の数
COMB(n,r) 二項係数(組合せの数)
ROUND(x) xの小数点以下を丸めた値。
----------------------------------------------
BLEN(a$) バイトを単位とするa$の文字列長。
SUBSTR$(a$,m,n) a$のm文字目からn文字目までの部分文字列
MID$(a$,m,n) a$のm文字目からのn文字
LEFT$(a$,n) a$のはじめのn文字
RIGHT$(a$,n) a$の末尾のn文字
----------------------------------------------
GetKeyState(n) キーの状態を調べる
----------------------------------------------
MAT A=CROSS(B,C) B,Cの外積(ベクトル積)
--------------------------------------------
MAT REDIM 配列の添字の上下限を再定義
----------------------------------------------
DIM A(N),B(2*N) 添字の上下限指定に変数を含む数値式
----------------------------------------------
色名 "WHITE","BLACK","BLUE","GREEN","RED","CYAN","MAGENTA","YELLOW","GRAY","SILVER",
"白","黒","青","緑","赤","黄"
----------------------------------------------
SET LINE WIDTH 数値式 線の太さ
PLOT BEZIER: x1, y1 ; x2, y2 ; x3, y3; x4, y4 ベジェ曲線を描く。
SET BEAM MODE "IMMORTAL" PLOT LINES以外の実行で描点の状態を変えない。
SET BEAM MODE "RIGOROUS" 描点の状態をJISの規定通りにoffにする。
----------------------------------------------
PLOT LABEL ,AT x,y : 文字列式
PLOT LABEL ,AT x,y ,USING 書式指定 : 式, 式 , …, 式
SET TEXT FONT FontName$ ,size
ASK TEXT WIDTH(文字列式) 数値変数 文字列の問題座標系における横幅
SET TEXT BACKGROUND "TRANSPARENT"
SET TEXT BACKGROUND "OPAQUE"
----------------------------------------------
DRAW GRID x軸方向 間隔1,y軸方向 間隔1の格子を描く。
DRAW GRID(p,q) x軸方向 間隔p,y軸方向 間隔qの格子を描く。
DRAW AXES 目盛り間隔がx軸方向1,y軸方向1のx軸とy軸を描く。
DRAW AXES(p,q) 目盛り間隔がx軸方向p,y軸方向qのx軸とy軸を描く。
DRAW GRID0
DRAW AXES0
SET AXIS COLOR 軸の色 廃止予定
----------------------------------------------
DRAW circle 原点を中心とする半径1の円を描く。
DRAW disk 原点を中心とする半径1の円とその内部を現在のarea colorで塗りつぶす。
----------------------------------------------
MOUSE POLL x,y,left,right マウスの位置をx,y left,rightにマウスボタンの状態
----------------------------------------------
PIXELX(x) 問題座標xに対応するピクセルx座標
PIXELY(y) 問題座標yに対応するピクセルy座標
WORLDX(x) ピクセルx座標を問題座標に変換
WORLDY(y) ピクセルy座標を問題座標に変換
PROBLEMX(x) WORLDX(x)と同義
PROBLEMY(y) WORLDY(y)と同義
----------------------------------------------
SET BITMAP SIZE width, height 描画領域の画素数
----------------------------------------------
FLOOD x,y 点(x,y)を始点として点(x,y)と同色でつながる領域を現在のarea colorで塗りつぶす。
PAINT x,y 点(x,y)を始点としてline colorの点を境界とする領域を現在のarea colorで塗りつぶす。
----------------------------------------------
GLOAD ファイル名 指定された名前の画像ファイルを読み込む。
GSAVE ファイル名 指定された名前で画像を保存する。
----------------------------------------------
SET COLOR MODE "NATIVE" 色指定:下位8ビットが赤,中位8ビットが緑,上位8ビットが青
SET COLOR MODE "REGULAR" パレットを用いる通常モード
COLORINDEX(r,g,b) 色指標を得る関数
----------------------------------------------
SET DRAW MODE HIDDEN 内部にあるビットマップメモリにのみ描画するモード
SET DRAW MODE EXPLICIT 画面とビットマップメモリの双方に描画するモード(標準の状態)
SET DRAW MODE NOTXOR 画面の色と指定された色のNOTXORの色で描く
SET DRAW MODE OVERWRITE 指定された色で描く(標準の状態)
----------------------------------------------
WAIT DELAY 数値式 指定された秒数だけ休止
PAUSE Enterキーを待つ。
PAUSE 文字列式 文字列式の値を表示してEnterキーを待つ。
----------------------------------------------
EXECUTE ファイル名
EXECUTE ファイル名 WITH (式,式,・・・,式)
EXECUTE NOWAIT ファイル名
EXECUTE NOWAIT ファイル名 WITH (式,式,・・・,式)
PLAY 文字列式 関連付けを利用して文字列式が表すファイルをplayする。
PLAY NOWAIT 文字列式 指定されたプログラムの実行が終わるのを待たずに次の行に進む。
ASSOC PRINT 文字列式 関連付けを利用して文字列式が表すファイルをprintする。
----------------------------------------------
SWAP x,y 変数x,yの値を交換する。
BEEP 警告音を発する。
BEEP 数値式1, 数値式2 (NT/2000/XP) 数値式1は振動数(Hz),数値式2は継続時間(ms)
PLAYSOUND 文字列式 サウンドファイルを再生する。
PLAYSOUND 文字列式 ,ASYNC 再生が終わるのを待たずに次の行に進む。
----------------------------------------------
SET #経路番号 : ENDOFLINE CHR$(13)&CHR$(10)
SET #経路番号 : ENDOFLINE CHR$(10)&CHR$(13)
SET #経路番号 : ENDOFLINE CHR$(13)
SET #経路番号 : ENDOFLINE CHR$(10)
ASK #経路番号 : FILESIZE 数値変数 バイト単位のファイル長
SET DIRECTORY a$ カレントディレクトリを、a$が指定するディレクトリに変更
ASK DIRECTORY s$ カレントディレクトリを表す文字列を、文字列変数s$に代入
FILE GETNAME s$ ファイルを開くダイアログを表示し,指定するファイル名をs$に代入
FILE GETNAME s$, 文字列式 文字列式を既定の拡張子としてファイルダイアログを開く
FILE SPLITNAME (a$) path$, name$, ext$ ファイル名を表す文字列式a$を,3つに分割
FILE RENAME a$,b$ a$が示すファイルの名前をb$に変える
FILE DELETE a$ a$が示すファイルを削除する。
FILE LIST 文字列式,s$ s$には1次元文字列配列を書く。
FILES(文字列式) 文字列式に合致するファイルの数。
----------------------------------------------
OPEN # 数値式 : PRINTER 経路にプリンタを割り当てる
----------------------------------------------
OPEN # 数値式 : TextWindow1
OPEN # 数値式 : TextWindow1 ,ACCESS INPUT
OPEN # 数値式 : TextWindow1 ,ACCESS OUTPUT
OPEN # 数値式 : TextWindow1 ,ACCESS OUTIN
----------------------------------------------
COMPLEX(x , y) 複素数 x+ y i //複素数モード
RE(z) zの実部
IM(z) zの虚部
CONJ(z) zの共役複素数 CONJ(x + y i)= x - y i
ARG(z) zの偏角、angle radians(-π< ~<=π) angle degrees(-180°< ~<=180°)
ABS(z) zの絶対値
SQR(z) zの平方根(偏角:-90°< ~<=90°)
SQR(-1)= i
EXP(z) 指数関数(角度単位は常にラジアン)
LOG(z) zの自然対数。実部はlog|z|,虚部はarg z(単位は常にラジアンで -π~π)。
図形変形関数の複素数への拡張( shift(z), scale(z),,, )
----------------------------------------------
NUMER(x) xの分子(numerator) //有理数モード
DENOM(x) xの分母(denominator)
GCD(x,y) xとyの最大公約数(Greatest Common Divisor)。結果は正符号をもつ。
INTSQR(x) xの正の平方根の小数点以下を切り捨てた数値。INT(SQR(x))
INTLOG2(x) xの整数部分の2を底とする対数の整数部分。INT(LOG2(INT(x)))