なぜ、逆ポーランド表記にしたかというと、実装が楽だったというだけです。特に、ユーザ定義関数を扱うのに、構文解析までやる根性がなかったというのが最大の理由です。
|
通常は、ここで数値を入力します。 | |
|
算術系(ってなに?)の関数です。 |
|
|
三角関数系の関数です。 |
|
|
指数・対数関数や、ハイパーボリック・サインとかの関数です。 これって、大抵の関数電卓には付いてるんですけど、作者自身、この関数をどういう時に使用するのかよく知りません。知っている人、教えてください。 |
|
|
統計関数です。 |
|
|
スタック操作関数です。 |
|
|
ユーザ定義関数です。 |
|
こんな感じ(例:sqrt)。 |
| キー | Graffiti | 機能 |
| [M] memory | m, M | メモリ機能を呼び出します。 |
| [Dr] Drop | ' | スタックから、データを取り出し、入力欄に設定します。 |
| [BS] back space | (back space) | 再下位桁を削除します。 |
| [CE] clear entry | (space) | 入力をリセットします。 |
| [CA] clear all | z, Z | 計算処理をリセットします。 |
| [Ent] Enter | =, (return) | 入力欄の値をスタックに積みます。 |
| [Help?] Enter | =, (return) | ヘルプ表示モードになります。 |
| [+/-] | _ | 符号を変えます。 |
| [/] | / | 除算 |
| [X] | * | 乗算 |
| [-] | - | 減算 |
| [+] | + | 加算 |
| 関数 | 機能 | |
| ☆ | rev | xをpopして、xの逆数をpush |
| pow | y、xをpopして、xのy乗をpush | |
| sqrt | xをpopして、xの平方根をpush | |
| ceil | xをpopして、x以下の整数をpush | |
| floor | xをpopして、x以上の整数をpush | |
| round | xをpopして、xを四捨五入した整数をpush | |
| mod | y、xをpopして、xをyで割った余りをpush | |
| abs | xをpopして、x絶対値をpush | |
| sign | xをpopして、0(xが0), 1(xが正), -1(xが負)をpush | |
| log10 | xをpopして、底が10のxの対数をpush | |
| log2 | xをpopして、底が2のxの対数をpush | |
| ☆ | d->r | xをpopして、 (x÷180×π)をpush (度→ラジアン換算) |
| r->d | xをpopして、 (x÷π×180)をpush (ラジアン→度換算) | |
| sin | xをpopして、xのサインをpush | |
| cos | xをpopして、xのコサインをpush | |
| tan | xをpopして、xのタンジェントをpush | |
| asin | xをpopして、xのアーク・サインをpush | |
| acos | xをpopして、xのアーク・コサインをpush | |
| atan | xをpopして、xのアーク・タンジェントをpush | |
| atan2 | y、xをpopして、y/xのアーク・タンジェントをpush | |
| pi | 円周率(π)をpush | |
| ☆ | sinh | xをpopして、xのハイパーボリック・サインをpush |
| cosh | xをpopして、xのハイパーボリック・コサインをpush | |
| tanh | xをpopして、xのハイパーボリック・タンジェントをpush | |
| asinh | xをpopして、xのハイパーボリック・アーク・サインをpush | |
| acosh | xをpopして、xのハイパーボリック・アーク・コサインをpush | |
| atanh | xをpopして、xのハイパーボリック・アーク・タンジェントをpush | |
| exp | xをpopして、eのx乗をpush | |
| log | xをpopして、xの自然体数をpush | |
| ☆ | cnt | スタック上のデータ数をpush |
| sum | スタック上のデータの合計値をpush | |
| avg | スタック上のデータの平均値をpush | |
| stdv | スタック上のデータを標本とした時の標準偏差をpush | |
| stdvp | スタック上のデータを母集団とした時の標準偏差をpush | |
| min | スタック上のデータの最小値をpush | |
| max | スタック上のデータの最大値をpush | |
| ☆ | dup | スタックの先頭のデータを複製してpush |
| swap | スタックの先頭のデータとその1つ前を入れ替え | |
| drop | スタック先頭のデータを削除 | |
| dropAll | スタック上のデータをすべて削除 | |
| notNeg | xをpopして、それが正数ならばそれをそのまま、でなければ0をpush | |
| swapIF | xをpopして、それが0でなければswap(x自体はスタックから削除される) | |
| dropIF | xをpopして、それが0でなければdrop(x自体はスタックから削除される) |