【カシオ】プログラム関数電卓 For~Next StepとDsz
カシオのプログラム関数電卓で以前、For~Next Stepを使って、0.00001を1万回足す記事を書いた。使った電卓は、fx-5800Pを含めた電卓。今回は、1を1万回足すプログラムを組み、fx-5800Pのみを用いて実験を行った。
CasioBasic(Basicライク仕様)の、カシオプログラム関数電卓で、繰り返し計数(For~Next Step)を搭載する前は、2つの計数命令がある。
・Isz 加算計数命令
Isz 変数 :式1 {:▲(改行)}式2
変数に1ずつ加算していき、変数が0であれば、式2を実行し、そうでなければ式1を実行する。
・Dsz 減算計数命令
Dsz 変数 :式1 {:▲(改行)}式2
変数に1ずつ減算していき、変数が0であれば、式2を実行し、そうでなければ式1を実行する。
【プログラム1】(CR)はEXEを押して改行記号を示す。
ClrMemory(CR)
For 1→A To 10000 Step 1:A=A+1:Next(CR)
"RESULT=":A▲
【計算結果】3回実行し、平均約3分48秒で10,000を表示した。
【プログラム2】減算計数命令Dszを使用。
0→A:10000→I(CR)
Lbl 0(CR)
A+1→A(CR)
Dsz I(CR)
Goto A(CR)
A(CR)
【計算結果】3回実行し、平均約2分52秒で10,000を表示した。
For~Next Step 1を用いるより、Lbl~Gotoの繰り返し計数するたびに、1ずつ加算または減算するIsz,Dszがfx-5800Pにおいては早く結果を得られる。プログラムでGOTO文を使うのは避けるのが一般的でも、プログラム関数電卓の場合は、長いプログラムソースを書くのは、少ないため、ラベル~GOTOで繰り返してもよい。