科学技術計算用スクリプト電卓 AprocD 操作説明

電卓を使って計算するとき不便に思うことはありませんか?

検算のとき、或いはミスしたとき同じ数を何度も入力しなければならなかったり
(複雑な式や、桁数が多い数値は厭になりますね)
別の計算結果と比べたいけれど、記録していなかったり
10進数と16進数の切り替えが煩わしかったり
本当に正しく入力したか心配で眠れなくなったり

でも、わざわざ表計算ソフトなどを使うほどのものではないし ...

しょせん電卓だから、しょうがないと諦めていませんか?

AprocD は、そんなあなたのためのプログラム電卓です。ぜひご利用ください。

 


AprocD の特長

入力した式や数値をずっと覚えていて、簡単に再利用できます。
ボタンを使わず数式で入力しますので、結果が読みやすく履歴も明快です。
異なるパラメータの値について一括計算できます。
条件分岐繰返しを含む複雑な処理も可能です。
16種類の演算子と20種類の関数を備えています。 ユーザ定義の関数も追加できます。
グラフ表示もできます。
10進数と16進数を併記表示できます。
フリーです。右記メニューからダウンロードしてください

以下に操作方法を記します。このページだけで全て説明しています。
動作に疑問がある場合は、右記「お問合わせ」からご連絡をお願いします。ご要望も歓迎します。

 


AprocD の外観

この図は AprocD の起動画面です。3つのエリアに区切られていて、右側の2つが入力用エリア、
左側が出力表示用エリアです。各エリアのサイズは、境界をドラッグして自由に変更できます。

初期画面

 


簡単な計算例

プログラムエリアに計算したい式を書いて実行ボタン またはファンクションキー F9 を押します。
たとえば、30+50 と入力して実行ボタン を押すと、出力エリアに 30+50=80 と表示されます。
いちどにたくさんの式を書いてもかまいません。この例は式を3つ書いて実行した結果です。

 

初期画面

 

sin( ) は三角関数、sqrt( ) は平方根関数、 記号 ^ はべき乗の演算子です。

 


パラメータの利用

前の例には、30という数が3回使われています。この値を変更したいとき、いちいち書き直すのは
手間ですね。 そこで、変化させたい数値をパラメータとして文字 で書きます。

この例では、30 という数を arg という単語で置き換え、定数定義エリアに arg=30 と記しました。
こうすると 30という数字は1つだけになるので変更は容易です。

 

パラメータ未定義エラー

 

複数の数値をコンマで区切って指定すると、それぞれの計算結果がすべて表示されます。このような
複数の値をとるパラメータを くりかえしパラメータ と呼び、ひとつだけ使うことができます。

【補足】くりかえしパラメータはグラフを描くときの横軸としても使います

 

複数パラメータの指定(1)

 

くり返しの回数が多い場合、途中を2個以上連続するピリオドで代用できます。
この例では、arg の値を 30から50までは5毎に、50から90までは10毎に変化させています。

 

複数パラメータの指定(2)

 

【注】    パラメータ や、これから説明する 変数 、およびユーザ関数のスペルは、英字からはじまり、 英数字だけを含む文字列であれば自由です。文字数に制限はありません。ただし、予約語を除きます。

 


変数の利用

式の計算値を 変数 へ代入しておくと、その値を継続する行で使うことができます。 次の例では
第1行の計算結果を変数 x へ 第2行の計算結果を変数 y へ代入し、第3行で x と y の2乗和の
平方根を計算させました。変数を使うと、ややこしい計算を簡潔に記述することができます。

 

変数を利用した計算(1)

 

特定の結果だけ表示させたい場合は、関数 out を使って変数を指定します。次の例では、3番目の式を
変数 z に代入し、out(z) としました。 以下の構文で複数の変数も指定できます。

	out( 変数1,変数2,… )	

 

変数を利用した計算(2)

 


グラフの表示

出力の指定と同じようにして、下記の構文で指定した変数をグラフ化することができます。

	graph( 変数1,変数2,… )	

下の例は、位相が120度ずつ異なる正弦関数を u, v, w という変数へ代入し、それらを指定しました。
くりかえしパラメータ time の範囲を横軸にしてグラフが描かれます。

グラフをクリックすると カーソル が現れ、カーソル位置の数値がステータスバーに表示されます。
右クリックするとカーソルは消えます。

 

グラフ表示例(1)

グラフ表示例(2)

 

 


プログラム

変数を使った処理は既にプログラムになっている訳ですが、 さらに、条件分岐くり返し を含む
処理も記述できます。 次の例は、自然対数の底を次式のくり返し加算で計算しました。

級数展開式

加算回数は ∞ ではなく くり返しパラメータ Repeat に 10回、20回、30回と与えました。
比較のため、指数関数 exp(1) も計算しています。

 

プログラム例(1)

 

プログラムエリアの記述で while という単語がくり返しを意味しています。以下の構文になります。

    while  条件文 
    {
         1行以上の文
    }

この構文は、条件文 が満たされる限り、 {  } で囲まれた文を繰り返します。 例では、変数 n が毎回1ずつ増えていくので、Repeat=10の場合、10回目に n<Repeat という条件が満たされなくなって終了します。

最後の行に 「//確認用」 とあるのは コメント です。 ”// ”から行末までには何を書いても無視されます。

 

条件分岐のために ifelsifelse が使えます。以下の構文になります。

    if  条件文
    {
         1行以上の文
    }
    elsif 条件文
    {
         1行以上の文
    }
    ・・・
    else
    {
         1行以上の文
    }

”elsif ... { ... } ” と ”else { ... } ” は省略可能です。
また、”elsif ... { ... } ” の部分は複数回並べて書くことができます。

プログラムの例を以下に示します。くり返しパラメータ t が 0 から 4 まで変化するとして、
0≦t<1, 1≦t<3, 3≦t≦4 という 3つの場合に異なる計算を行っています。

 

プログラム例(2)

 

【注】    条件文とは、パラメータ、変数、関数 または、 それらを演算子で接続した式のことで、 その値が正なら 真 (true) 、0または負なら 偽(false) となります。 while や if/elsif に続く条件文が真(つまり正)の場合だけ、その直後の{ ... }の内容が実行されます。

 


ユーザ関数

作成したプログラムを ユーザ関数 として 登録 しておくと、他の用途にも利用できて便利です。

ボタン を押すとユーザ関数編集用のウィンドウが現れますので、その右側のエリアに
作成したい関数を定義し、右クリックメニュー で登録します。

これは、自然対数の底を求めるプログラムを Napier というユーザ関数に書き直して実行した結果です。
プログラムエリアの記述はこの関数を参照するだけになりました。

 

ユーザ関数の作成

 

ユーザ関数の記述内容は、前の例で Repeat を N に替え、先頭にコメントと関数名を、最後に計算結果を
返す return 文 を追加しました。 ユーザ関数の構文は以下です。

    // 一覧表に表示されるコメント(省略可)
    関数名(引数1,引数2,... ) 
    {
         0行以上の文
         ......
         return 変数名または式
    }

作成したユーザ関数は、右クリックメニューから 登録または更新 します。 登録すると、その関数は通常の関数と 全く同じように使用できます。 また、ファイルへの保存や、保存ファイルからの登録も可能です。


【補足】 
  • あるユーザ関数から別のユーザ関数を呼び出すこともできます。 ただし、循環(お互いを直接、間接に呼び合うこと)があるとエラーになります。
  • 登録済み関数のソースが編集画面に表示されている場合は、(登録内容ではなく)編集内容が計算に使用されます。
  • 定数も関数として登録できます。例えば、引数のない関数を
            PI()
            {
              return 3.141592653589793
            }
    と定義して登録すれば、PI() を円周率として使うことができます。

 


入力の再利用

定数定義エリアとプログラムエリアに記述された(5文字以上の)文や数値を、実行時に記憶しています。

再び同じ内容を入力しようとすると、最初の1文字を入力したとき、 同じ文字から始まる過去の入力が
別ウィンドウに現れます。

その中の適当な文をクリックすれば、入力が完了します。

2文字まで入力すると、2文字目が異なるものは消えますので候補は少なくなります。
3文字まで入力すると、3文字目が異なるものは消えますので候補はさらに少なくなります。

・・・・・・・・ (以下同文)

 

【補足】 
  • 実行しなかったり、エラーが発生した場合は記憶しません
  • 不要な記憶は削除できます
  • この機能がうるさいと思われる方のため、無効化のメニューがあります

 

 

これで説明は終わりです。 以下は参考資料になります。


ボタンとメニュー

メインウインドウ ( 起動時のウィンドウ ) のボタン

項目ボタン説 明ショートカット
保存現在のコードと設定をファイルに保存しますF3
アンドゥ/リドゥ入力を(取消し/やり直し)しますCtrl+Y/Z
ユーザ関数ユーザ関数を作成・編集するためのウィンドウを開きます
16進数表示演算結果の数値を16進数で併記します
クリア出力エリアの内容を消去します
演算実行演算を開始し、結果を表示しますF9
ヘルプこのページを開きますF1
角度単位unit ### (逆)三角関数で使用する角度の単位を変更します
表示精度precision ## 結果の表示桁数を1〜15の数で指定します
演算精度とは関係ありません

メインウインドウ( 起動時のウィンドウ ) の右クリックメニュー

メニュー説明または同じ機能のボタンショートカット
実行F9
ヘルプF1
ファイルから読む表示と設定内容をファイルから読みます
上書き保存するCtrl + S
名前をつけて保存する別名で保存します
関数一覧を表示するF4
入力再利用を無効にする無効になるとメニューにチェックがつきます
再度実行するとチェックが消え、有効になります
フォントの指定フォントの種類とサイズを指定します
元に戻す(アンドゥ)Ctrl+Z
やり直す(リドゥ)Ctrl+Y

関数編集用ウィンドウの右クリックメニュー

メニュー説 明
新しい関数の作成ユーザ関数のテンプレートを表示します
登録または更新 編集エリアの内容を登録します
既に同じ名前の関数が登録されている場合は上書きします
登録済関数の保存登録されている全ての関数をファイルに保存します
ファイルから登録保存したファイルから、未登録の関数だけを登録します
アルファベット順登録済関数のリストを並べ替えます
(登録・更新の)新しい順
元に戻す(アンドゥ)ショートカットは Ctrl+Z です
やり直す(リドゥ)ショートカットは Ctrl+Y です
選択した関数の削除選択されている関数を登録から削除します

過去の入力ウインドウの右クリックメニュー

メニュー説 明
全て表示全ての記憶を表示します
全て選択表示されているすべての文を選択します
選択部の削除選択されている文を削除します
選択するときにALTキーを押しておくと、文の入力を禁止できます

 


予約語

あらかじめ決められた単語(予約語)の一覧を以下に示します。
パラメータ名、変数名、およびユーザ関数名として、これらを使うことはできません。
ただし、大文字と小文字を区別しますので、同じスペルでも大文字を含んでいれば使用可能です。

記述用の予約語
elseelsifgraphif loops
outreturnwhile
関数名としての予約語
absacosasinatanatan2
auxcoscoshexpgauss
graphintlimitloglog10
outrandomsinsinhsqrt
tan

 


演算子

(1) 単項演算子

記号意 味結 果
-符号反転続く式の値の符号を反転させます x = y * -zx は y と -z の積
!否定続く式が真なら0、偽なら1になります if !( x>=3 ) { ... }x が3未満なら...

【注】 符号反転には最も高い優先度がありますので、必ずしも -z を( )で囲む必要はありません。

 

(2) 2項演算子

記号意 味結 果
+加算2項の和 z = x + y記述どおりの意味になります。なお、乗除算は加減算に優先します。
-減算2項の差z = x - y
*乗算2項の積z = x * y
/除算2項の商z = x / y
%剰余 整数部注1で除算した余り z = 5.5 % 3.7z は 5÷3 の余りなので 2
^べき乗べき計算注2 z = x^3 + 2*y^3 注3z = x3 + 2・y3
> 記述された関係が
真なら1
偽なら0
y = x > 0x が正ならy=1、それ以外ならy=0
>=非小if x >= 0 { ... }x が負でなければ...
<if x < 0 { ... }x が負なら...
<=非大if x <= 0 { ... }x が正でなければ...
= =注4等しい if x = = 1 { ... }x = 1.0 なら...
!=等しくない if x != 5 { ... }x が 5.0 でないなら...
&&論理積 前後の値が正なら真、0または負なら偽注5として演算し、その関係が真なら1、偽なら0 if (x>=0) && (x<=9) { ... }xが0以上9以下なら...
||論理和 if (x>0) || (y>0) { ... }x、yのいずれかが正なら...


【注1】 ある数の整数部とは、その符号によらず、小数点以下を無視した値です。
【注2】 べき数が整数でないとき、x^y = exp( y * ln(x) ) と計算しますので x≦0 はエラーになります。
【注3】 べき乗の演算は乗除算よりも優先されます。
【注4】 この表では、フォントの都合で= =の等号の間にスペースを入れていますが、実際はありません。
【注5】 C言語などの論理(0以外は真)とは異なります。

 


関数

関数名記号引数説明
絶対値abs(x)実数絶対値を演算します
平方根sqrt(x)正数平方根を演算します
指数関数exp(x)正数ex を演算します
対数log(x)正数自然対数を演算します
log10(x)正数常用対数を演算します
三角関数sin(x)実数正弦値 sin を演算します
cos(x)実数余弦値 cos を演算します
tan(x)実数正接値 tan を演算します
逆三角関数 asin(x)|x|<1逆正弦値 sin‐1 を演算します
acos(x)|x|<1逆余弦値 cos‐1 を演算します
atan(x)実数逆正接値 tan‐1 を演算します
atan2(x,y)実数 逆正接値 tan‐1(y/x) を4象限(-π〜π)で演算します
双曲線関数 sinh(x)実数sinh を演算します
cosh(x)実数cosh を演算します
tanh(x)実数tanh を演算します
リミッタlimit(min,max,x)上下限と入力 限界値で飽和させます
正規雑音gauss(x) 実数平均 0、標準偏差 x の正規白色乱数を発生します
一様乱数random() なし0〜1の一様な白色乱数を発生します
ユーザ関数
補助
aux(var) 変数名ユーザ関数内で定義された変数の値を返します
AprocSの auxfunc() と同じです
出力指定out(v1,v2,...) 変数名計算結果の表示を指定した変数だけにします
グラフ指定graph(v1,v2,...) 変数名指定した変数のグラフを表示します

 


更新 2015年6月27日