電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

関数電卓 CASIO fx-5800P

カシオ プログラム関数電卓 407関数 10桁 FX-5800P-N
電子工作やプログラミングをしていると、ちょっとした計算や、ダメージ計算などの自作の式に値を当てはめて確認をしたくなる事があります。
普通の計算機だと式や答えの履歴は残らないし、変数も扱えません。
そこで関数電卓があれば良いなと思い、購入しました。
今回選んだのはカシオプログラム関数電卓 FX-5800P-Nです。
量販店でも7000円前後のものです。
この関数電卓は、プログラミング機能があるのが決め手になりました。
これでちょっとした複数の式を使うロジックもプログラミングして残しておく事もできます。

この関数電卓のプログラミング機能は特殊なもので、関数電卓のキーで快適に入力できる様に工夫されています。
基本的な言語構造はBasicに近いです。

試しにサンプルとして最大値を入力するとその範囲内でランダムな数字を表示するものを作ってみました。

"MAX NUMBER"?→N
Lbl 0
Cls
RanInt#(1,N)→R
Locate 1,1,"RANGE 1-"
Locate 9,1,N
Locate 1,2,R
Locate 1,4,"5→RETRY 0→EXIT"
Do
GetKey→K
K=22 Or K=25⇒Break
LpWhile 1
K=22⇒Goto 0
Cls

このリストを簡単に説明します

"MAX NUMBER"?→N
画面に"MAX NUMBER"と表示して入力状態にし、入力された数字を変数Nに格納する

Lbl 0
この行に0とラベルを付ける

Cls
画面をクリア

RanInt#(1,N)→R
1〜変数Nのランダムな整数値を変数Rに格納する

Locate 1,1,"RANGE 1-"
1桁目の1行目に"RANGE 1-"と表示する

Locate 9,1,N
9桁目の1行目に変数Nを表示する

Locate 1,2,R
1桁目の2行目に変数Rを表示する

Locate 1,4,"5→RETRY 0→EXIT"
1桁目の4行目に"5→RETRY 0→EXIT"と表示する

Do
ループの始め

GetKey→K
リアルタイムなキー押下検査
この命令が実行された瞬間に押下されているキーコードを変数Kに格納する
押下されているキーが無い場合のコードは0になる

K=22 Or K=25⇒Break
変数K(入力されたキーのコード)が22(数字の[5]のキー)または25(数字の[0]のキー)ならばループから抜ける

LpWhile 1
ループの終わり
条件を1にして、条件が合わないようにしている

K=22⇒Goto 0
変数K(入力されたキーのコード)が22(数字の[5]のキー)ならばラベルの0に行く

Cls
画面消去

以上で終了します。
使い方によってはゲームも作れるでしょう。
関数電卓を持つのは初めてですが、以外と使える場面は多いです。
プログラム開発時に1つ手元に置いておく事をおすすめします。