Zaurus MORE ソフト ちょっと電卓 v1.41 (MPFO) 数式入力タイプの電卓ソフトです。演算は、64bit の浮動少数演算ライブラリをその まま使用しています。この方法では内部で 2進数変換が発生するので、普通に売られ ている電卓や関数電卓の10進数演算方式にくらべて演算誤差による精度落ちが若干発 生します。つまり、パソコンの一般的な実数演算と同じ精度になっています。 v1.41での変更点: ・MI-E1 の内蔵キーボードだけで計算できるようになりました。キーパッドや現在の 入力モードの種類に関わらず、常に数値や演算子の入力が可能になります。機能や Shiftキー併用で、関数名などのアルファベット入力もできます。 ・アイコンがつきました v1.40での変更点: ・リジューム対応: 編集バッファやメモリ(変数)内容が自動保存されます。 ・縦横表示両対応: 従来機種では横画面、MI-E1で起動すると縦表示になります。 ・そのほか: 表示エリアを拡張し2進数も最大32桁表示できるようになりました。 ●機能 ・四則演算(数式通り方式) ・数式入力方式、入力バッファの編集可能(ペンタッチ編集可能) ・ラストアンサー挿入機能 ・プレイバック機能(直前の演算で使用した式の呼び出し) ・メモリー機能(ラストアンサ−の他に26本) ・2/8/10/16進数演算機能(1つの式に混在可能) ・関数演算(一部暫定実装) ・入力に Zaurus 標準の数値入力ボードを使用 ・メモリや編集バッファのオートセーブ(リジューム)機能 ●対応機種 一般的な MI 系 Zaurus。 ●インストール MPFO141.ZAC を Zaurus 本体もしくはカードに転送してください。MORE ソフト管理 画面で展開した後、インデックスから「ちょっと電卓」を起動します。同時にマニュ アル MPFOCHCL.DOC も展開されますので、必要に応じて参照してください。不要な場 合は MPFOCHCL.DOC は削除することができます。 ●アンストール MORE ソフト管理画面で「ちょっと電卓」を削除してください。 ●簡単な使い方 下半分に見なれた数値入力ボード(ソフトキーボード)が表示されます。通常の計算 はこの数値入力ボードで操作します。 例えば 1980×1.05 のように入力し、[=] キーをすと計算結果が右上の方に表示されます。普通の電卓と 同じです。[=] キーの代りに [入力] キーまたは [改行] キーを使っても構いません。 MORE ソフトは左上のクローズボタンで終了します。 注意: 必ず半角で入力してください。全角で入力した文字は計算できません。 ● MI-E1 対応 MI-E1 の場合は内蔵キーボードだけで計算を行うことができます。このときキーパッ ドの種類や全角半角、文字種などは無視し、常に以下の数値入力が可能になります。 ・通常キー入力時のキーマップ Nn 無効 ┌─────────────┐Eq [=]演算結果を求める | 1 2 3 4 5 6 7 8 9 0 |CL [CL]クリア | ! + # - . < > ( ) Bs |La [LA]ラストアンサー |Sft Z × CL V Pb Ml Mr , -|Pb [PB]プレイバック | 機能 ÷ Nn Nn CL La Eq |Mr [→]メモリ代入(STO) └─────────────┘Ml [←]メモリ代入(STO) スクロールキーの上下左右どれでもプレイバック[PB]できます。 ●表示の詳しい見方 <<横表示の場合>> ┌─────────────────────────┐ ※A |□ ちょっと電卓 v1.41 | | ※B ※K ※K | |[DEG▼][DF0▼][DF1▼] | ※C |[HEX][DEC][OCT][BIN] ※E 1999.0523| |┌───────────────────────┐| ||式入力エリア ※D || || || |└───────────────────────┘| |[CP][DF2▼][DF3▼] [CL][PB][LA] [数字][英数]※F | └─────────────────────────┘ ※G ※K ※K ※H ※I ※J ※A クローズボタン。このボタンでプログラムを終了します。 ※B 角度単位 RADIAN、DEGREE、GRADの切替え ※C 演算結果の表示切替ボタン。 HEX: 16進数で表示(下位32bit分のみ) DEC: 10進数で表示(デフォルト) OCT: 8進数で表示(下位32bit分のみ) BIN: 2進数で表示(下位16bit分のみ) ※D 計算する式を入力するエリア(ペンタッチ等によるエディットが可能) ※E 演算結果 ※F 入力ボード切り替え ※G [CP] コピーキー。演算結果をクリップボードにコピーします。 ※H [CL] クリアキー。入力エリアをクリアします。 ※I [PB] プレイバック。前回の演算式を呼び出します。 ※J [LA] ラストアンサ。直前の演算結果を挿入します。 ※K [DF▼] ユーザー定義キー ※その他 メニューボタンでメニューが出ます。 ●演算操作の例 ・連続計算 キー操作 式入力エリア 結果表示 ------------------------------------------------------------- (1) 4980[×]1.05[=] 4980×1.05 5229 (2) [+]15000[=] 5229+15000 20229 (1) 通常の計算 (2) (1)の結果に対して続けて計算 ・数式入力計算 キー操作 式入力エリア 結果表示 ------------------------------------------------------------- (1) 80[×]5[+]75[×]8[=] 80×5+75×8 1000 (2) [+](67[+]99)[×]3[=] 1000+(67+99)×3 1498 (3) [PB][後退]7[=] 1000+(67+99)×7 2162 (1) 数式通り計算 (2) 連続して括弧計算 (3) プレイバック機能で最後の数値だけ変えて再計算 ・16進数混在計算 キー操作 式入力エリア 結果表示 ------------------------------------------------------------- (1) [:][英数]FF[数字][×]85[=] #ff×85 21675 (2) [HEX] #ff×85 54AB (1) 0xFF × 15 の計算 (2) (1)の答えを 16進数で表示してみる ・ラストアンサー キー操作 式入力エリア 結果表示 ------------------------------------------------------------- (1) 2980[×]1.05[=] 2980×1.05 3129 (2) 20000[−][LA][=] 20000-3129 16871 (1) 通常の計算 (2) 20000から前回の計算結果を減算 ・メモリ計算 キー操作 式入力エリア 結果表示 ------------------------------------------------------------- (1) 2980[×]1.05[=] 2980×1.05 3129 (2) [代][AM][=] 3129→A 3129 (3) 25[×][AM][=] 25×A 78225 (4) 58[×][AM][=] 58×A 181482 (5) [AM][=] A 3129 (6) [B▼][←代入▼][AM][=] B←A 3129 (1) 通常の計算 (2) (1)の結果を変数Aに保存 (3) 25倍してみる (4) 58倍してみる (5) 変数A の値を読み出してみる (6) 変数B に 変数Aの値をコピーする ・関数計算 キー操作 式入力エリア 結果表示 ----------------------------------------------------------------- (1) [π▼][=] pi 3.14159265358979 (2) [sqrt▼]2)[=] sqrt(2) 1.41421356237309 (3) 2[y^x]6[=] 2!^6 64 (4) [cos▼]180)[=] cos(180) -1 (1) piの値を表示してみる (2) √2 の表示 (3) 2の6乗を計算する (4) cos(180)の計算 ●操作の詳細 ・グローバルキー [CP] コピー 演算結果をクリップボードにコピーします。 [CL] クリア 入力領域を消去します。 [PB] プレイバック 前回計算に使った数式を呼び出します。式入力エリアのタッ チでもプレイバックと同様の働きになります。 [LA] ラストアンサ 前回の計算結果を挿入します。 [HEX] 16進数表示 答えの表示を16進数に切り替えます(整数部のみ) [DEC] 10進数表示 答えの表示を10進数に切り替えます。 [OCT] 8進数表示 答えの表示を8進数に切り替えます(整数部のみ) [BIN] 2進数表示 答えの表示を2進数に切り替えます(整数部のみ) [RAD▼] 角度単位変更 RADIAN(一周=2π)、DEGREE(一周=360)、GRAD(一周=200) [DF0▼] ユーザー定義 初期状態で関数が登録されています。 [DF1▼] ユーザー定義 初期状態で演算子が登録されています。 [DF2▼] ユーザー定義 初期状態で変数名が登録されています。 [DF3▼] ユーザー定義 初期状態で式登録、定数登録の例が定義されています。 ・数値入力ボード(ソフトキーボード) 通常の演算は数値入力ボードで行います。 [0]〜[9][.] 数値入力 [÷][×][−][+] 四則演算の演算子を入力します。 [=] 演算を実行し、結果を表示します。 [後退] カーソルの後ろの文字を削除します。 [削除] カーソル位置の文字を削除します。ペンでなぞった領域の 削除にも使えます。 [改行] [=]キーと同じ働きをします。結果を表示します。 [入力] [=]キーと同じ働きをします。結果を表示します。 [/] [÷]キーと同じ働きをします。÷を入力します。 [*] [×]キーと同じ働きをします。×を入力します。 [(][)] 括弧の入力。 [:] #を入力します。# は16進数を指定するときに最初につけ る記号です。 [;] 文字 E を入力します。E は実数の指数部を指定する記号 です。16進数の E(14) や、変数名としても使えます。 [AM] 文字 A を入力します。変数名や 16進数入力時に使えます。 [PM] 文字 B を入力します。変数名や 16進数入力時、2進数入 力指定に使えます。 [代] 代入記号 → を入力します。 [内] 代入記号 ← を入力します。 [直] 文字 = を入力します。 [$] 文字 $ を入力します。 [~] 演算子の入力。 ・タイプライター入力ボード(ソフトキーボード 横画面時のみ) 変数や関数名入力時は、こちらのタイプライター入力ボードを使います。[英数]キー を使えばワンタッチで切り替えできます。以下のキーアサインを覚えればこの状態 で通常の計算もできます。 [+][-][/][@] それぞれ + - ÷ × の入力になります。また、[機能]+[:] でも × を入力できます。 [機能]+[8] ( を入力します。 [機能]+[9] ) を入力します。 [:] # を入力します。 [機能]+[3] # を入力します。 [機能]+[5] % を入力します。 [機能]+[1] ! を入力します。 [機能]+[6] & を入力します。 [機能]+[,] < を入力します。 [機能]+[.] > を入力します。 [入力] 計算結果を表示します。 [改行] 計算結果を表示します。 [_] 代入記号 → を入力します。 ・その他のキー操作 [戻る] プログラムの終了(MI-P1/P2/J1 を除く) [決定] 演算結果を求めます。 スクロールキー カーソル移動します。一緒にプレイバックも行います。 ●式演算詳細 ・定数 10進数定数 実数表記 (指数記号 E 使用可能、大文字小文字区別無し) (例) 33.5×2.8e3 16進数定数 # または $H を先頭につける、大文字小文字区別無し (例) #3AFF 8進数定数 $O を先頭につける、O と o の大文字小文字区別無し (例) $o137 2進数定数 $B を先頭につける、B と b の大文字小文字区別無し (例) $b100001 ・二項演算子 + 加算 - 減算 × 乗算 ÷ 除算 % 余り = 比較演算(条件が成り立てば1、不成立で0、以下同じ) < 比較演算 > 比較演算 >= 比較演算 <= 比較演算 != 比較演算 << シフト演算子 >> シフト演算子 & bit毎の論理積 | bit毎の論理和 ^ bit毎の排他的論理和 && 論理積 || 論理和 !^ 累乗 ・単項演算子 - 符号反転 ~ bit反転 ! 論理反転 ・代入演算子 ← 変数に代入(変数は式の左に書く、左辺)。式の値は代入し た結果になります。 (例) A←99+3*7 → 変数に代入(変数は式の右に書く、右辺)。連続演算に便利 なので、通常こちらを使います。式の値は代入した結果に なります。 (例) 99+3*7→B ・カンマ演算子 複数の式を区切ります。一番最後の式の結果を返します。途中の式 の結果は内部の演算用一時記憶スタックに保存されます。 ・変数 A〜Z アルファベット1文字で指定。最大26個。大文字小文字の 区別無し。 ・関数 大文字小文字区別なし、角度は radian のみ 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) 双曲線関数 asinh(n), acosh(n), atanh(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 整数に変換してから計算します。 & | ^ << >> ~ ●メニュー定義 MPFODF00.TXT ファイルを編集すると、ユーザー定義メニューに自由に文字列を登録 することができます。 一つのメニューには最大20項目定義できます。各項目は、1行にメニューに表示され るタイトル名(最大8文字)と、定義内容(最大128文字)をスペースで区切って登録し ます。#で始まる行はコメントです。 定義内容は何を書いても構いません。定数を書いておいても、良く使う式を登録して も構いません。 「タイトル(max8) 定義内容(max128)」 --------------------------------------------------------------------------- #メニューDF0の定義内容 :0 sin sin( cos cos( #メニューDF1の定義内容 :1 sqrt sqrt( y^x !^ x^-1 !^-1 e^x exp( π pi #メニューDF2の定義内容 :2 A A B B C C #メニューDF3の定義内容 :3 ヘロン A←10,B←10,C←10,sqrt((A+B+C)*(B+C-A)*(A+C-B)*(A+B-C))/4 --------------------------------------------------------------------------- ●計算時のさまざまな技 ・代入演算子 代入も演算子なので、普通の式の途中で使えます。 (例) (A←10)+8×A [=] 90 ・変数を使った擬似繰り返し計算 演算後のステータスモード(カーソルが消えている状態)でも、[=] キーを押すと連 続計算ができます([PB]操作を省略できる)。変数と組み合わせると繰り返し計算が できます。 (例) 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 [SPACE]sqrt[=] 3.87298334620741 ・逆ポーランド演算 カンマはスタックを扱う演算子なので、擬似的に逆ポーランド表記の演算を行うこ とができます。([=]の直前にはカンマを置いてはいけない) が、可能なだけで使い 道はほとんどありません。 (例) 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 と等価 ●未実装 ・エラー判定が甘い ・メモリのセーブ機能がない ●使用条件 プログラム、ドキュメント、付属データなど、これらソフトウエアの著作権は作者で ある小笠原博之が保有しています。このソフトウエアが原因で問題や障害が生じても、 作者は一切保証を行わず、作者に責任も無いものとします。重要なデータはあらかじ めバックアップを取り、利用者の自己責任において使用してください。内容物を改変 したものを無断で配布することを禁止します。利用に当たっては、使い方(説明書)を よく読んでからお使いください。プログラムはフリーソフトウエアです。 ●連絡その他 アイコンを作ってくれた しいねさん に感謝します。 バージョンアップ等については以下のページを参照してください。 http://www.vector.co.jp/authors/VA004474/zaurus/zaurus.html 1999/05/24 1.00 初公開バージョン 1999/05/27 1.10 関数処理のデバッグ、2/8進数演算機能追加他 1999/10/31 1.11 lnとlogが逆になっていたバグ修正。乗松孝好氏に感謝 1999/12/12 1.20 タッチプレイバック、角度単位設定他 1999/12/15 1.21 タッチプレイバックデバッグ 2000/02/06 1.30 ユーザー定義メニュー機能、演算子 !^ 追加 2000/12/17 1.40 縦画面対応ほか修正 2000/12/21 1.41 MI-E1用キーアサイン設定。スクロールキーでもプレイバック可能 にした。アイコン追加。 小笠原博之 oga@art.udn.ne.jp http://www.vector.co.jp/authors/VA004474/