« 【加算器式電卓】シャープ CS-2130 | メイン | 【長崎電気軌道】5000系試運転 »

2011-01-29

【プログラム】プログラム関数電卓とポケコンの計算競争。

 プログラム関数電卓と、むかし懐かしのポケットコンピュータで計算をさせてみた。計算内容は、0.00001を1万回足して0.1に表示させるだけの簡単なプログラム。
 使った機種は、
 プログラム関数電卓  カシオ  fx-5800P
   ポケットコンピュータ シャープ PC-G801

  ポケコンは15年近く前にリサイクルショップで売られていたのを購入して、関数電卓の代わりと簡単なBASICプログラムを組んで繰り返し計算させている。

 まずは、ポケコンのプログラムリストから、
10 A=0
20 FOR I=1 TO 10000
30 A=A+0.00001
40 NEXT I
50 PRINT A

 関数電卓のプログラムは、数式を記憶させて、簡単な条件判断をつけたタイプを多々ある。fx-5800Pはこれに、BASICのコマンドに似せ、簡単な構造化できるように仕様を変更している。BASICライクとカタログにはあったが、それとは似つかない言語である。

 プログラムリストをあげる。▲は、関数電卓では形が若干違う。
ClrMemory:For 0.00001→A To 0.1 Step 0.00001:A=A+0.00001:Next:A▲
 行番号が不要な仕様。:でつなげなくても、この様にも記述できる。(EXE)は、関数電卓上では改行マークを示す記号になる。
ClrMemory(EXE)
For 0.00001→A To 0.1 Step 0.00001(EXE)
A=A+0.00001(EXE)
Next(EXE)
A▲(EXE)

 0.1と表示させるまでの時間は、
 fx-5800P   4分08秒
 PC-G801    1分18秒

 

プログラム関数電卓が当時のZ80搭載のポケコンより低速度の結論になる。能力が劣るとは別次元である。それにポケコンは現在学販だけで、その他はネットオークションで探して買う選択だけ。手軽にどこでも簡単なプログラムを組んで繰り返し計算は関数電卓が当面優位だと思われる。



【追記】
 Panasonic FS-A1WX(MSX 2+(Ver3.0)ROM-BASIC;漢字表示設定時)で同じ計算をさせると38秒で答えを表示しました。ただし、クロックアップコマンドで動作速度をあげています。
 ポケコンのプログラムを、次のように書き換えると、fx-5800Pと同程度の時間(4分24秒)で答えを出します。※前出のMSX2+PCは10分43秒。
10 A=0
20 FOR I=1 TO 10000
30 A=A+0.00001
40 PRINT A
50 NEXT I
※40行と50行を入れ替える。

 

答えを表示しながら行う繰り返し計算は3倍以上の時間を要します。