WindowsCE PocketPC 2002/2003 ChotCalculator2 v2.00 数式入力タイプの簡易関数電卓ソフトです。 前作 ChotCalculator は PocketPC 2003 に対応しておらず、計算はできるもののプ レイバック時のカーソル挙動等が意図したとおりではありませんでした。 なので汎用性を高めるため、思い切ってゼロから作り直しました。入力パネルを追加 して少しは電卓らしくなっています。 どの辺が簡易なのかというと、演算処理を手抜きして10進演算ではなくC言語の浮動 少数演算をそのまま使用しています。この方法では内部で 2進数変換時の誤差が発生 するので、普通に売られている電卓や関数電卓の10進数演算方式にくらべて精度が落 ちます。この点理解した上でご利用ください。 ●機能 ・四則演算 ・数式入力方式、入力バッファの編集可能(ペンタッチ編集可能) ・連続計算対応(通常の電卓に近い操作) ・ラストアンサー機能 ・プレイバック機能(直前の演算で使用した式の再利用) ・メモリー機能(ラストアンサ−の他に26本) ・2/8/10/16進数演算機能(1つの式に混在可能) ・関数演算(一部暫定実装) ・専用の入力キーボード (通常の文字入力パネルも使用可能) ・ヒストリ機能(マルチラインプレイバック) ●対応機種 PocketPC 2002, PocketPC 2003 動作確認は iPAQ h3630 (PocketPC 2002), h1937 (PocketPC 2003) ●インストール アーカイブ内の .CAB ファイルを PocketPC の任意のフォルダに転送し、PocketPC の explorer から実行してください。 chotcalc2.ARM.CAB ●アンストール 設定画面の「プログラムの削除」から「HYP ChotCalc2」を削除してください。 ●簡単な使い方 起動後画面の上の方にテキスト入力エリアが現れます。ここに数式を入力し [=] ボタンを押すと結果が表示されます。 例えば 1980*1.05 のように入力し [=] を押すと計算結果が上に表示されます。操作は普通の電卓と同 じです。 ●表示の詳しい見方と操作方法 ┌──────────────────────┐ |  ChotCalculator2 | |┌────────────────────┐| ||MODE 結果の表示 || |└────────────────────┘| |┌───────────────────┬┐| ||式入力エリア ||| || ||| || ||| || ||| || ||| |└───────────────────┴┘| |┌──┬──┬──┬──┬──┬──┬──┐| ||2ndF| ↑ | ↓ | ← | → | BS | CL || |├──┼──┼──┼──┼──┼──┼──┤| ||Copy| ( | ) | 7 | 8 | 9 | / || |├──┼──┼──┼──┼──┼──┼──┤| ||Cut | yx |STO>| 4 | 5 | 6 | * || |├──┼──┼──┼──┼──┼──┼──┤| ||Past| , |Lans| 1 | 2 | 3 | - || |├──┼──┼──┼──┼──┼──┼──┤| ||2-16| # |Exp | 0 | . |=※1| + || |├──┼──┼──┼──┼──┼──┼──┤| ||SPC | A | B | C | D | E | F || |└──┴──┴──┴──┴──┴──┴──┘| └──────────────────────┘ [2ndF] で切り替え |┌──┬──┬──┬──┬──┬──┬──┐| ||2ndF| ↑ | ↓ ||← | →||DEL | CL || |├──┼──┼──┼──┼──┼──┼──┤| ||Acp | < | > |sin |asin|log | % || |├──┼──┼──┼──┼──┼──┼──┤| ||=※2|√ |] STO 右向き代入用 =: []A[=] 3129=:A 3129 (3) 25[*]A[=] 25*A 78225 (4) 58[*]A[=] 58*A 181482 (5) A[=] A 3129 (6) B[2ndF][ 比較演算 >= 比較演算 <= 比較演算 != 比較演算 << シフト演算子 >> シフト演算子 & bit毎の論理積 | bit毎の論理和 ^ bit毎の排他的論理和 && 論理積 || 論理和 !^ 累乗 ・単項演算子 - 符号反転 ~ bit反転 ! 論理反転 ・代入演算子 := 変数に代入(変数は式の左に書く、左辺)。式の値は代入し た結果になります。[] (例) 99+3*7=:B ・カンマ演算子 , 複数の式を区切ります。一番最後の式の結果を返します。 途中の式の結果は内部の演算用一時記憶スタックに保存さ れます。 ・変数 A〜Z アルファベット1文字で指定。最大26個。大文字小文字の 区別無し。 ・関数 大文字小文字区別なし。角度単位は変更可能 pi 定数PI sin(n), cos(n), tan(n) 三角関数 asin(n), acos(n), atan(n), atan2(n,m) 逆三角関数 log(n), ln(n), exp(n) 対数指数関数 pow(n,m) nのm乗 sqrt(n) 平方根 floor(n) n以下最大の整数 ceil(n) n以上最小の整数 hypot(n,m) 点(n,m)までの長さ sinh(n), cosh(n), tanh(n) 双曲線関数 hsin(n), hcosh(n), htan(n) 双曲線関数(同じ) ・その他 (〜) 括弧によって演算順序を変更可能 (例) (3+4)*5 SPACE 演算子の前後にある空白は無視します。 ・演算の優先順位 高 (〜) 括弧内の演算 ↑ - 単項演算子 | ~ ! !^ 単項演算子 | * / % 乗除余り | + - 加減算 | << >> シフト演算 | = != < > <= >= == !> !< 比較演算 | & | ^ &| bit演算 | && || 論理演算 ↓ := =: 代入演算子 低 , カンマ演算子 ・数値範囲 扱える数値範囲は 64bit 浮動少数値 1.7E-308〜1.7E+308 仮数部 15桁(53bit) 指数部308桁 になります。メモリーもすべて 64bit です。 16/8/2進数 の場合、内部演算は上記の通りですが、結果を表示 する場合だけ 32bit整数分(少数以下切り捨て) のみとなります。 置数は 32bit に制限されません。そのため、以下の演算は切り捨 てられること無くすべての値が有効です。 (例) #FFFFFFFF×10 以下の6つの整数用演算子は、演算の性質上少数以下を切り捨てた 32bit 整数に変換してから計算します。 & | ^ << >> ~ ●計算時のさまざまな技 ・代入演算子 代入も演算子なので、普通の式の途中で使えます。 (例) (A:=10)+8*A [=] 90 ・変数を使った擬似繰り返し計算 演算後のステータスモード([=]を押した直後)でさらに [=] キーを押すと連続計算 ができます(プレイバック操作を省略できる)。変数と組み合わせると繰り返し計算 ができます。 (例) 操作 結果表示 --------------------------------------------- A:=A+1 [=] 1 [=] 2 [=] 3 さらにカンマ演算子と組み合わせる (例) 操作 結果表示 --------------------------------------------- A:=A+1,A*10+8 [=] 18 [=] 28 [=] 38 ・関数の括弧の省略 すべての引数が式を含まない単一の値であるとき、関数の括弧を省略することがで きます。ただし、式や関数名の区切りが不明確になるので、各要素はスペースで区 切る必要があります。 (例) 操作 結果表示 --------------------------------------------- cos pi [=] -1 pow 2 8 [=] 256 ・関数電卓タイプの入力順 式入力エリア先頭では、例外的に関数電卓タイプの入力順(先に数値を入力する)を許 容します。(スペース区切り) (例) 操作 結果表示 --------------------------------------------------- 3 sqrt*10[=] 17.3205080756887 例えば、前回の計算結果に関数を重ねたいとき(関数電卓順のキー操作)は、次のよ うにします。スペースは、数値と関数名を区切るために必要です。 (例) 操作 結果表示 --------------------------------------------------- 3*5[=] 15 [SPC]sqrt[=] 3.87298334620741 ・逆ポーランド演算 カンマはスタックを扱う演算子なので、擬似的に逆ポーランド表記の演算を行うこ とができます。([RET]の直前にはカンマを置いてはいけない) が、可能なだけで使 い道はほとんどありません。 (例) 操作 結果表示 --------------------------------------------------- 1 3 +, 8 - [=] -1 80 4 *, B =: [=] 320 (Bに代入) ・隠し演算子 &| BitPattern C言語表記で (a & b) == b と等価 !< Max C言語表記で (a > b) ? a : b と等価 !> Min C言語表記で (a < b) ? a : b と等価 ●未実装・欠点 ・エラー判定が甘い ・見た目変更系 ●使用条件 プログラム、ドキュメント、付属データなど、これらソフトウエアの著作権は作者で ある小笠原博之が保有しています。このソフトウエアが原因で問題や障害が生じても、 作者は一切保証を行わず、作者に責任も無いものとします。重要なデータはあらかじ めバックアップを取り、利用者の自己責任において使用してください。内容物を改変 したものを無断で配布することを禁止します。利用に当たっては、使い方(説明書)を よく読んでからお使いください。プログラムはフリーソフトウエアです。 ●連絡その他 もともとは Zaurus 時代に作成していた「ちょっと電卓」の移植です。画面自体は寂 しいですが、演算操作の挙動は昔のポケコンや関数電卓を参考にしており、機能はそ れなりに入っています。バージョンアップ等については以下のページを参照してくだ さい。 http://www.vector.co.jp/authors/VA004474/wince/wince.html 小笠原博之 oga@art.udn.ne.jp http://www.vector.co.jp/authors/VA004474/