以下、本発明に係る電子式計算機の実施の形態について、図面を参照しながら説明する。
[第1の実施の形態]
図1に、第1の実施形態に係る電子式計算機の正面図を示す。本実施形態に係る電子式計算機1は、主に、各種キー群2と、表示手段であるディスプレイ3とを備えている。
各種キー群2は、ユーザから数値や演算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。
本実施形態では、各種キー群2は、例えばテンキー20、演算キー21、EXEキー22、DELキー23、上方向キー24aおよび下方向キー24bを含む方向キー24、セットアップキー25、AC(オールクリア)/電源キー26等で構成されている。
このうち、テンキー20は数値の入力操作を受けるキーであり、演算キー21は四則演算や正弦演算、余弦演算、正接演算、対数演算、指数演算などを実行する場合の演算子の入力操作を受けるキーである。
EXEキー22は、電子式計算機1に対し処理の実行や決定の指示操作を受けるキーであり、例えば計算式の入力後には演算処理の実行を指示するキーとして機能するようになっている。
DELキー23は、ディスプレイ3に表示されている数値や演算子等の数式構成要素の削除操作を受けるキーである。方向キー24は、ディスプレイ3中において図示しないカーソルを移動させたり、機能を選択したりする場合等に押下されるキーであり、本実施形態では、上下左右の4方向について入力可能に構成されている。
本実施形態では、特に、方向キー24の上方向キー24aおよび下方向キー24bは、後述するマルチリプレイ処理の際に、電子式計算機1を計算モードで使用する際にユーザが押下して、記憶手段に最後に記憶されたデータから順に或いは最初に記憶されたデータから順に読み出すことをCPUに指示することができるようになっている。このように、本実施形態では、上方向キー24aおよび下方向キー24bがユーザに読み出しを指示させる読み出し指示手段を構成している。
セットアップキー25は、電子式計算機1の計算モードにおける各種の演算状態(例えば、角度のモード)を設定するためのキーである。本実施形態では、セットアップキー25が押下されると、ディスプレイ3にモードの選択画面が表示されるようになっており、ユーザにより、例えば角度設定が選択されると、図2に示すように、ディスプレイ3には角度のモードとしてdegreeあるいはradianを設定する画面が表示され、ユーザが上方向キー24aや下方向キー24bを押下してカーソルを合わせ、EXEキー22を押下して演算状態を設定できるようになっている。
本実施形態では、演算状態として、角度に関するdegreeモード、radianモードや、複素数に関するrealモード、a+biモード、a-biモード、或いは分数表示に関する仮分数モード、帯分数モード等を選択して設定できるようになっている。
設定された演算状態はそれぞれの設定を表す記号として処理され、各記号が演算状態のデータとされるようになっている。例えば、演算状態のデータが角度を表すデータの場合、degreeモードが設定されると、演算状態のデータとして例えば記号Dのデータが設定され、radianモードが設定されると、演算状態のデータとして例えば記号Rのデータが設定される。なお、角度に関して、直角を100として計算するgradモードも選択できるように構成することも可能である。
AC(オールクリア)/電源キー26は、電子式計算機1のRAMのメモリ領域のうちプログラムの実行に係るデータ等を一時的に保持する演算用領域や表示用領域等に記憶されているデータを消去するキーであるとともに、電源を投入/切断するためのキーである。
ディスプレイ3の画面3aには、各種キー群2の押下に応じた文字や符号、計算式、計算結果等のほか、電子式計算機1を使用するために必要な各種データや各種設定を行うための画面が表示されるようになっている。また、本実施形態では、ディスプレイ3の縁端部3bは、前記状態設定手段を介して設定された演算状態が表示されるようになっている。
なお、本実施形態では、ディスプレイ3は、ドットマトリクス液晶で構成されているものとして説明するが、例えば、TFT(Thin Film Transistor)液晶であったり、PDP(Plasma Display Panel)であったり、他の表示装置とすることも可能である。
続いて、電子式計算機1の機能構成について説明する。図3は、本実施形態に係る電子式計算機の機能構成を示すブロック図である。電子式計算機1は、入力部4、表示部5、ROM(Read Only Memory)6、RAM(Random Access Memory)7およびCPU(Central Processing Unit)8等の機能部を備えており、各機能部はバス10で接続されている。
入力部4は、上述の各種キー群2を備えており、押下されたキーの信号をCPU8に出力するようになっている。また、入力部4のセットアップキー25等の操作により前述した角度に関するモードや複素数に関するモード等の電子式計算機1の演算状態が設定されると、その演算状態のデータはCPU8を介してRAM7に送信されて記憶されるようになっている。
表示部5は、上述のディスプレイ3を備えており、CPU8からの信号に基づいて各種情報をディスプレイ3に表示するようになっている。
ROM6は、電子式計算機1におけるメニュー表示処理や各種設定処理、各種演算処理等の動作に係る各種プログラムや、電子式計算機1が備える種々の機能を実現するためのプログラム等を格納している。ROM6に記憶されている各プログラムは、必要に応じてCPU8によりROM6から読み出され、RAM7に展開された後に実行されるようになっている。
RAM7は、CPU8が実行する各種プログラムをプログラム用領域に書き込み、これらのプログラムの実行に係るデータ等を一時的に保持する演算用領域や表示用領域等を有する随時書き込み可能なメモリである。
また、本実施形態では、RAM7には、演算状態のデータ用の領域や履歴データ用の領域が設けられている。演算状態のデータ用の領域には、前述したように計算の際に状態設定手段により設定された電子式計算機1の演算状態のデータがCPU8を介して記憶されるようになっている。また、履歴データ用の領域には、ユーザが入力した計算式と、その計算式の計算結果と、当該計算の際に設定された演算状態のデータとが対応付けられて記憶されるようになっており、計算式が入力されEXEキー22が押下される毎に当該計算の計算式、計算結果、演算状態の組がそれぞれRAM7に記憶されるようになっている。なお、以下、計算式、計算結果、演算状態の1組を履歴データという。
CPU8は、入力される指示に応じて所定のプログラムに基づいた処理を実行し、各機能部への指示やデータの転送を行うようになっている。また、CPU8は、入力された計算式を設定された演算状態の下で計算する計算手段を構成するとともに、読み出し指示手段である上方向キー24aや下方向キー24bを介してユーザから指示がある毎にRAM7から記憶された履歴データを順次読み出す読み出し手段を構成している。
具体的には、CPU8は、入力部4から入力される操作信号に応じてROM6に格納されたプログラムを読み出し、当該プログラムに従って処理を実行する。そして、CPU8は、処理結果を表示するための表示制御信号を適宜表示部5に出力して、対応した表示情報をディスプレイ3に表示させるようになっている。
以下、電子式計算機1の計算モードにおけるマルチリプレイの動作について、図4、図5に示すフローチャートと、図6〜図9に示す画面遷移とを用いて説明する。なお、図6〜図9に示すように、電子式計算機1には履歴データが何も記憶されていない初期状態からユーザ操作が始まるものとし、最初にdegreeモードを設定した後、sin(30)を計算し、その後radianモードに変更し、同じくsin(30)を計算し、更にsin(π/6)を計算し、その後でマルチリプレイを行う操作を例にとって説明する。図6〜図9では、互いに対応させた状態で、ユーザの操作を図の左側に、ディスプレイ3における表示を図の中央に、RAM7の履歴データ用の領域に記憶される或いは記憶されている履歴データを図の右側に示している。また、履歴データは、便宜上、演算状態、計算式、計算結果の順に示し、新たに記憶される履歴データがより下側に記載されるように示している。
図4は、電子式計算機1の計算モードの動作を示す基本フローチャートである。計算モードでは、CPU8は、ユーザによってキー操作がされるまで処理を待機し(ステップS1;NO)、ユーザによりキー操作が行われると(ステップS1;YES)、押下されたキーに対応する処理を行うようになっている。なお、図4のフローチャートでは、便宜上、以下のステップS2、S6、S8、S11、S14でそれぞれ判断が行われるように記載されているが、実際には、押下されたキーを判断して押下されたキーに対応する処理が即座に行われるように構成されている。
CPU8は、押下されたキーがセットアップキー25であれば(ステップS2;YES)、セットアップ処理を行い(ステップS3)、RAM7中の所定領域のフラグFを0にセットし(ステップS4)、セットアップ処理の結果をRAM7に記憶させると同時に表示部5に信号を発信してその内容をディスプレイ3に表示させる(ステップS5)。なお、フラグFの機能については後述する。
前述したように、セットアップ処理では、ディスプレイ3には演算状態を設定する画面が表示され、ユーザのキー操作により電子式計算機1の演算状態が設定されるようになっている。従って、セットアップ処理(ステップS3)で、電子式計算機1の演算状態のうち角度に関するモードとしてdegreeモードが設定されると、設定された演算状態のデータがRAM7の演算状態のデータ用の領域に記憶され、図6(A)に示すように、ディスプレイ3の縁端部3bにdegreeモードを示す「D」の記号が表示される。
なお、設定された角度に関するモードがradianモードであれば、「R」の記号が表示される。また、RAM7の履歴データ用の領域は初期状態であり、まだ何も記憶されていない。
CPU8は、押下されたキーがテンキー20や演算キー21であれば(図4のステップS6;YES)、入力されたキーの内容をRAM7の表示用領域に一時的に記憶させる入力処理を行い(ステップS7)、ディスプレイ3の画面3aに入力されたキーの内容を表示させる(ステップS5)。また、その際、フラグFは0にセットされる(ステップS4)。したがって、sin(30)を入力すると図6(B)の表示となる。
CPU8は、押下されたキーがEXEキー22であれば(図4のステップS8;YES)、RAM7の演算用領域を用いて入力された計算式の演算や入力されたコマンドを実行し(ステップS9)、入力されたものが計算式であればその計算式、計算結果、設定されている演算状態の組である履歴データをRAM7の履歴データ用の領域に記憶させ(ステップS10)、ディスプレイ3の画面3aに計算結果を表示させる(ステップS5)。また、その際、フラグFは0にセットされる(ステップS4)。従って、図6(C)に示すようにsin(30)に対してEXEキー22が操作されると、0.5が計算結果として得られ、計算式「sin(30)」、計算結果「0.5」、演算状態「D」が履歴データとして記憶される。
なお、図6(C)に示す状態で、セットアップキー25が再度押下され(ステップS2;YES)、セットアップ処理(ステップS3)において、電子式計算機1の演算状態のうち角度に関するモードがradianモードに再設定されると、新たに設定された演算状態のデータがRAM7の演算状態のデータ用の領域に記憶されるとともに、図6(D)に示すように、ディスプレイ3の縁端部3bの表示が「R」の記号に切り換わる。
そして、次にEXEキー22が押下されると(図4のステップS8;YES)、CPU8は入力された計算式「sin(30)」の演算を新たに設定されたradianモードで実行し、結果として「-0.9880…」を得て(ステップS9)、図6(E)に示すように、演算状態がradianモードとされた履歴データをRAM7の履歴データ用の領域に記憶させて(図4のステップS10)、ディスプレイ3の画面3aに計算結果を表示させる(ステップS5)。
CPU8は、押下されたキーがAC/電源キー26であれば(ステップS11;YES)、RAM7に記憶されているデータのうちプログラムの実行に係るデータ等を一時的に保持する演算用領域や表示用領域等に記憶されているデータを消去する(ステップS12)。そして、RAM7中の所定領域のフラグFを1にセットする(ステップS13)。従って、図6(E)の状態でAC/電源キー26が押下されると、表示用領域のデータが消去され、図7(A)に示すように、表示処理(ステップS5)においてディスプレイ3の画面3a上の表示がクリアされる。
ただし、この場合、RAMの演算状態のデータ用の領域や履歴データ用の領域に記憶されたデータは消去されないから、図7(A)に示すように、ディスプレイ3の縁端部3bの演算状態の表示は消えず、また、RAMの履歴データ用の領域には履歴データが記憶されたまま残される。
そして、図7(A)の状態で、新たにsin(π/6)と入力された後(図4のステップS6;YES)、EXEキー22が押下されると(ステップS8;YES)、CPU8は、入力された計算式「sin(π/6)」の演算をradianモードで実行し、結果「0.5」を算出し(ステップS9)、図7(B)に示すように計算式と計算結果と演算状態との履歴データを新たにRAM7の履歴データ用の領域に記憶させて(ステップS10)、ディスプレイ3の画面3aに計算結果を表示させる(ステップS5)。この状態ではRAM7の履歴データの領域には3組の履歴データが記憶されている。
なお、図4のフローチャートでは記載を省略するが、AC/電源キー26が例えば一定時間以上押下され続けるなど電源を切断するための所定の操作が行われると、CPU8は、所定の終了動作を行った後、電子式計算機1の電源を切断する。
CPU8は、押下されたキーが前述した読み出し指示手段である上方向キー24aまたは下方向キー24bであれば(ステップS14;YES)、RAM7中の所定領域のフラグFが1であるか否かをチェックし(ステップS15)、フラグFが1でなければ(ステップS15;NO)、上方向または下方向にカーソルを移動させる指示を表示部5に送信し(ステップS16)、そのディスプレイ3への表示処理(ステップS5)を行わせる。なお、計算式の計算時などカーソルを上下方向に移動させる必要がない或いは移動させることができない場合には、CPU8は、フラグFが0の場合に上方向キー24aや下方向キー24bが押下されても何らの処理も行わず、キー操作の待機状態に戻るようになっている(ステップS1)。
すなわち、前述したようにフラグFが1にセットされる(ステップS13)のは押下されたキーがAC/電源キー26の場合(ステップS11;YES)であるから、AC/電源キー26が押下された後、上方向キー24aまたは下方向キー24bが押下されずに他のキーが操作された場合にはディスプレイ3の画面3aや縁端部3bの表示は何ら変化せずにキー操作の待機状態になる(ステップS1)。
また、押下されたキーが上方向キー24aまたは下方向キー24bであり(ステップS14;YES)、フラグFが1であれば(ステップS15;YES)、CPU8は、マルチリプレイ処理(ステップS17)を行うようになっている。
なお、前述したようにAC/電源キー26が押下された後、他のキーが操作されていない状態ではフラグFが1であるが、このほかにも、図4のフローチャートから分かるように、フラグFが1の状態で上方向キー24aまたは下方向キー24bが操作されてマルチリプレイ処理(ステップS17)が行われる間もフラグFは1のままである。そのため、一旦AC/電源キー26が押下されると、その後、他のキーが操作されずに上方向キー24aや下方向キー24bだけが操作される限り、マルチリプレイ処理(ステップS17)が繰り返される。
マルチリプレイ処理(ステップS17)は、図5に示すフローチャートに従って行われる。
マルチリプレイ処理で、上方向キー24aが押下されると、CPU8は、まず、RAM7の履歴データ用の領域から計算式と計算結果と演算状態との履歴データを読み出す(ステップS30)。この場合、CPU8は、図示しない読み出しポインタを介してRAM7の履歴データ用の領域に最後に記憶された履歴データを読み出す。そして、CPU8は、履歴データ中の計算式と計算結果とをRAM7の表示用領域に一時保存させ(ステップS31)、履歴データ中の演算状態のデータをRAM7の演算状態のデータ用の領域に一時保存させる(ステップS32)。
このようにしてマルチリプレイ処理(図4のステップS17)を終了すると、CPU8は、表示処理(ステップS5)を行い、ディスプレイ3の画面3aに計算式と計算結果を表示させるとともに、ディスプレイ3の縁端部3bに演算状態を表す記号を表示する。
以上のマルチプレイ処理をディスプレイ3の表示に基づいて説明する。図7(B)に示した表示状態において、AC/電源キー26が押下されると、図8(A)に示すようにディスプレイ3の画面3a上の表示が消去される。この場合、フラグFは1にセットされている。
この状態で上方向キー24aが押下されるとマルチリプレイ処理に移行し、CPU8は、図8(B)に示すようにRAM7の履歴データ用の領域から最後に記憶された履歴データを読み出す。なお、同図右側の矢印はRAM7の読み出しポインタを表すものである。
そして、CPU8は、RAM7の表示用領域に履歴データ中の計算式「sin(π/6)」と計算結果「0.5」とを保存し、RAM7の演算状態のデータ用の領域に履歴データ中の演算状態「radian」のデータを保存させて、表示処理によりディスプレイ3の画面3aに計算式と計算結果を、縁端部3bに演算状態を表す記号をそれぞれ表示させる。
この状態で、続けて上方向キー24aが押下されると、CPU8は、図8(C)に示すように読み出しポインタを移動させて、今度はRAM7の履歴データ用の領域に最後に記憶された履歴データの直前に記憶された履歴データを読み出して、ディスプレイ3の画面3aに計算式「sin(30)」と計算結果「-0.9880…」を表示させる。また、この場合、演算状態のデータは、最後に記憶された履歴データの場合と同様に角度に関するモードがradianモードであることを表す「R」であるから、ディスプレイ3の縁端部3bの「R」の表示は変化しない。
しかし、図8(C)の状態で、さらにこの状態で上方向キー24aが押下されると、図8(D)に示すように、CPU8は、上記と同様にして読み出しポインタを移動させて、さらに以前に記憶された履歴データを読み出して、ディスプレイ3の画面3aに計算式「sin(30)」と計算結果「0.5」を表示させるが、この履歴データでは、演算状態のデータが上記の「R」ではなくdegreeモードであることを表す「D」になっている。
そのため、CPU8は、読み出した履歴データ中の演算状態のデータをRAM7の演算状態のデータ用の領域に保存させる際、それまで保存されていたデータ「R」をデータ「D」に上書き保存して書き換える。そして、表示処理によりデータ「D」が読み出されて、ディスプレイ3の縁端部3bの表示が「R」から「D」に変わる。
このように、本実施形態では、演算状態のデータがRAM7上で書き換えられるため、マルチリプレイ処理に移行する段階で演算状態が例えば「R」であったとしても、履歴データが記憶された時点の演算状態の設定が「D」であれば、その履歴データの読み出しの際には演算状態の設定が自動的に「D」に変更される。
そのため、例えば図8(C)の状態でEXEキー22を押下すると、CPU8は、「sin(30)」の計算式をradianモードで再演算して計算結果「-0.9880316241」を算出するが、上方向キー24aを押下した図8(D)の状態でEXEキー22を押下すると、角度に関するモードがdegreeモードに自動的に切り換えられて、同じの「sin(30)」の計算式に対して計算結果「0.5」を算出する。
なお、図5に示したマルチリプレイ処理において、図8(A)の画面3aの表示が消去された状態で下方向キー24bが押下されると、CPU8は、図9(A)に示すように、今度は、読み出しポインタを介してRAM7の履歴データ用の領域に最初に記憶された履歴データを読み出すようになっている。
従って、この場合は、CPU8は、RAM7の表示用領域に履歴データ中の計算式と計算結果とを保存すると同時に、RAM7の演算状態のデータ用の領域に記憶されているデータ「R」を履歴データ中の演算状態のデータであるデータ「D」に書き換えて、表示処理によりディスプレイ3の画面3aに計算式と計算結果を、縁端部3bに演算状態を表す記号を、図9(A)に示すようにそれぞれ表示させる。
そして、この状態でさらに下方向キー24bが押下されると、図9(B)に示すようにRAM7の履歴データ用の領域に最初に記憶された履歴データの次に記憶された履歴データを読み出して、履歴データ中の演算状態のデータがデータ「R」であるからRAM7の演算状態のデータ用の領域のデータを「R」に書き換えて、計算式、計算結果、演算状態をそれぞれディスプレイ3の画面3aと縁端部3bにそれぞれ表示させる。
さらに下方向キー24bが押下されると、図9(C)に示すようにさらにその次の履歴データが読み出され、同様に処理されて計算式、計算結果、演算状態がそれぞれディスプレイ3の画面3aと縁端部3bにそれぞれ表示される。
この場合も、図8(A)の状態から下方向キー24bを押下して図9(A)の状態に移行する段階でRAM7上の演算状態のデータが書き換えられるため、図8(A)に示すようにマルチリプレイ処理に移行する段階で演算状態が例えば「R」であったとしても、履歴データが記憶された時点の演算状態の設定が「D」であれば、図9(A)に示すようにその履歴データの読み出しの際には演算状態の設定が自動的に「D」に変更される。また、図9(A)の状態から図9(B)の状態に移行する際には、演算状態の設定が「D」から「R」に自動的に変更される。
そのため、例えば図9(A)の状態でEXEキー22を押下すると、CPU8は、「sin(30)」の計算式をdegreeモードで再演算して計算結果「0.5」を算出するが、下方向キー24bを押下した図8(D)の状態でEXEキー22を押下すると、角度に関するモードがdegreeモードに自動的に切り換えられて、同じの「sin(30)」の計算式に対して計算結果「-0.9880316241」を算出する。
なお、図4のフローチャートにおいて、押下されたキーがセットアップキー25、テンキー20、演算キー21、EXEキー22、AC/電源キー26、上方向キー24a、下方向キー24bのいずれでもない場合には(ステップS14;NO)、CPU8は、フラグFを0にリセットした後(ステップS18)、このフローチャートで示されるルーチンから抜けて、当該キー操作に対応する処理を行うようになっている(ステップS19)。
以上のように、本実施形態に係る電子式計算機1によれば、マルチリプレイ処理において、計算式を入力し演算した際の演算状態の設定を記憶手段から読み出して、その演算状態を表示手段であるディスプレイ3上に表示するとともに、その演算状態に自動的に設定を変更するため、いつ読み出しても演算状態との対応が常に保たれた状態で計算式や計算結果を表示させることができる。また、この場合、現在設定されている演算状態にかかわらず、計算式を入力し演算した際の演算状態の設定に基づいてその計算式の計算がリプレイされる。
そのため、ユーザは、表示されている計算結果が如何なる演算状態の下で計算されたものであるかを明確に認識することが可能となり、違和感を感じることなく過去の計算式や計算結果を表示させその計算結果を利用することが可能となる。また、たとえ計算が複雑な計算式によるものであっても、その計算結果がユーザが求めている演算状態で計算された計算結果であるか否かを明確に判別して利用することが可能となり、仮に求めている演算状態で計算されたものでなければ、演算状態を的確に変更して求める計算結果を得ることが可能となる。
なお、本実施形態では、図8や図9において上方向キー24aのみ或いは下方向キー24bのみを連続して押下する場合について記載したがそれに限定されない。本実施形態および下記の実施形態では、AC/電源キー26が押下されてディスプレイ3の画面3a上の表示が消去され、上方向キー24aが押下されてRAM7の履歴データ用の領域から最後に記憶された履歴データが読み出され、或いは下方向キー24bが押下されて最初に記憶された履歴データが読み出された後は、上方向キー24aや下方向キー24bの操作により現在表示されている履歴データより以前の或いはそれ以後の履歴データに自在に移行できるように構成されている。
[第2の実施の形態]
上記の第1の実施形態の場合と異なり、履歴データとして記憶された過去の計算式や計算結果を現在設定されている演算状態に基づいて計算させたい場合もある。第2の実施形態では、このような要望に好適な電子式計算機について説明する。
本実施形態に係る電子式計算機の外観形状は、図1に示した第1の実施形態に係る電子式計算機1の場合と同様であり、機能構成および基本フローチャートは第1の実施形態に係る電子式計算機1の場合の図3および図4に示した機能構成および基本フローチャートと同様であるため、第1の実施形態に係る電子式計算機1と同じ部材や処理については同一の符号を付して説明する。
本実施形態に係る電子式計算機は、上記第1の実施形態に係る電子式計算機1と、マルチリプレイ処理(ステップS17)の内容が異なる。
本実施形態では、マルチリプレイ処理は、図10に示すフローチャートに従って行われるようになっている。
本実施形態のマルチリプレイ処理においても、上方向キー24aが押下されると、CPU8がRAM7の履歴データ用の領域から最後に記憶された履歴データを読み出し(ステップS40)、履歴データ中の計算式と計算結果とをRAM7の表示用領域に一時保存させる(ステップS41)までは第1の実施形態におけるマルチリプレイ処理と同様である。
しかし、本実施形態のマルチリプレイ処理では、その後、CPU8は、履歴データ中の演算状態のデータがRAM7の演算状態のデータ用の領域に記憶されている現在設定されている演算状態のデータと異なるか否かを判断する(ステップS42)。そして、履歴データ中の演算状態のデータと現在設定されている演算状態のデータとが一致すると判断すると(ステップS42;NO)、マルチリプレイ処理(図4のステップS17)を終了し、表示処理(ステップS5)において、ディスプレイ3の画面3aに計算式と計算結果を表示させ、ディスプレイ3の縁端部3bには現在設定されている演算状態を表す記号を表示するようになっている。
一方、CPU8は、履歴データ中の演算状態のデータと現在設定されている演算状態のデータとが異なると判断すると(ステップS42;YES)、現在設定されている演算状態に基づいて計算式を再計算し、その計算結果でRAM7の表示用領域に一時保存した計算結果を書き換えて変更する(ステップS43)。なお、本実施形態では、CPU8は、前記判断の結果にかかわらず、RAM7の演算状態のデータ用の領域に記憶されている現在設定されている演算状態のデータは書き換えない。また、履歴データそのものは書き換えない。
そして、CPU8は、マルチリプレイ処理(図4のステップS17)を終了し、表示処理(ステップS5)において、ディスプレイ3の画面3aに、計算式と、再計算されて変更された計算結果を表示させ、ディスプレイ3の縁端部3bには現在設定されている演算状態を表す記号を表示するようになっている。従って、ディスプレイ3の縁端部3bには現在設定されている演算状態を表す記号が常時表示される状態となる。
以上の処理をディスプレイ3の表示に基づいて説明する。図7(B)に示した表示状態において、AC/電源キー26が押下されると、図11(A)に示すようにディスプレイ3の画面3a上の表示が消去される。この状態で上方向キー24aが押下されるとマルチリプレイ処理に移行し、RAM7の履歴データ用の領域から最後に記憶された履歴データが読み出される。
そして、図11(B)や図11(C)に示すように履歴データの演算状態が現在設定されている演算状態と同じ場合には、CPU8は、RAM7の表示用領域に一時保存した履歴データ中の計算式と計算結果とをそのままディスプレイ3の画面3aに表示させる。
しかし、図11(D)に示すように、読み出された履歴データの演算状態「D」と現在設定されている演算状態「R」とが異なる場合には、履歴データの計算式「sin(30)」を現在設定されている演算状態「R」で再計算し、その計算結果「-0.9880316241」でRAM7の表示用領域に一時保存した計算結果「0.5」を書き換えて変更する。そのため、ディスプレイ3の画面3aには、履歴データの計算式と、再計算されて変更された計算結果とが表示される。また、ディスプレイ3の縁端部3bには、現在設定されている演算状態を表す記号が表示され続ける。
また、図10に示したマルチリプレイ処理において、図11(A)の画面3aの表示が消去された状態で下方向キー24bが押下されると、CPU8は、図12(A)に示すように、今度は、読み出しポインタを介してRAM7の履歴データ用の領域に最初に記憶された履歴データを読み出す。この場合は、CPU8は、履歴データ中の演算状態と現在設定されている演算状態とが異なるので、RAM7の表示用領域に履歴データ中の計算式と計算結果とを保存するとともに、履歴データの計算式「sin(30)」を現在設定されている演算状態「R」で再計算し、その計算結果「-0.9880316241」でRAM7の表示用領域に一時保存した計算結果「0.5」を書き換えて変更する。そのため、ディスプレイ3の画面3aには、履歴データの計算式と、再計算されて変更された計算結果とが表示される。
また、図12(B)や図12(C)に示すように履歴データの演算状態が現在設定されている演算状態と同じ場合には、CPU8は、RAM7の表示用領域に一時保存した履歴データ中の計算式と計算結果とをそのままディスプレイ3の画面3aに表示させる。その際、ディスプレイ3の縁端部3bには、現在設定されている演算状態を表す記号が表示され続ける。
このように、本実施形態では、CPU8が、読み出した演算状態のデータが現在設定されている演算状態と異なる場合に、読み出した計算式を現在設定されている演算状態に基づいて再計算する再計算手段を構成している。
以上のように、本実施形態に係る電子式計算機によれば、マルチリプレイ処理において、計算式を入力し演算した際の演算状態と現在設定されている演算状態が異なる場合には、計算式を現在設定されている演算状態に基づいて再計算してディスプレイ3上に表示するため、演算状態を現在設定されている演算状態に統一した状態で計算式の計算がリプレイされ、現在設定されている演算状態の下における正しい計算結果を表示させることができる。
そのため、ユーザは、表示されている計算結果が現在設定されている演算状態の下で計算されたものであることを明確に認識することが可能となり、違和感を感じることなく過去の計算式や計算結果を表示させその計算結果を利用することが可能となる。また、ディスプレイ3上に現在設定されている演算状態が表示されているので、例えば現在設定されている角度に関する演算状態がradianモードである場合に、「sin(30)」と入力されている計算式を「sin(π/6)」に適切に修正して計算し直させることも容易に行うことが可能となる。
なお、例えば、本実施形態に係る電子式計算機の機能と上記第1の実施形態に係る電子式計算機1の機能とを1台の電子式計算機中に備え、例えばセットアップ処理によりそのいずれの機能で計算を行うかを選択できるように構成することも可能である。
[第3の実施の形態]
上記第1の実施形態では、ディスプレイ3に演算状態の記号が表示される電子式計算機1について説明した。しかし、このようにディスプレイ3に演算状態の記号が表示されないタイプの電子式計算機も存在する。本実施形態では、このような演算状態の記号が表示されない状態で上記第1の実施形態と同等の効果を奏する電子式計算機について説明する。
本実施形態に係る電子式計算機についても、第1の実施形態に係る電子式計算機1と同じ部材や処理については同一の符号を付して説明する。
本実施形態に係る電子式計算機は、基本フローチャートが上記第1の実施形態に係る電子式計算機1の場合と多少異なる。本実施形態では、図13に示す基本フローチャートに従って処理が行われるようになっている。
本実施形態の基本フローチャートにおいても、第1の実施形態の基本フローチャートと同様に、セットアップキー25が押下されて(ステップS2;YES)、セットアップ処理に移行し(ステップS3)、ディスプレイ3上に図2に示したような演算状態の設定画面が表示され(ステップS5)、ユーザが上方向キー24aや下方向キー24bを押下して(ステップS14;YES)カーソルを合わせ(ステップS16)、EXEキー22を押下して(ステップS8;YES)演算状態を設定できるようになっている。
そして、EXEキー22を押下することでこの場合は演算状態の設定というコマンドが実行されるが(ステップS9)、第1の実施形態の基本フローチャートと異なる点は、演算状態の設定コマンドが実行されると(ステップS9)、CPU8は、設定された演算状態が今回のセットアップ処理の直前に設定されていた演算状態から変更された場合には、その変更を示す変更コマンドをRAM7の履歴データ用の領域に記憶させる点である(ステップS20)。
第1の実施形態では、RAM7には、図3に示したようにその履歴データ用の領域に計算式、計算結果、演算状態の履歴データのみが記憶されたが、本実施形態の記憶手段であるRAM7には、図14に示すようにその履歴データ用の領域に履歴データに加えて変更コマンドも記憶されるようになっている。なお、変更コマンドは、例えば演算状態として角度に関するモードがdegreeモードからradianモードに変更された場合には「D→R」のように記憶される。
従って、図15に示す画面遷移の例を用いて説明すると、図15(A)に示すように、まず、角度に関するモードがradianモードの演算状態で、セットアップ処理(ステップS3)で演算状態として角度に関するモードをdegreeモードに設定変更してEXEキー22を押下すると(ステップS8;YES)、その変更コマンドが実行され(ステップS9)、RAM7の履歴データ用の領域に変更コマンド「R→D」が記憶される(ステップS20)とともに、ディスプレイ3の画面3a上には変更コマンドが実行されたことを示す「Done」の文字が表示される(ステップS5)。
続いて、図15(B)に示すように、計算式「sin(30)」が入力されEXEキー22を押下されると(ステップS8;YES)、演算が実行され(ステップS9)、RAM7の履歴データ用の領域には計算式「sin(30)」と計算結果「0.5」と演算状態「D」の履歴データが記憶されて(ステップS20)、計算式と計算結果がディスプレイ3の画面3a上に表示される(ステップS5)。
続いて、図15(C)に示すように、セットアップ処理(ステップS3)で演算状態として角度に関するモードをdegreeモードからradianモードに設定変更してEXEキー22が押下されると(ステップS8;YES)、その変更コマンドが実行され(ステップS9)、RAM7の履歴データ用の領域に変更コマンド「D→R」が記憶される(ステップS20)とともに、ディスプレイ3の画面3a上には変更コマンドが実行されたことを示す「Done」の文字が表示される(ステップS5)。
さらに続いて、図15(D)に示すように、計算式「sin(30)」が入力されEXEキー22を押下されると(ステップS8;YES)、今度はradianモードで演算が実行され(ステップS9)、RAM7の履歴データ用の領域には計算式「sin(30)」と計算結果「-0.9880316241」と演算状態「R」の履歴データが記憶されて(ステップS20)、計算式と計算結果がディスプレイ3の画面3a上に表示される(ステップS5)。
また、本実施形態に係る電子式計算機は、マルチリプレイ処理(ステップS17)の内容においても上記第1の実施形態に係る電子式計算機1の場合と異なっている。本実施形態のマルチリプレイ処理(ステップS17)は、図16に示すフローチャートに従って行われるようになっている。
本実施形態のマルチリプレイ処理において、CPU8が、上方向キー24aが押下されるとCPU8がRAM7の履歴データ用の領域に最後に記憶されたデータを読み出し、下方向キー24bが押下されるとRAM7の履歴データ用の領域に最初に記憶されたデータを読み出す(ステップS50)点では、第1の実施形態におけるマルチリプレイ処理と同様である。
しかし、本実施形態では読み出されるデータが計算式、計算結果、演算状態の履歴データとは限らず、変更コマンドの場合もあるから、続いて、CPU8は、読み出したデータが変更コマンドであるか否かを判断するようになっている(ステップS51)。そして、読み出したデータが履歴データである場合には(ステップS51;NO)、履歴データ中の計算式と計算結果とをRAM7の表示用領域に一時保存させて(ステップS52)マルチリプレイ処理を終了する。RAM7の表示用領域に一時保存された計算式と計算結果は、図13の基本フローチャートの表示処理(ステップS5)でディスプレイ3の画面3aに表示される。
これをディスプレイ3の表示に基づいて説明する。図15(D)に示した表示状態において、AC/電源キー26が押下されると、図17(A)に示すようにディスプレイ3の画面3a上の表示が消去される。この状態で上方向キー24aが押下されるとマルチリプレイ処理に移行し、図17(B)に示すように、RAM7の履歴データ用の領域から最後に記憶されたデータが読み出される(図16のステップS50)。
この場合には、RAM7の履歴データ用の領域から最後に記憶されたデータは履歴データであるから(ステップS51;NO)、履歴データ中の計算式と計算結果とをRAM7の表示用領域に一時保存させると(ステップS52)、ディスプレイ3の画面3a上にその計算式と計算結果が表示される(図13のステップS5)。
ここで、さらに上向きキー24aを押下すると、その直前のデータは変更コマンドであるから、図16のマルチリプレイ処理のフローチャートで、CPU8は、今度は、読み出したデータが変更コマンドであると判断する(ステップS51;YES)。続いて、CPU8は、押下されたキーが上方向キー24aであるか否かを判断し(ステップS53)、この場合、押下されたキーは上方向キー24aであるから上方向キー24aであると判断する(ステップS53;YES)。
上方向キー24aは、これまでの説明から分かるように、RAM7の履歴用データの領域に記憶されたデータを、それらが記憶された順番の逆方向に、すなわち時間的に遡るように読み出すことを指示する読み出し指示手段であるから、上方向キー24aの操作により読み出された変更コマンドを逆方向に実行する必要がある。
そのため、CPU8は、読み出したデータが変更コマンドであり(ステップS51;YES)、その時押下されたキーが上方向キー24aであると判断すると(ステップS53;YES)、読み出した変更コマンドの逆コマンドを実行し(ステップS54)、電子式計算機の演算状態を、変更コマンドによる変更後の演算状態から変更前の演算状態に変更する。このように、本実施形態では、CPU8が、変更コマンドが読み出された場合に演算状態を変更する状態変更手段を構成している。
これをディスプレイ3の表示に基づいて説明すると、図17(B)の状態で上方向キー24aが押下されると、図17(C)に示すように、RAM7の履歴データ用の領域から変更コマンド「D→R」が読み出される(図16のステップS50)。そして、変更コマンドの逆コマンド「R→D」により(ステップS54)、演算状態が変更コマンドによる変更後の演算状態「R」から変更前の演算状態「D」に変更される。ディスプレイ3の画面3a上には、変更コマンドの逆コマンド「SetDeg」が実行されたことを示す「Done」の文字が表示される(図13のステップS5)。
図17を続けて説明すると、図17(D)に示すように、さらに上向きキー24aが押下されると、その直前に記憶されているデータが履歴データであるから、ディスプレイ3の画面3aには計算式と計算結果が表示され、さらに上向きキー24aが押下されると、図17(E)に示すように、その直前に記憶されているデータが変更コマンドであるから、その逆コマンドが実行され、その旨が画面3a上に表示される。
一方、上方向キー24aとは逆に、下方向キー24bはRAM7の履歴用データの領域に記憶されたデータをそれらが記憶された順番に読み出すことを指示する読み出し指示手段であるから、読み出された変更コマンドをそのまま実行してよい。そのため、CPU8は、読み出したデータは変更コマンドであるが(図16のステップS51;YES)、押下されたキーが下方向キー24bである場合には(ステップS53;NO)、読み出された変更コマンドをそのまま実行し(ステップS55)、電子式計算機の演算状態を、変更コマンドによる変更前の演算状態から変更後の演算状態に変更する。
これをディスプレイ3の表示に基づいて説明すると、図17(A)のようにディスプレイ3の画面3a上の表示がクリアされた状態で、下方向キー24bが押下されるとマルチリプレイ処理に移行し、図18(A)に示すように、RAM7の履歴データ用の領域から最初に記憶されたデータが読み出される(図16のステップS50)。そして、この場合、読み出されたデータは変更コマンド「R→D」であり、押下されたキーが下方向キー24bであるから、変更コマンドがそのまま実行され、ディスプレイ3の画面3a上には、変更コマンド「SetDeg」が実行されたことを示す「Done」の文字が表示される(図13のステップS5)。
そして、さらに下向きキー24bが押下されると、図18(B)に示すように、それ以降に記憶された履歴データが読み出され、ディスプレイ3の画面3aに計算式と計算結果が表示される。さらに下向きキー24bが押下されると、図18(C)に示すように、それ以降に記憶された変更コマンドが読み出され、その変更コマンドが実行された旨が画面3a上に表示される。そして、さらに下向きキー24bが押下されると、図18(D)に示すように、それ以降に記憶された履歴データが読み出され、ディスプレイ3の画面3aに計算式と計算結果が表示される。
なお、前述したように、上方向キー24aが押下されて図17(C)に示すように逆コマンドが実行され、電子式計算機の演算状態が変更コマンドの変更前の演算状態に変更されると、ディスプレイ3の画面3a上には「SetDeg」と「Done」と表示される。この状態で、今度は下方向キー24bを押下した場合に、その直後に記憶された計算式「sin(30)」と計算結果「-0.9880316241」を表示してしまうと、角度に関するモードをdegreeモードに変更したにもかかわらずradianモードで計算した結果が表示されてしまう。
そのため、本実施形態においては、上方向キー24aが押下されて変更コマンドが読み出され、逆コマンドが実行された直後に下方向キー24bが押下された場合には、再度その変更コマンドを読み出してその変更コマンドを実行し、変更コマンドが実行されたことをディスプレイ3の画面3a上に表示するように構成されている。また、下方向キー24bが押下されて変更コマンドが読み出され、その変更コマンドが実行された直後に上方向キー24aが押下された場合には、再度その変更コマンドを読み出してその逆コマンドを実行し、逆コマンドが実行されたことをディスプレイ3の画面3a上に表示するように構成されている。
以上のように、本実施形態に係る電子式計算機によれば、演算状態の設定の変更コマンドを履歴データとともにRAM7中に記憶させ、マルチリプレイ処理において、演算状態の設定の変更コマンドが読み出された場合には、変更コマンド或いはその逆コマンドを実行して、演算状態の変更をディスプレイ3の画面3a上に表示するため、ユーザは、ディスプレイ3上に現在設定されている演算状態の記号が表示されていなくても、演算状態の変更の表示の後に表示される計算式や計算結果がどのような演算状態の下で計算されたものであるかを明確に認識することが可能となり、違和感を感じることなく過去の計算式や計算結果を表示させその計算結果を利用することが可能となる。
また、たとえ計算が複雑な計算式によるものであっても、その計算結果がユーザが求めている演算状態で計算された計算結果であるか否かを明確に判別して利用することが可能となり、仮に求めている演算状態で計算されたものでなければ、演算状態を的確に変更して求める計算結果を得ることが可能となる。
なお、本実施形態では、ディスプレイ3に演算状態の記号が表示されないタイプの電子式計算機であることを前提に説明したが、ディスプレイ3に演算状態の記号が表示されるタイプの電子式計算機にも本実施形態を適用した構成とすることは可能である。
また、第1〜第3の実施形態では、演算状態として角度に関するモードの表示や変更等について説明したが、前述したように、この他にも、例えば複素数に関するrealモード、a+biモード、a-biモード、或いは分数表示に関する仮分数モード、帯分数モード等の演算状態についても同様に構成することが可能であり、そのような演算状態の表示や変更等を行う機能を有する電子式計算機に対しても本発明が適用される。