intdim

【Tera Term マクロ言語】コマンドリファレンス

intdim 機能

[その他のコマンド]

整数配列型の変数を宣言します。

コマンドライン

intdim <array> <size>

機能説明

他のコマンドで利用する整数配列型の変数を宣言します。
<size> 個の要素を持つ整数配列型の変数 <array> を宣言します。

配列については 024 を参照してください。
<array>
整数配列型の変数名を指定します。

配列内の各要素の初期値は 0 になります。
<size>
<size> は 1 ~ 65536 の範囲の値を持つことができます。

配列の添字は 0 オリジンです。
5 を指定した場合、0 ~ 4 の 5 つになります。

パラメータの説明

指定するパラメータは以下の通りです。
パラメータパラメータ説明
<array>整数型配列配列名を指定します。
<size>整数配列の数を指定します。

対象バージョン

バージョン 4.72 以降で利用可能です。

戻り値

戻り値はありません。

関連コマンド

種別:その他Ver機能の簡易説明
strdim4.72以降文字列配列型の変数を宣言する。

使用方法

使用例

・フィボナッチ数列を格納する場合
; フィボナッチ数列(Fibonacci sequence)
intdim fibonacci 20
fibonacci[0] = 0
fibonacci[1] = 1
for i 2 19
        fibonacci[i] = fibonacci[i-2] + fibonacci[i-1]
next

msg = ""
for i 0 19
        sprintf2 msg "%s%d, " msg fibonacci[i]
next

messagebox msg "result"
・2分探索木で探索する場合
; 2分探索木(binary search tree)
N = 10
intdim a N
a[0] = 1
a[1] = 2
a[2] = 3
a[3] = 7
a[4] = 11
a[5] = 32
a[6] = 40
a[7] = 68
a[8] = 81
a[9] = 99

inputbox 'Search data?' 'User Input'
str2int key inputstr

flag = 0
low = 0
high = N - 1
while low <= high
	mid = (low + high) / 2
	if a[mid] == key then
		sprintf "Your data %d found in index %d." key mid
		messagebox inputstr 'Success'
		flag = 1
		break
	endif
	if a[mid] < key then
		low = mid + 1
	else
		high = mid - 1
	endif
endwhile

if flag == 0 then
	messagebox 'Your data not found.' 'Failure'
endif
end
・エラトステネスのふるいを実装する場合
; エラトステネスのふるい(sieve of Eratosthenes)
;
; Example of execution result
; 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 [18 primes]
;

N = 30
intdim flag N+1
count = 1
for i 0 N
	flag[i] = 1
next

for i 0 N
	if flag[i] =1 then
		count = count + 1
		p = 2 * i + 3
		sprintf "%d " p
		dispstr inputstr

		k = i + p
		while k <= N
			flag[k] = 0
			k = k + p
		endwhile
	endif
next

sprintf "[%d primes]" count
dispstr inputstr

end

サンプル

サンプルマクロはありません。

備考

特にありません。