変数や配列の定義、配列操作に関する命令

↑目次に戻る

=

変数に数値や式の値を代入

・従来のBASICのLET命令を省略した書き方
・本製品ではLET命令自体が省略されており代入には'='のみ使用

A=10
A$="HELLO" 

DIM 配列変数名[ 要素数 ] ,…

使用する配列を宣言

・配列の宣言は省略できない
・添字は0から始まる
・要素数は必ず[]でくくり()は使用できない
・DIMとVARはどちらを使ってもよい

引数

配列変数名[]

・英数字とアンダースコア(_)が使用可能
・先頭に数字は使用不可
・配列変数には文字列変数も使用可能

要素数

・確保する配列の個数を[]でくくって指定
・要素数はカンマ(,)で区切って4次元まで指定可能

DIM ATR[4]
DIM DX[5], DY[5], DZ[5]
DIM POS[10,5]

DIM 変数名 ,…

使用する変数を宣言

・OPTION STRICT指定時、すべての変数の宣言が必要
・DIMを変数の定義用として利用する使い方

引数

変数名

・英数字とアンダースコア(_)が使用可能
・先頭に数字は使用不可
・文字列変数も宣言可能

DIM A, ATRB, B$

VAR 配列変数名[ 要素数 ] ,…

使用する配列を宣言

・本製品では配列の宣言は省略できない
・添字は0から始まる
・要素数は必ず[]でくくり()は使用できない
・DIMとVARはどちらを使ってもよい

引数

配列変数名[ 要素数 ]

・英数字とアンダースコア(_)が使用可能
・先頭に数字は使用不可
・配列変数には文字列変数も使用可能

要素数

・確保する配列の個数を[]でくくって指定
・要素数はカンマ(,)で区切って4次元まで指定可能

VAR ATR[4]
VAR DX[5], DY[5], DZ[5]
VAR POS[10, 5]

VAR 変数名 ,…

使用する変数を宣言

・OPTION STRICT指定時、すべての変数の宣言が必要

引数

変数名

・英数字とアンダースコア(_)が使用可能
・先頭に数字は使用不可
・文字列変数も宣言可能

VAR A, ATRB, B$

SWAP 変数1, 変数2

2つの変数の値を交換

・文字列と数値の交換は不可

引数

変数1

交換元の変数

変数2

交換先の変数

SWAP A,B

INC 変数 [, 式 ]

変数の値に1足す(引数がある場合式の値を加算)

引数

変数

加算する変数名

加算する値(省略時:1)

文字列参照型についての補足

・文字列変数と配列は参照型です
・INC,DEC,SHIFT,UNSHIFT,PUSH,POPは参照型命令

h5.A$=ABC  '初期値ABCのメモリーを確保
B$=A$    '変数は別だが参照先メモリーは同じ
?A$,B$    'ABCとABCと表示
INC B$,Z '参照先に対してZを加算
?A$,B$   'ABCZとABCZと表示
B$=B$+X  '変数への足し算はコピーが発生
?A$,B$   'ABCZとABCZXと表示
C$=B$   '変数は異なるが参照先は同じメモリー
?A$,B$,C$  'ABCZとABCZXとABCZXと表示
INC C$,W '参照先に対してWを加算
?A$,B$,C$  'ABCZとABCZXWとABCZXWと表示
INC X 'Xに1加算
INC X,3 'Xに3加算

DEC 変数 [, 式 ]

変数の値から1引く(引数がある場合式の値を減算)

引数

変数

減算する変数名

減算する値(省略時:1)

文字列参照型についての補足

・INC命令内の補足説明をご覧ください

DEC X
DEC X,3

COPY コピー先配列 [,コピー先オフセット],コピー元配列 [[,コピー元オフセット], コピー要素数]

配列を他の配列にコピー

・1次元配列に限りコピー先要素数不足の際自動追加
・コピー元、コピー先とも次元は無視される

引数

コピー先配列

コピー先の配列(コピー元配列の内容で上書きされる)

コピー先オフセット

上書きされる先頭要素(省略時はコピー先の先頭から)

コピー元配列

コピー元の配列

コピー元オフセット

上書きする先頭要素(省略時はコピー元の先頭から)

コピー要素数

上書きする要素数(省略時はコピー元の末尾まで)

DIM SRC[10],DST[10]
COPY DST,SRC

COPY コピー先配列 [,コピー先オフセット], @ラベル文字列 [,コピーデータ数]

DATA列を配列に読み込む

・DATA命令に列挙されたデータを配列に読み込む
・1次元配列に限りコピー先要素数不足の際自動追加

引数

コピー先配列

コピー先の配列(DATA列の内容で上書きされる)

コピー先オフセット

上書きされる先頭要素(省略時は配列の先頭から)

@ラベル文字列

読み込むDATA命令に付けられている@ラベル名を文字列で指定

コピーデータ数

・読み込むデータ数(省略時はコピー先配列の要素数分)
・※コピー先配列数よりDATA数が少ない場合エラー

DIM DST[5]
COPY DST,"@SRC" 
@SRC
DATA 5,1,1,2,4

SORT [開始位置, 要素数,] 配列1 [,配列2 ,…]

配列を昇順で並び替える

引数

開始位置

配列1内のソートを開始する位置(0~)

要素数

配列1内のソートする要素数(1~)

配列1

ソートする数値の入った配列

配列2

・配列1のソート結果に従いソートする配列
・列挙できる配列は配列1~配列8まで

DIM WORK[10]
SORT 0, 10, WORK

RSORT [開始位置, 要素数,] 配列1 [,配列2 ,…]

配列を降順で並び替える

引数

開始位置

配列1内のソート開始位置(0~)

要素数

配列1内のソートする要素数(1~)

配列1

ソートする数値の入った配列

配列2
・配列1のソート結果に従いソートする配列
・列挙できる配列は配列1~配列8まで

DIM WORK[10]
RSORT 0, 10, WORK

PUSH 配列, 式

配列の末尾に要素を追加(要素数が1つ増える)

引数

配列

要素を追加される配列

追加する要素の値

文字列参照型についての補足

・INC命令内の補足説明をご覧ください

DIM WORK[10]
PUSH WORK, 123

変数=POP( 配列 )

配列の末尾から要素を取り出す(要素数が1つ減る)

引数

配列

要素を取り出される配列

戻り

取り出した要素の値

文字列参照型についての補足

・INC命令内の補足説明をご覧ください

DIM WORK[10]
PUSH WORK, 123
A=POP(WORK)

UNSHIFT 配列, 式

配列の先頭に要素を追加(要素数が1つ分増える)

引数

配列

要素を追加される配列

追加する要素の値

文字列参照型についての補足

・INC命令内の補足説明をご覧ください

DIM WORK[10]
UNSHIFT WORK, 123

変数=SHIFT( 配列 )

配列の先頭から要素を取り出す(要素数が1つ分減る)

引数

配列

要素を取り出される配列

文字列参照型についての補足

・INC命令内の補足説明をご覧ください

DIM WORK[10]
UNSHIFT WORK, 123
A=SHIFT(WORK)

FILL 配列, 値 [,オフセット [,要素数]]

配列内容をすべて指定値に設定

・オフセットと要素数で部分的な変更も可能
・配列の型は、整数、実数、文字列いずれでも構わない

引数

配列

値を上書きする配列

数値や文字列

オフセット

値を書き込み始める位置

要素数

書き込む数

DIM WORK[10]
FILL WORK,0

↑目次に戻る