2016年 10月 30日
人間コンパイラでHP電卓
最初はBASICで考えて、あとは機械的に置き換えていくだけです。
構造化のループ処理のみですが、これさえあれば、楽になるのでないですか。
使い込んでいくうちに良くなると思います。
最初 BASICで書いてあります。
次に 同等のものを HP電卓の逆ポーランド法でかきました。
*************************************
if ~ then ~ endif
if X=0 then ----------- Xがゼロならば以下を実行
A = 1 -------------- Xがゼロの時実行する
endif ------------------ エンド
X キ 0 ------------Xをチェック
GTO 5 ------------Xがゼロならば以下を実行
1 ------------------ループ内処理
STO 1 -------------ループ内処理
LBL 5 -------------エンド
*************************************
For ~ Next
for i = 1 to 3
print i
next
3 ---------ループ回数の3をセット
STO 0 ----同上
LBL 5 ------ループ処理ルーチンの先頭
RCL 0------ループ内処理
PAUSE------ループ内処理
DSZ---------カウンターを1減算してゼロでないならLBL 5へ戻る
GTO 5 -----処理のエンド
*************************************
while ~ wend
a=0 ---------------初期値をゼロとする
while( a<7) -------aが7以下の時ループを回す
a=a+1 ------------aを1つインクリメントする
print a -------------aをプリントする
wend --------------ループの終わり
0
STO 3
LBL 1 --------------ループの先頭
1
STO +3 ------------カウンターを1つインクリメント
----------------------ここにループ内処理を置く
RCL 3 --------------カウンターを表示する
PAUSE --------------カウンターを表示する
7 --------------------比較する数値をセット
X > Y ---------------比較する
GTO 1 --------------未到達なら LBL 1 へ行く