説明

数式演算装置およびプログラム

【課題】演算履歴として表示させた過去の演算結果であっても、当該表示された演算結果を対象に入力された後置関数を付加して数式表示することが可能になる数式演算装置を提供する。
【解決手段】マルチリプレイデータメモリ17aに記録された過去の入力数式(例えば[3/8+1/8])とそのそれぞれの演算結果からなるマルチリプレイデータを順次読み出し、任意の入力数式(例えば[3/8+1/8])とその演算結果[4/8]を表示部19に表示させた状態で、後置関数(例えば約分関数[simp])を含む数式を入力すると、その直前に表示されていた演算結果[4/8]に前記後置関数[simp]の入力数式を付加した新たな数式[4/8→Simp↓]が前記表示部19に表示され、「実行キー」18cの操作により演算実行可能になる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演算結果を対象に新たな関数を入力して数式を生成し演算するための数式演算装置およびプログラムに関する。
【背景技術】
【0002】
従来、電卓として標準的な大きさの表示画面(例えば16桁3行表示)を備えたスタンダード関数電卓がある。
【0003】
この関数電卓において、演算結果を表示させた状態で、当該演算結果を対象に新たな数式を生成して演算をするために、例えば“+”“−”“×”“÷”“(べき数)”“simp(約分)”などの関数(後置関数)を入力すると、同演算結果は[Ans]というコードに置き換えられると共に、その後に前記入力された後置関数のコードが付加されて数式表示される。つまり[Ans]コードは、直前の演算結果の数値を示す変数として扱われる。
【0004】
例えば数式「123×456」の演算を実行すると、その演算結果「56088」が表示される。この演算実行の直後に後置関数[+]を入力すると、[Ans][+]と入力バッファに入力されて数式表示されるが、実際には[56088][+]と同じことになる。
【0005】
一方、前記従来のスタンダード関数電卓には、入力された数式とその演算結果を演算履歴として記録蓄積し、後に最新の演算結果から順次遡って表示確認できるようにしたマルチリプレイと称する機能がある。
【0006】
そして、ある数式の入力途中において、前記マルチリプレイ機能を利用して蓄積されている過去の演算結果を表示させ選択すると、当該選択された演算結果が前記入力途中の数式に挿入されるようにした関数電卓も考えられている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2004−206405号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記従来の関数電卓において、数式の入力途中に前記マルチリプレイ機能により過去の演算結果を表示させ選択すると、当該選択された演算結果を前記入力途中の数式に挿入した新たな数式を表示させることができる。
【0009】
しかしながら、前記マルチリプレイ機能を利用して、過去に入力された任意の数式とその演算結果(直前を除く)を選択的に表示させた状態で、前記後置関数を入力すると、当該マルチリプレイ機能によって表示させた過去の演算結果とは関係無く、前述した通り、直前(最新)の演算結果に対応付けられた[Ans]コードに前記入力された後置関数のコードが付加されて表示されてしまう。
【0010】
このため、ある演算の直後、あるいはマルチリプレイ機能によって直前(最新)の演算結果を表示させた状態で、前記後置関数を入力した場合には、そのとき数式表示された[Ans]コードに対応する数値が、直前まで表示されていた演算結果であると容易に認識できるため問題はない。しかし前述した通り、マルチリプレイ機能によって過去の演算結果を表示させた状態で後置関数を入力した場合には、[Ans]コードに対応する数値がそのとき表示されていた過去の演算結果であると勘違いし易く、誤った演算処理をしてしまう問題がある。
【0011】
本発明は、このような課題に鑑みなされたもので、演算履歴として表示させた過去の演算結果であっても、当該表示された演算結果を対象に入力された後置関数を付加して数式表示することが可能になる数式演算装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
請求項1に記載の数式演算装置は、表示部と、数式を入力する入力手段と、この入力手段により入力された数式を前記表示部に表示させる第1の数式表示制御手段と、前記表示部に表示された数式の演算結果を同表示部に表示させる演算結果表示制御手段と、前記表示部に表示された数式とその演算結果とを対応付けて演算履歴として記憶する演算履歴記憶手段と、この演算履歴記憶手段により記憶された任意の数式とその演算結果をユーザ操作に応じて前記表示部に表示させる演算履歴表示制御手段と、この演算履歴表示制御手段により任意の数式とその演算結果が表示された状態で、前記入力手段により後置関数を先頭に含む数式が入力された場合に、同演算結果に同後置関数を含む数式を付加した新たな数式を前記表示部に表示させる第2の数式表示制御手段と、を備えたことを特徴としている。
【0013】
請求項2に記載の数式演算装置は、前記請求項1に記載の数式演算装置において、前記後置関数は約分関数であって、前記第2の数式表示制御手段は、前記演算履歴表示制御手段により表示された演算結果が約分可能な分数である場合に、同分数に同約分関数を付加した新たな数式を前記表示部に表示させることを特徴としている。
【0014】
請求項3に記載の数式演算装置は、前記請求項1または請求項2に記載の数式演算装置において、前記演算履歴記憶手段は、前記表示部に表示された数式とその演算結果と当該演算結果が約分可能か否かを示すフラグとを対応付けて演算履歴として記憶し、前記第2の数式表示制御手段は、前記入力手段により入力された後置関数が約分関数か否かを判断する関数判断手段と、この関数判断手段により約分関数が入力されたと判断された場合に、前記演算履歴表示制御手段により表示された演算結果が分数で且つ当該演算結果に前記演算履歴記憶手段により約分可能を示すフラグが対応付けられているか否かを判断する演算結果判断手段を有し、この演算結果判断手段により前記演算結果が分数で且つ当該演算結果に前記約分可能を示すフラグが対応付けられていると判断された場合に、同分数に同約分関数を付加した新たな数式を前記表示部に表示させ、そうでない場合には前記表示部にエラーメッセージを表示させる、ことを特徴としている。
【0015】
請求項4に記載の数式演算装置は、前記請求項1ないし請求項3の何れか1項に記載の数式演算装置において、前記演算履歴記憶手段は、前記表示部に表示された数式とその演算結果とを順次対応付けて記憶し、前記演算履歴表示制御手段は、前記演算履歴記憶手段により記憶された複数の数式とその演算結果を、ユーザ操作に応じて最新の数式とその演算結果から順次前記表示部に表示させる、ことを特徴としている。
【0016】
請求項5に記載のプログラムは、表示部と、メモリとを有する数式演算装置のコンピュータを制御するためのプログラムであって、前記コンピュータを、数式を入力する入力手段、この入力手段により入力された数式を前記表示部に表示させる第1の数式表示制御手段、前記表示部に表示された数式の演算結果を同表示部に表示させる演算結果表示制御手段、前記表示部に表示された数式とその演算結果とを対応付けて演算履歴として前記メモリに記憶させる演算履歴記憶手段、この演算履歴記憶手段により記憶された任意の数式とその演算結果をユーザ操作に応じて前記表示部に表示させる演算履歴表示制御手段、この演算履歴表示制御手段により任意の数式とその演算結果が表示された状態で、前記入力手段により後置関数を先頭に含む数式が入力された場合に、同演算結果に同後置関数を含む数式を付加した新たな数式を前記表示部に表示させる第2の数式表示制御手段、として機能させることを特徴としている。
【発明の効果】
【0017】
本発明によれば、演算履歴として表示させた過去の演算結果であっても、当該表示された演算結果を対象に入力された後置関数を付加して数式表示することが可能になる数式演算装置およびプログラムを提供できる。
【図面の簡単な説明】
【0018】
【図1】本発明の数式演算装置の実施形態に係る関数電卓(電子式計算機)10の電子回路の構成を示すブロック図。
【図2】前記関数電卓10のRAM17に用意されたマルチリプレイデータメモリ17aに記憶蓄積された数式およびその演算結果の具体例を示す図。
【図3】前記関数電卓10による数式演算処理を示すフローチャート。
【図4】前記関数電卓10の数式演算処理に伴うマルチリプレイデータ記録処理を示すフローチャート。
【図5】前記関数電卓10の数式演算処理に伴う直前結果付加処理を示すフローチャート。
【図6】前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その1)を示す図。
【図7】前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その2)を示す図。
【図8】前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その3)を示す図。
【図9】前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その4)を示す図。
【発明を実施するための形態】
【0019】
以下図面により本発明の実施の形態について説明する。
【0020】
図1は、本発明の数式演算装置の実施形態に係る関数電卓(電子式計算機)10の電子回路の構成を示すブロック図である。
【0021】
この関数電卓10は、コンピュータである制御部(CPU)11を備えている。
【0022】
制御部(CPU)11は、ROM(記憶領域:フラッシュROM)12に予め記憶されているシステムプログラム、あるいはメモリカードなどの外部記憶媒体13から記憶媒体読み書き部14を介してROM12に読み込まれた計算機制御プログラム、あるいは通信ネットワークN上のWebサーバ(プログラムサーバ)15から通信制御部16を介してダウンロードされ前記ROM12に読み込まれた計算機制御プログラムに従い、RAM17を作業用メモリとして回路各部の動作を制御する。そして、前記ROM12に予め記憶されたシステムプログラムや計算機制御プログラムは、キー入力部18からのキー入力信号に応じて起動される。
【0023】
前記制御部(CPU)11には、前記ROM12、記憶媒体読み書き部14、通信制御部16、RAM17、キー入力部18が接続される他に、液晶表示部(LCD)19が接続される。
【0024】
ROM12には、本関数電卓10の全体の動作を司る計算機制御プログラムが予め記憶されると共に、ユーザ任意に入力される各種の数式に応じた演算処理を実行するための数式演算プログラム12a、この数式演算処理に応じて入力された数式とその演算結果の履歴をRAM17のマルチリプレイデータメモリ17a(図2参照)に順次記録させるためのマルチリプレイデータ記録プログラム12b、入力された後置関数をその直前に表示されていた演算結果に付加し新たな数式として表示させるための直前結果付加プログラム12c、前記マルチリプレイデータメモリ17a(図2参照)に記録された過去の演算処理に伴う数式とその演算結果との組み合わせからなる演算履歴を、ユーザ操作に応じてその最新のものから順次遡って表示させるためのマルチリプレイ表示プログラム12dなど、演算処理用の各種のプログラムが記憶される。
【0025】
図2は、前記関数電卓10のRAM17に用意されたマルチリプレイデータメモリ17aに記憶蓄積された数式およびその演算結果の具体例を示す図である。
【0026】
マルチリプレイデータメモリ17aには、入力部18のユーザ操作に応じて任意の数式を入力表示させ、演算実行によりその演算結果が表示された際に、当該数式と演算結果が履歴としてメモリカウンタN=1,2,…の順に記録される。そしてそのそれぞれの演算結果には、当該演算結果が分数で且つ約分可能であるか否かを[ON/OFF]により示す約分可能フラグが対応付けられて記憶される。
【0027】
入力部18には、本関数電卓10に搭載された各種の演算モードを指定する際に操作される「機能キー」18a、関数電卓に備えられる各種の数値・文字・記号データを入力する際に操作される「数字・文字キー」18b、選択されたり入力されたりした各種データの確定や演算の実行を指示する際に操作される「実行キー」18c、表示画面上のカーソルCuや選択項目などで示される入力位置を移動表示させる際に操作される「↑」「↓」「←」「→」の各カーソルキー18d、現在実行中の機能を終了して表示中のデータを消去する際に操作される「ACキー」18eなどが設けられる。
【0028】
さらに入力部18には、表示部19の表示画面上に重ねて設けた透明タッチパネル19Tも備えられる。
【0029】
RAM17には、前記マルチリプレイデータメモリ17aの他、各種の演算処理に伴い制御部11に入出力される種々のデータを一時記憶するための作業領域(ワークメモリ)が確保される。
【0030】
表示部19は、例えば16桁3行表示の表示画面を備えたドットマトリクス型液晶表示部からなり、当該表示画面の左上の領域が数式表示部19a、右下の領域が演算結果表示部19bとして予め設定される。
【0031】
次に、前記構成による関数電卓10の数式演算機能について説明する。
【0032】
図3は、前記関数電卓10による数式演算処理を示すフローチャートである。
【0033】
図4は、前記関数電卓10の数式演算処理に伴うマルチリプレイデータ記録処理を示すフローチャートである。
【0034】
図5は、前記関数電卓10の数式演算処理に伴う直前結果付加処理を示すフローチャートである。
【0035】
図6は、前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その1)を示す図である。
【0036】
図7は、前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その2)を示す図である。
【0037】
図8は、前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その3)を示す図である。
【0038】
図9は、前記関数電卓10の数式演算処理に伴い表示部19に表示される数式および演算結果の具体例(その4)を示す図である。
【0039】
なお、図6〜図9において表示部19上に示す符号Cuは、数字・文字・記号の入力位置を指示するカーソルである。
【0040】
入力部18の「機能キー」18aの操作に応じて表示部19に表示される演算モードを選択するためのメニュー画面(図示せず)に従い、ユーザ操作に応じて「数式演算モード」が選択されると、ROM12に記憶されている数式演算プログラム12aが起動される(ステップS1)。
【0041】
すると、RAM17内のマルチリプレイデータメモリ17aのメモリカウンタNが“1”に初期設定され(ステップS2)、入力部18のユーザ操作に応じた数式入力の待機状態になる(ステップS3)。
【0042】
この数式入力の待機状態において、前記入力部18のユーザ操作に応じて、例えば数式[3/8+1/8]が入力されると(ステップS3(Yes))、図6(A)に示すように、当該入力された数式が表示部19の数式表示部19aに表示される(ステップS4)。
【0043】
そして「実行キー」18cが操作されると(ステップS5(Yes))、前記入力された数式の演算処理が実行され、その演算結果[4/8]が、図6(B)に示すように、前記表示部19の演算結果表示部19bにさらに表示される(ステップS6)。
【0044】
すると、図4におけるマルチリプレイデータ記録処理に移行され(ステップSA)、前記演算処理された演算結果[4/8]について、約分可能であるか否かの判断処理が実行される(ステップA1)。
【0045】
この場合、前記演算結果[4/8]は約分可能であると判断され(ステップA1(Yes))、約分可能フラグが[ON]にセットされる(ステップA2a)。
【0046】
すると、前記入力された数式[3/8+1/8]とその演算結果[4/8]、および約分可能フラグ[ON]が、図2に示すように、マルチリプレイデータメモリ17aのN(=1)番目のマルチリプレイデータとして記録される(ステップA3)。
【0047】
この演算結果[4/8]の表示状態で、当該演算結果の数値を左側に位置させて被演算数とする後置関数([+][−][×][÷][:べき数][simp:約分]など)を先頭に含む数式が入力されないと判断され(ステップS7(No))、さらに、例えば他の数式[123×456]が入力されたと判断されると(ステップS8(Yes))、そのとき表示部17に表示されている数式[3/8+1/8]および演算結果[4/8]が消去される(ステップS9)。そして、前記マルチリプレイデータメモリ17aのメモリカウンタNが“2”にインクリメントされ(ステップS10)、図6(C)に示すように、今回入力された数式[123×456]が表示部19の数式表示部19aに新たに表示される(ステップS4)。
【0048】
そして「実行キー」18cが操作されると(ステップS5(Yes))、前記入力された新たな数式[123×456]の演算処理が実行され、その演算結果[56088]が、図6(D)に示すように、前記表示部19の演算結果表示部19bにさらに表示される(ステップS6)。
【0049】
するとまた、図4におけるマルチリプレイデータ記録処理に移行され(ステップSA)、前記演算処理された演算結果[56088]について、約分可能であるか否かの判断処理が実行される(ステップA1)。
【0050】
この場合、前記演算結果[56088]は約分不可能であると判断され(ステップA1(No))、約分可能フラグが[OFF]にセットされる(ステップA2b)。
【0051】
すると、前記入力された新たな数式[123×456]とその演算結果[56088]、および約分可能フラグ[OFF]が、図2に示すように、マルチリプレイデータメモリ17aのN(=2)番目のマルチリプレイデータとして記録される(ステップA3)。
【0052】
この演算結果[56088]の表示状態で、当該演算結果の数値を左側に位置させて被演算数とする後置関数を先頭に含む数式[+1]が入力されたと判断されると(ステップS7(Yes))、前記マルチリプレイデータメモリ17aのメモリカウンタNが“3”にインクリメントされ(ステップS11)、図5における直前結果付加処理に移行される(ステップSB)。
【0053】
この直前結果付加処理では、前記入力された後置関数が、分数を被演算数として約分するための約分関数「Simp」であるか否か判断される(ステップB1)。
【0054】
ここでは、前記入力された後置関数[+]は約分関数「Simp」ではないと判断されるので(ステップB1(No))、そのとき表示部17に表示されている数式[123×456]および演算結果[56088]が一旦消去された後、図6(E)に示すように、直前に表示されていた演算結果[56088]を対象に前記入力された後置関数を先頭に含む数式[+1]を付加した、新たな数式[56088+1]が数式表示部19aに表示される(ステップB4)。
【0055】
そして「実行キー」18cが操作されると(ステップS5(Yes))、前記入力された新たな数式[56088+1]の演算処理が実行され、その演算結果[56089]が、図7(F)に示すように、前記表示部19の演算結果表示部19bにさらに表示される(ステップS6)。
【0056】
するとまた、図4におけるマルチリプレイデータ記録処理に移行され(ステップSA)、前記演算処理された演算結果[56089]について、約分可能であるか否かの判断処理が実行される(ステップA1)。
【0057】
この場合、前記演算結果[56089]は約分不可能であると判断され(ステップA1(No))、約分可能フラグが[OFF]にセットされる(ステップA2b)。
【0058】
すると、前記入力された新たな数式[56088+1]とその演算結果[56089]、および約分可能フラグ[OFF]が、図2に示すように、マルチリプレイデータメモリ17aのN(=3)番目のマルチリプレイデータとして記録される(ステップA3)。
【0059】
ここで、「ACキー」18eが操作されることで、図7(G)に示すように、前記新たな数式[56088+1]およびその演算結果[56089]が消去された後、前記「ACキー」18eに続けてカーソルキー「↑」18dが操作されることで、マルチリプレイ表示が指示されたと判断されると(ステップS7(No)→S8(No)→S12(Yes))、前記カーソルキー「↑」18dの操作された回数nに従い、N−n+1番目のマルチリプレイデータの数式およびその演算結果が前記マルチリプレイデータメモリ17aから読み出され、表示部19に表示される(ステップS13)。
【0060】
つまり、カーソルキー「↑」18dが1回操作された場合(n=1)には、図7(H)に示すように、現在のマルチリプレイデータメモリ17a(図2参照)のメモリカウンタN(=3)に対応するところのマルチリプレイデータである最新(直前)の数式[56088+1]とその演算結果[56089]が、表示部19の数式表示部19aと演算結果表示部19bとに表示される(ステップS12→S13)。
【0061】
また、カーソルキー「↑」18dが2回操作された場合(n=2)には、図7(I)に示すように、マルチリプレイデータメモリ17aの2番目のマルチリプレイデータである前回の数式[123×456]とその演算結果[56088]が、表示部19の数式表示部19aと演算結果表示部19bとに表示される(ステップS12→S13)。
【0062】
さらに、カーソルキー「↑」18dが3回操作された場合(n=3)には、図7(J)に示すように、マルチリプレイデータメモリ17aの1番目のマルチリプレイデータである前々回の数式[3/8+1/8]とその演算結果[4/8]が、表示部19の数式表示部19aと演算結果表示部19bとに表示される(ステップS12→S13)。
【0063】
こうして、前記マルチリプレイデータメモリ17aから読み出した過去の入力数式[3/8+1/8]とその演算結果[4/8]の表示状態において、当該演算結果の数値[4/8]を左側に位置させて被演算数とする後置関数を先頭に含む数式[Simp]が入力されたと判断されると(ステップS7(Yes))、前記マルチリプレイデータメモリ17aのメモリカウンタNが“4”にインクリメントされ(ステップS11)、図5における直前結果付加処理に移行される(ステップSB)。
【0064】
この場合、直前結果付加処理では、前記入力された後置関数が、分数を被演算数として約分するための約分関数「Simp」であると判断され(ステップB1(Yes))、また直前に表示されていた演算結果[4/8]が分数であると判断され(ステップB2(Yes))、さらに同直前に表示されていた演算結果[4/8]が当該演算結果[4/8]に対応付けられた約分可能フラグ[ON]に従い約分可能であると判断される(ステップB3(Yes))。
【0065】
すると、そのとき表示部17に表示されている過去に入力した分数式[3/8+1/8]およびその演算結果[4/8]が一旦消去された後、図8(K)に示すように、直前に表示されていた演算結果[4/8]を対象に前記入力された後置関数[Simp]を先頭に含む数式を付加した、新たな数式[4/8→Simp]が数式表示部19aに表示される(ステップB4)。
【0066】
そして「実行キー」18cが操作されると(ステップS5(Yes))、前記マルチリプレイデータの演算結果に後置関数を付加した新たな数式[4/8→Simp]の演算処理が実行され、その約数[F=2]と共に演算結果[2/4↓]が、図8(L)に示すように、前記表示部19の演算結果表示部19bにさらに表示される(ステップS6)。
【0067】
この約分演算の演算結果表示において、符号Reにより示される記号[↓]は、当該演算結果[2/4]がさらに約分可能であることを意味する約分可能記号である。
【0068】
この後、図4におけるマルチリプレイデータ記録処理に移行されると(ステップSA)、前記演算処理された演算結果[2/4]について、約分可能であると判断され(ステップA1(Yes))、約分可能フラグが[ON]にセットされる(ステップA2a)。
【0069】
そして、前記新たな数式[4/8→Simp]とその演算結果[2/4]、および約分可能フラグ[ON]が、図2に示すように、マルチリプレイデータメモリ17aのN(=4)番目のマルチリプレイデータとして記録される(ステップA3)。
【0070】
この約分演算結果[F=2:2/4↓]の表示状態において、当該演算結果の数値[2/4]を左側に位置させて被演算数とする後置関数を先頭に含む数式[Simp]がもう一度入力されたと判断されると(ステップS7(Yes))、前記マルチリプレイデータメモリ17aのメモリカウンタNが“5”にインクリメントされ(ステップS11)、図5における直前結果付加処理に移行される(ステップSB)。
【0071】
この場合、直前結果付加処理では、前記入力された後置関数が、前回同様に分数を被演算数として約分するための約分関数「Simp」であると判断され(ステップB1(Yes))、また直前に表示されていた演算結果[2/4]が分数であると判断され(ステップB2(Yes))、さらに同直前に表示されていた演算結果[2/4]が当該演算結果[2/4]に対応付けられた約分可能フラグ[ON]に従い約分可能であると判断される(ステップB3(Yes))。
【0072】
すると、そのとき表示部17に表示されている約分の数式[4/8→Simp]およびその演算結果[F=2:2/4↓]が一旦消去された後、図8(M)に示すように、直前に表示されていた演算結果[2/4]を対象に前記入力された後置関数[Simp]を先頭に含む数式を付加した、新たな数式[2/4→Simp]が数式表示部19aに表示される(ステップB4)。
【0073】
そして「実行キー」18cが操作されると(ステップS5(Yes))、前記直前の演算結果に後置関数[simp]を付加した新たな数式[2/4→Simp]の演算処理が実行され、その約数[F=2]と共に演算結果[1/2]が、同図8(M)に示すように、前記表示部19の演算結果表示部19bにさらに表示される(ステップS6)。
【0074】
この後、図4におけるマルチリプレイデータ記録処理に移行されると(ステップSA)、前記演算処理された演算結果[1/2]について、これ以上の約分不可能であると判断され(ステップA1(No))、約分可能フラグが[OFF]にセットされる(ステップA2b)。
【0075】
そして、前記新たな数式[2/4→Simp]とその演算結果[1/2]、および約分可能フラグ[OFF]が、図2に示すように、マルチリプレイデータメモリ17aのN(=5)番目のマルチリプレイデータとして記録される(ステップA3)。
【0076】
この約分演算結果[F=2:1/2]の表示状態において、当該演算結果の数値[1/2]を左側に位置させて被演算数とする後置関数を先頭に含む数式[Simp]がもう一度入力されたと判断されると(ステップS7(Yes))、前記マルチリプレイデータメモリ17aのメモリカウンタNが“6”にインクリメントされ(ステップS11)、図5における直前結果付加処理に移行される(ステップSB)。
【0077】
この場合、直前結果付加処理では、前記入力された後置関数が、前回同様に分数を被演算数として約分するための約分関数「Simp」であると判断され(ステップB1(Yes))、また直前に表示されていた演算結果[1/2]が分数であると判断されるものの(ステップB2(Yes))、同直前に表示されていた演算結果[1/2]は当該演算結果[1/2]に対応付けられた約分可能フラグ[OFF]に従い約分不可能であると判断される(ステップB3(No))。
【0078】
すると、図8(N)に示すように、エラーメッセージ「これ以上約分出来ません」Eaが1秒間表示された後、図8(O)に示すように、元の数式[2/4→Simp]と演算結果[F=2:1/2]の表示状態に戻る(ステップB6)。
【0079】
この後、前記入力部18のユーザ操作に応じて、例えば新たな数式[123+45]が入力されると(ステップS3(Yes))、図9(P)に示すように、当該入力された数式が表示部19の数式表示部19aに表示される(ステップS4)。
【0080】
そして「実行キー」18cが操作されると(ステップS5(Yes))、前記入力された数式の演算処理が実行され、その演算結果[168]が、図9(Q)に示すように、前記表示部19の演算結果表示部19bにさらに表示される(ステップS6)。
【0081】
すると、図4におけるマルチリプレイデータ記録処理に移行され(ステップSA)、前記演算処理された演算結果[168]について、約分不可能であると判断され(ステップA1(No))、約分可能フラグが[OFF]にセットされる(ステップA2b)。
【0082】
すると、前記入力された数式[123+45]とその演算結果[168]、および約分可能フラグ[OFF]が、図2に示すように、マルチリプレイデータメモリ17aのN(=6)番目のマルチリプレイデータとして記録される(ステップA3)。
【0083】
この演算結果[168]の表示状態で、当該演算結果の数値[168]を左側に位置させて被演算数とする後置関数(約分関数)を先頭に含む数式[Simp]が入力されたと判断されると(ステップS7(Yes))、前記マルチリプレイデータメモリ17aのメモリカウンタNが“7”にインクリメントされ(ステップS11)、図5における直前結果付加処理に移行される(ステップSB)。
【0084】
この場合、直前結果付加処理では、前記入力された後置関数が、前回同様に分数を被演算数として約分するための約分関数「Simp」であると判断されるものの(ステップB1(Yes))、同直前に表示されていた演算結果[168]は分数ではないと判断される(ステップB2(No))。
【0085】
すると、図9(R)に示すように、エラーメッセージ「分数ではないので約分出来ません」Ebが1秒間表示された後、図9(S)に示すように、元の数式[123+45]と演算結果[168]の表示状態に戻る(ステップB5)。
【0086】
したがって、前記構成の関数電卓10による数式演算機能によれば、マルチリプレイデータメモリ17aに記録された過去の入力数式(例えば[3/8+1/8])とそのそれぞれの演算結果からなるマルチリプレイデータを順次読み出し、任意の入力数式(例えば[3/8+1/8])とその演算結果[4/8]を表示部19に表示させた状態で、後置関数(例えば約分関数[simp])を含む数式を入力すると、その直前に表示されていた演算結果[4/8]に前記後置関数[simp]の入力数式を付加した新たな数式[4/8→Simp↓]が前記表示部19に表示され、「実行キー」18cの操作により演算実行可能になる。
【0087】
このため、直前に演算処理され表示された演算結果を対象に、ユーザ入力した後置関数を付加した新たな数式が得られるだけでなく、マルチリプレイデータとして遡って表示された過去の演算結果を対象にした場合でも、当該過去の演算結果に対してユーザ入力した後置関数を付加した新たな数式を得ることができる。この場合、後置関数の演算対象とする直前の演算結果や過去の演算結果が[Ans]コードに置き換えられて表示されることはなく、その演算結果の数値がそのまま演算対象として数式表示されるので、当該演算結果を利用した新たな数式の内容を明確にすることができる。
【0088】
また、前記構成の関数電卓10による数式演算機能によれば、マルチリプレイデータメモリ17aに順次記録される数式とその演算結果には、当該演算結果の数値が約分可能か否かを示す約分可能フラグ[ON/OFF]を対応付けて記録する。そして、このマルチリプレイデータメモリ17aから読み出して表示させた演算結果を対象に約分関数[Simp]を入力した際に、当該演算結果が分数で且つ当該演算結果に対応付けられて記録された約分可能フラグ[ON]である場合には、当該演算結果に前記約分関数[Simp]を付加した新たな数式が表示される。一方で、マルチリプレイデータメモリ17aから読み出して表示させた演算結果を対象に同約分関数[Simp]を入力した際に、当該演算結果が分数でない場合には、エラーメッセージ「分数ではないので約分出来ません」Ebが表示され、また分数であっても当該演算結果に対応付けられて記録された約分可能フラグ[OFF]である場合には、エラーメッセージ「これ以上約分出来ません」Eaが表示される。このため、後置関数として約分関数を入力したことが誤りである場合は、直ちにその入力誤りをユーザに報知することができる。
【0089】
なお、前記実施形態では、マルチリプレイデータ記録処理(図4参照)において、演算結果が約分可能であるか否かの判断処理を行って、当該演算結果に予め約分可能フラグ[ON/OFF]を対応付けて記録する構成とした。これに対し、後置関数として約分関数[Simp]が入力された場合に移行される直前結果付加処理(図5参照)において、直前に表示された演算結果が約分可能か否かを判断する際に、当該判断処理を初めて行う構成としてもよい。
【0090】
また、前記実施形態では、直前の演算処理により表示された演算結果、またはマルチリプレイデータとして表示された過去の演算結果を対象にして後置関数を入力した場合に、当該演算結果が如何なる種類の数値であっても、[Ans]コードに置き換えずそのままの数値に後置関数を付加した新たな数式として表示させる構成した。これに対し、表示された演算結果が分数である場合にのみ、[Ans]コードに置き換えずそのままの数値(分数)に後置関数[Simp]を付加した新たな数式として表示させ、一方、表示された演算結果が分数でない場合には、当該演算結果の数値を[Ans]コードに置き換え、後置関数を付加した新たな数式として表示させる構成としてもよい。
【0091】
これによれば、直前の演算処理またはマルチリプレイデータから得られた演算結果の数値が、数式表示部19aに収まりきれない桁数の多い整数である場合でも、メモリに記憶された当該演算結果の有効桁数を桁落ちさせてしまうことなく、誤差のない数式演算処理を実行させることができる。
【0092】
なお、前記実施形態において記載した関数電卓(電子式計算機)10による数式演算モードでの動作手法、すなわち、図3のフローチャートに示す数式演算処理、図4のフローチャートに示す前記数式演算処理に伴うマルチリプレイデータ記録処理、図5のフローチャートに示す前記数式演算処理に伴う直前結果付加処理などの各手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶媒体(13)に格納して配布することができる。そして、関数電卓(電子式計算機)10のコンピュータ(11)は、この外部記憶媒体(13)に記憶されたプログラムを記憶装置(12)(17)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明したマルチリプレイデータを利用可能な数式演算機能を実現し、前述した手法による同様の処理を実行することができる。
【0093】
また、前記手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(公衆回線)N上を伝送させることができ、この通信ネットワークNに接続された通信装置(16)によって前記プログラムデータを関数電卓(電子式計算機)10のコンピュータ(11)に取り込み、前述したマルチリプレイデータを利用可能な数式演算機能を実現することもできる。
【0094】
さらに、前記プログラムデータをパーソナルコンピュータに取り込み、前述したマルチリプレイデータを利用可能な数式演算機能を実現することもできる。
【0095】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【0096】
10 …関数電卓(電子式計算機)
11 …制御部(CPU)
12 …ROM
12a…数式演算プログラム
12b…マルチリプレイデータ記録プログラム
12c…直前結果付加プログラム
12d…マルチリプレイ表示プログラム
13 …外部記憶媒体
14 …記憶媒体読み書き部
15 …Webサーバ
16 …通信制御部
17 …RAM
17a…マルチリプレイデータメモリ
18 …入力部
18a…「機能キー」
18b…「数字・文字キー」
18c…「実行キー」
18d…「カーソルキー」
18e…「ACキー」
19 …表示部
19a…数式表示部
19b…演算結果表示部
19T…タッチパネル
N …通信ネットワーク
Cu…カーソル
Re…約分可能記号[↓]
Ea…エラーメッセージ「これ以上約分出来ません」
Eb…エラーメッセージ「分数ではないので約分出来ません」

【特許請求の範囲】
【請求項1】
表示部と、
数式を入力する入力手段と、
この入力手段により入力された数式を前記表示部に表示させる第1の数式表示制御手段と、
前記表示部に表示された数式の演算結果を同表示部に表示させる演算結果表示制御手段と、
前記表示部に表示された数式とその演算結果とを対応付けて演算履歴として記憶する演算履歴記憶手段と、
この演算履歴記憶手段により記憶された任意の数式とその演算結果をユーザ操作に応じて前記表示部に表示させる演算履歴表示制御手段と、
この演算履歴表示制御手段により任意の数式とその演算結果が表示された状態で、前記入力手段により後置関数を先頭に含む数式が入力された場合に、同演算結果に同後置関数を含む数式を付加した新たな数式を前記表示部に表示させる第2の数式表示制御手段と、
を備えたことを特徴とする数式演算装置。
【請求項2】
前記後置関数は約分関数であって、前記第2の数式表示制御手段は、前記演算履歴表示制御手段により表示された演算結果が約分可能な分数である場合に、同分数に同約分関数を付加した新たな数式を前記表示部に表示させることを特徴とする請求項1に記載の数式演算装置。
【請求項3】
前記演算履歴記憶手段は、前記表示部に表示された数式とその演算結果と当該演算結果が約分可能か否かを示すフラグとを対応付けて演算履歴として記憶し、
前記第2の数式表示制御手段は、
前記入力手段により入力された後置関数が約分関数か否かを判断する関数判断手段と、
この関数判断手段により約分関数が入力されたと判断された場合に、前記演算履歴表示制御手段により表示された演算結果が分数で且つ当該演算結果に前記演算履歴記憶手段により約分可能を示すフラグが対応付けられているか否かを判断する演算結果判断手段を有し、
この演算結果判断手段により前記演算結果が分数で且つ当該演算結果に前記約分可能を示すフラグが対応付けられていると判断された場合に、同分数に同約分関数を付加した新たな数式を前記表示部に表示させ、そうでない場合には前記表示部にエラーメッセージを表示させる、
ことを特徴とする請求項1または請求項2に記載の数式演算装置。
【請求項4】
前記演算履歴記憶手段は、前記表示部に表示された数式とその演算結果とを順次対応付けて記憶し、
前記演算履歴表示制御手段は、前記演算履歴記憶手段により記憶された複数の数式とその演算結果を、ユーザ操作に応じて最新の数式とその演算結果から順次前記表示部に表示させる、
ことを特徴とする請求項1ないし請求項3の何れか1項に記載の数式演算装置。
【請求項5】
表示部と、メモリとを有するコンピュータを制御するためのプログラムであって、
前記コンピュータを、
数式を入力する入力手段、
この入力手段により入力された数式を前記表示部に表示させる第1の数式表示制御手段、
前記表示部に表示された数式の演算結果を同表示部に表示させる演算結果表示制御手段、
前記表示部に表示された数式とその演算結果とを対応付けて演算履歴として前記メモリに記憶させる演算履歴記憶手段、
この演算履歴記憶手段により記憶された任意の数式とその演算結果をユーザ操作に応じて前記表示部に表示させる演算履歴表示制御手段、
この演算履歴表示制御手段により任意の数式とその演算結果が表示された状態で、前記入力手段により後置関数を先頭に含む数式が入力された場合に、同演算結果に同後置関数を含む数式を付加した新たな数式を前記表示部に表示させる第2の数式表示制御手段、
として機能させるようにしたプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2010−198122(P2010−198122A)
【公開日】平成22年9月9日(2010.9.9)
【国際特許分類】
【出願番号】特願2009−39681(P2009−39681)
【出願日】平成21年2月23日(2009.2.23)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】