テーブル化サンプルプログラム2


内容

0〜255までの整数を順に入力とし、その平方根を SQR 関数とそれをテーブル化したものを用いて計算し、その時間を比較します。
実行してしばらく待つと、BEEP 音と共にまず、SQR 関数を使って計算を行い、その時間を表示します。 続いて、BEEP 音と共に今度は平方根テーブルを用いて計算します。
結果はテーブル化した方が40倍以上速いはずです。
MSX(RAM 8KB 以上)で動作します。

プログラムリスト

1 'SAVE"TABLSP2.BAS
2 'SAVE"TABLSP2.ASC",A
1000 'テーブルか サンプル2
1010 ' へいほうこん テーブル
1020 ' for MSX(RAM 8K)
1030 DEFINT A-Z:DIM SQ!(255)
1040 SCREEN1,1,0:WIDTH30:COLOR15,4,3:KEY OFF:CLS
1050 FOR X=0TO255:SQ!(X)=SQR(X):NEXT
1060 BEEP
1070 'ベンチマークで GO!
1080 PRINT" 2つの しきについて、Xに 0から255まで 1ずつ":PRINT"ふやしな
がら だいにゅう・けいさんし、けいさんに かかった じかんを ひかく。"
1090 Y!=0'ガベージ コレクティング たいさく
1100 PRINT"Y!=SQR(X)...";:TIME=0:FOR X=0TO255:Y!=SQR(X):NEXT:PRINT USING
"##.###";TIME/60;:PRINT"秒"
1110 PRINT"Y!=SQ!(X)...";:TIME=0:FOR X=0TO255:Y!=SQ!(X):NEXT:PRINT USING
"##.###";TIME/60;:PRINT"秒"
1120 BEEP:END

主な変数

プログラム解説

変数の型について

通常、プログラムの始めの方で、
DEFINT A-Z
と書くと、プログラム中の変数は「指定」がない限り、全て整数型変数となります。 なぜ整数型変数を定義するかというと、整数型の方が他の型より処理速度が速いからです。
でも、整数型では困るような場合は、その変数名の右に「指定」を付ければ、その変数は指定した型になります。 例えば、「!」をつけると、その変数は単精度型になり、小数も扱えるようになります。 他には、「$」をつけると文字列型になります。
今回のサンプルでも、少数型(単精度)である必要がある(整数型では困る)変数については「!」を付けています。
戻る

MSXの適当手帳 MSX駅 西山駅