(57)【特許請求の範囲】
【請求項１】
通常電卓モードにおいて計算を行う際に、「入力された演算子と数値を入力項ごとに、順次、入力履歴記憶メモリに記憶する手段」を持ち、また、「入力履歴表示モードへの移行手段」により移行する入力履歴表示モードにおいて、「入力履歴記憶メモリに記憶された数値と演算子を入力項ごとに表示する手段」と、この表示手段により表示された「入力履歴記憶メモリ中の入力項の数値の記憶内容及び演算子の記憶内容を入力項毎に修正する手段」と、「入力履歴記憶メモリに記憶された入力履歴を入力項ごとに順次先頭から呼び出して自動的に再計算し、その再計算結果を表示する手段」を持つと共に、通常電卓モードにおける計算の途上及び再計算の直後において、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」と「その入力禁止を解除し、既に記憶された入力履歴と演算子と数値が交互に現れる整合性を保ちながら計算及び入力履歴の記憶を再開する手段」を持つ卓上加減乗除計算機。
【請求項２】
「通常電卓モードへの移行手段」により通常電卓モードに復帰するのと同時に、請求項１記載の「入力履歴記憶メモリに記憶された入力履歴を入力項ごとに順次先頭から呼び出して自動的に再計算し、その再計算結果を表示する手段」と、請求項１記載の「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」を続けて実行することにより、通常電卓モードに復帰するのと同時に、所望の正しい再計算結果を得ると共に、その後に続く計算及び入力履歴の記憶の再開に備えることを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項３】
「既に記憶された入力履歴と演算子と数値が交互に現れる整合性を保てない入力を禁じたことと、その入力禁止を解除して計算を再開する方法を使用者に知らせる手段」を持つことを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項４】
「入力履歴表示モードに移るのと同時に、直前に入力したばかりの最終入力項の数値及び演算子を表示して、この最終入力項付近の入力内容を確認あるいは修正する手段」を持つと共に、その確認あるいは修正の後、「通常電卓モードへの移行手段」により通常電卓モードに復帰するのと同時に、「入力履歴記憶メモリに記憶された入力履歴を入力項ごとに順次先頭から呼び出して自動的に再計算し、その再計算結果を表示する手段」と、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」を続けて実行することにより、通常電卓モードに復帰するのと同時に、所望の正しい再計算結果を得ると共に、その後に続く計算及び入力履歴の記憶の再開に備えることを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項５】
「入力履歴表示モードに移るのと同時に、誤入力があったと思われる任意の入力項番号の入力項の数値及び演算子を表示して、この誤入力があったと思われる任意の入力項付近の入力内容を確認あるいは修正する手段」を持つと共に、その確認あるいは修正の後、「通常電卓モードへの移行手段」により通常電卓モードに復帰するのと同時に、「入力履歴記憶メモリに記憶された入力履歴をに入力項ごとに順次先頭から呼び出して自動的再計算し、その再計算結果を表示する手段」と、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」を続けて実行することにより、通常電卓モードに復帰するのと同時に、所望の正しい再計算結果を得ると共に、その後に続く計算及び入力履歴の記憶の再開に備えることを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項６】
「入力履歴表示モードにおいて、次の入力項が存在せず計算を再開すべき位置である最終の入力項に至ったこと、あるいは、前の入力項が存在せず計算及び入力履歴の記憶を開始した位置である先頭の入力項に至ったこと、あるいは指定された任意の入力項が存在しないことを、確実に使用者に知らせる、入力項番号と総入力項数の表示手段、あるいは、報音手段又は報音代替表示手段」を持つことを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項７】
総入力項数表示部と入力項番号表示部の二つを持つと共に、通常電卓モード及び入力履歴表示モードにおいて、「入力中及び表示中の数値を、入力履歴中における相対的位置を知るための入力項番号と総入力項数と共に表示する手段」を持ち、入力履歴表示モードにおいては、「入力項番号の順序と総入力項数の整合性、及び、演算子と数値が交互に現れる整合性を保ちながら、入力履歴記憶メモリに記憶された入力項を挿入する手段、及び、入力履歴記憶メモリに記憶された入力項を削除する手段」を持つことを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項８】
演算子表示部を数値表示部の右と左に二つ持つと共に、「通常電卓モードにおいては、数値表示部の右の演算子表示部にその数値の直後に置かれる演算子を表示し、入力履歴表示モードにおいては、数値表示部の左の演算子表示部にその数値の直前に置かれる演算子を表示する手段」を持つことを特徴とする請求項１記載の卓上加減乗除計算機。
【請求項９】
電源投入後の初期状態、あるいは、ＡＣキー押し下げによる入力履歴クリア後の初期状態において、「最初に数字キーが押し下げられた時には＋の演算子を先頭の入力項の数値の前に置かれる演算子と判断し、最初に加減乗除の演算子キーが押し下げられた時には当該押し下げられた演算子を先頭の入力項の数値の前に置かれる演算子と判断して、演算子と数値が交互に現れる整合性を保ちながら入力履歴の記憶を開始する手段」を持つことを特徴とする請求項１記載の卓上加減乗除計算機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、通常電卓モードにおける計算の際に入力される数値及び演算子を入力履歴記憶メモリに記憶し、入力履歴表示モードにおいてこの記憶された数値及び演算子を入力項番号と総入力項数と一緒に表示確認可能にすると共に、これを数値及び演算子の置換や削除や挿入などにより修正可能にし、さらに、この記憶された入力履歴を自動的に先頭から呼び出して再計算する手段、更に、演算子と数値が交互に現れる整合性を維持出来ない入力を禁じる手段と、その禁止を解いて計算を再開する手段を持つことによって、一度計算を行えば入力内容の確認修正作業が必要最低限の打鍵で可能であると共に、自動的に行われる再計算により容易に正しい答えが取得可能で、又、計算途中でも直前の入力内容を振り返って確認修正し、再び元の計算に復帰して計算を再開する作業を反復出来る、操作性の良い卓上加減乗除計算機に関するものである。
【０００２】
【従来の技術と発明が解決しようとする課題】
従来の卓上加減乗除計算機は、検算作業を行うために最低二回、同じ打鍵をしなければ誤入力を発見出来なかった。
また、従来の卓上加減乗除計算機は、途中で誤入力の恐れが発生したと感じられることがあっても、それを計算の途中で直ちに振り返って確認し、必要ならこれを修正した後、再び、元の計算に復帰して計算を継続する有効な術がなかった。
【０００３】
【課題を解決するための手段】
この課題を解決するため、本発明では、通常電卓モードにおいて計算を行う際に入力される数値及び演算子を各入力項毎に入力履歴記憶メモリに記憶し、入力履歴表示モードにおいてこの記憶された数値及び演算子を入力項毎に、入力項番号と総入力項数と一緒に、入力順方向、逆入力順方向のどちらの順序方向にも、１打鍵で自由に表示して確認出来るようにすると共に、この記憶された入力履歴を数値及び演算子の置換や削除や挿入などにより修正可能にし、さらに、この入力履歴記憶メモリに記憶された数値及び演算子を自動的に先頭から順次呼び出して再計算し、その再計算結果を表示する手段を持つことにより、一度計算をおこなえばその入力履歴の確認・変更作業を必要最低限の打鍵のみで行うことが出来、自動的に行われる再計算により容易に正しい答えを得ることの出来る卓上加減乗除計算機を実現する。
また、本発明は、入力履歴表示モードに移ると同時に、直前に入力した最終入力項（つまり、計算の途中において直前に入力し終えたばかりの数値及び演算子）、あるいは、指定された入力項番号の入力項を表示し、必要ならこれを修正する手段と、これらを確認・修正した後、元の計算に復帰して、計算及びその記憶を再開する手段により、計算の途中で誤入力の恐れが発生したと感じられる個所の確認・修正をした後も、再び元の計算に復帰して計算を再開し、あるいは、同様の「確認・修正作業、及び、その後の計算再開作業」を自由に何回でも反復することを可能にし、確実な加減乗除計算を行う術を提供する。
【０００４】
【発明の実施例】
以下、本発明の実施例に基づき図面を参照して説明する。
まず、本発明の外観から説明するのが最も本発明の内容を理解するのに便利であろうと思われるので、外観から説明する。
図１は本発明の実施例の卓上加減乗除計算機の外観図である。
まず、本発明の実施例の卓上加減乗除計算機を特徴づけているのが、後で詳説する各キーに対応するキー入力部の各ボタンである。「モード切替キー（再計算キーを兼ねる。）」、「前キー」、「次キー」、「移動キー」、「挿入キー」、「削除キー」、「置換キー」の各キーに対応する各ボタンなどがそれである。これらの各キーはシフトキーなどの機能キーとの組合せにより通常の電卓が有する他のボタンなどと兼用することも可能であるが、本実施例では外観からも機能面の特徴をわかりやすくするために独立のボタンを配している。これらの各キーの動作については、後程、各キーを押した場合のサブルーチンに関する説明の箇所と実際の入力に伴う動作例の説明の箇所で詳しく詳説するので、ここでは、これらのボタンがあることを特徴として概観いただくにとどめるのが、最も順番として理解しやすいと思われる。
そこで、まず、第一に、本発明の卓上加減乗除計算機の実施例の液晶表示部の各表示部について説明する。
液晶表示部１には、「モード表示部２」、「入力項番号表示部３」、「総入力項数表示部４」、「メッセージ表示部８」、「報音代替表示部９」、「右演算子表示部６」、「左演算子表示部７」、「数値表示部５」が配置されている。以下、これら液晶表示部の各表示部について簡単に説明する。
・モード表示部２
本発明の特徴である二つの動作モードを表示する部分である。動作モードフラグの値に従い、「通常電卓モード」、又は、「履歴表示モード」と表示する。この表示により、現在の動作モードを判別することが出来る。
・入力項番号表示部３
現在、表示中、または、入力中の数値の入力項番号を表示する部分である。本発明の卓上加減乗除計算機は、演算子と数値を一組の入力項として、通常電卓モードにおける計算の際の記憶処理を行い、また、入力履歴表示モードにおける入力履歴読出処理、及び、表示処理を行う。この表示により、現在、表示中、または、入力中の数値が、最初から数えて何番目の入力項に当たるかが判別できる。
・総入力項数表示部４
現在、入力履歴記憶メモリに記憶されている入力項の総数を表示する部分である。この表示により、現在、記憶されている入力項の総数を判別できる。
・メッセージ表示部８
「再計算中」、「加減乗除キーで再開」などのメッセージを表示する部分である。「再計算中」の表示は再計算が行われている間のみ点灯し、再計算が終わると消灯することにより、入力履歴の再計算が行われていることを知らせる。また、「加減乗除キーで再開」の表示は、再計算直後、及び、通常電卓モードにおいてイコールキーが押し下げられた直後に、数字キー禁止フラグが１に設定されるのと同時に点灯し、加減乗除キーの押し下げ、または、入力履歴表示モードへの移行の際に、数字キー禁止フラグが０に設定されるのと同時に消灯する。この「加減乗除キーで再開」の表示により、ユーザーは、数字キーの入力が禁止され、加減乗除キーの押し下げによって、計算が再開出来ることを知ることが出来る。
・報音代替表示部９
増幅回路とスピーカーを通しての報音による知らせがなされたことを視覚的にも表示して知らせる部分である。押されたキーが無効であることを主に知らせる警告音である「ピッ」に対応する「♪」マークを表示する部分と、入力履歴の修正のための数値又は演算子の置換処理が行われたことを知らせる「ピッ、ピッ」に対応する「ＯＫ」マークを表示する部分からなる。
・右演算子表示部６
通常電卓モードで使用される演算子の表示部であり、数値表示部５の右に位置するため、通常電卓モードで数値の直後に置かれる演算子を表示するのに適している。
・左演算子表示部７
入力履歴表示モードで使用される演算子の表示部であり、数値表示部５の左に位置するため、入力履歴表示モードで数値の直前に置かれる演算子を表示するのに適している。なお、後述する実施例では、この左演算子表示部を数値表示部５の左の固定された位置に配しているが、この左演算子表示部は数値表示部５の表示された数値のすぐ左の桁を使うことにより可変的な位置にする実施例も考えられる。
・数値表示部５
通常の電卓と同様に数値を表示する働きをする他、移動キーの操作にあたってはこの数値表示部に表示された数値が移動先として指定された入力項番号と見なされる。
【０００５】
次に、上記の外観を呈する本発明の内部の構成について説明するのが最も理解しやすいと思われるので、これについて説明する。
図２は本発明の実施例の卓上加減乗除計算機の電子回路の構成を示すブロック図である。本発明の卓上加減乗除計算機は、通常の卓上加減乗除計算機と同様、ＣＰＵ１０を備えている。このＣＰＵ１０にはキー入力部１２からのキー操作信号にしたがって、ＲＯＭ１１にあらかじめ記憶されているシステムプログラムを起動させ、各種の計算処理により回路各部の動作制御をするもので、このＣＰＵ１０にはこの他、このシステムプログラムの各種の作業領域として使用されるＲＡＭ１７と、表示駆動回路１３を介して表示部１４、更に、増幅回路１５を介してスピーカ１６が接続されている。
まず、本発明の卓上加減乗除計算機の実施例の作業領域となるＲＡＭ１７を構成する各フラグ及び重要なレジスタの役割について説明するのがわかりやすいと思われるので、簡単に説明しておく。
図３と図４は、本発明の卓上加減乗除計算機の実施例のＲＡＭ１７におけるレジスタ、及び、フラグの構成を示す図である。（なお、図３は、入力項番号を共に記憶する実施例のＲＡＭを示しており、図４は、入力項番号は記憶せず、アドレスから逆算して入力項番号を得る実施例のＲＡＭを示している。）
本発明の卓上加減乗除計算機には、図３及び図４に示すとおり、「数値表示レジスタ１８」、「入力項番号表示レジスタ１９」、「総入力項数表示レジスタ２０」、「右演算子表示レジスタ２１」、「左演算子表示レジスタ２２」の各表示用レジスタと、「動作モードフラグＦ」、「数字キー禁止フラグＲ」、「初期状態フラグＳ」、「演算子キー押後フラグＡ」、「新数字入力フラグＮ」の各フラグと、「答えレジスタ２３」、「入力項カウンタ２４」、「直前演算子レジスタ２５」、「直後演算子レジスタ２６」、「アドレスポインタ２７」、「アドレス待避レジスタ２８」、「挿入削除用一時記憶レジスタ２９」の各作業用レジスタ、そして、入力された入力項を記憶する「入力履歴記憶メモリ３０」、を備えている。
以下、これら各フラグ及び重要なレジスタの役割について、最もわかりやすいと思われる順番に説明する。
・動作モードフラグＦ
本発明の卓上加減乗除計算機は、「通常電卓モード」と「入力履歴表示モード」の二つのモードを持っているが、この動作モードフラグＦは、この二つのモードを切り替える働きをするフラグであり、本発明の卓上加減乗除計算機の各キーは、図７〜図１６の各キー押し下げ時のフローチャートに示すとおり、この動作モードフラグＦが０の時、通常電卓モードとして動作し、このフラグが１の時、入力履歴表示モードとしての動作を行う。
・数字キー禁止フラグＲ
既に記憶された入力履歴と「演算子、数値、演算子、数値、」といった「演算子と数値が交互に現れる整合性」を保つために、一時的に数字キーの入力を禁じる役目を負うフラグである。再計算の行われた直後と通常電卓モードにおけるイコールキー押し下げの直後に１に設定され、このフラグが１に設定されると数字キーの入力が出来なくなり、この数字キーの入力が禁止された旨は、液晶表示部１のメッセージ表示部８への「加減乗除キーで再開」のメッセージ表示と数字キー押し下げ時の「報音（「ピッ」の発音）及び報音代替表示（「♪」マークの表示」）」により、知ることが出来る。イコールキー以外の加減乗除のキーを押すことにより、この数字キー禁止フラグＲに０がセットされ、数字キー入力禁止が解除され、「加減乗除キーで再開」のメッセージが消灯されると共に、この時押された演算子がこれに続いて入力される数値と既に記憶された入力履歴との間をつなぐ演算子として入力されたものと判断され、既に記憶された入力履歴と「演算子、数値、演算子、数値、」といった演算子と数値が交互に現れる整合性を保つものとして、計算処理、及び、記憶処理がなされる。
・初期状態フラグＳ
電源投入後、あるいはＡＣキー押し下げによる入力履歴クリア後の初期状態において、最初に数字キーが押し下げられた時には「＋」を先頭の入力項の数値の前に置かれる演算子とし、最初に加減乗除の演算子キーが押し下げられた時には当該演算子を先頭の入力項の数値の前に置かれる演算子として入力履歴を記憶するため、当該動作をすべき初期状態であるかどうかを判別するためのフラグである。この初期状態フラグＳは、電源投入後、あるいはＡＣキー押し下げによる入力履歴クリア後の初期状態において１に設定され、この初期状態フラグＳが１の時、数字キー、及び、加減乗除の各キーは、それぞれ、「＋」、「各加減乗除の演算子」を先頭の入力項の数値の前に置かれる演算子として、入力履歴を記憶する処理を行い、この処理が行われた直後にこの初期状態フラグＳが０に反転され、この動作を行うべき初期状態が解除される。また、イコールキーは、この初期状態フラグＳが１の時は報音（「ピッ」の発音）及び報音代替表示（「♪」マークの表示」）を行うのみの動作を行う。
・演算子キー押後フラグＡ
演算子キーが押された直後であることを知るためのフラグであり、演算子キーが押されると１が設定される。この演算子キー押後フラグＡに１が設定されると、演算子キーが押されても演算及び入力項記憶処理を行わず、単に直前に押された演算子を変更するのみの動作をする。これは直前に押された演算子の入力を訂正するためのものであり、数字キーの押し下げなどにより０が設定され解除される。
・新数字入力フラグＮ
この新数字入力フラグＮが１の時、数値キーを押し下げると当該数字を新しい数値の先頭数字であると判断して、数値表示レジスタ１８をクリアし、この数字を数値表示レジスタ１８に入力する。また、この新数字入力フラグＮが０の時、数値キーを押し下げると当該数字が入力中の数値の１の位の数字になる数字と判断して、この数字が数値表示レジスタ１８の１の位に追加表示される。この新数字入力フラグＮが１の時に数字キーが押し下げられることによりこの新数字入力フラグＮが０に反転され、続けて先頭数字以降の数字が入力可能となる。また、演算キーの押し下げ後、及び、表示する入力項の移動後に、再び新しい数字を入力可能にするため、この新数字入力フラグＮ１が設定される。
・数値表示レジスタ１８
ここに設定された値が表示駆動回路１３によって数値表示部５に表示される。通常の電卓と同様に数値を表示する働きをする他、移動キーの操作にあたってはこの数値表示レジスタ１８に設定された数値が移動先として指定された入力項番号と見なされる。
・総入力項数表示レジスタ２０
ここに設定された値が表示駆動回路１３によって総入力項数表示部４に表示される。通常電卓モードにおいて新たな数値を入力する際に直接１増加されて入力中の数値を含めた総入力項数を表示する以外では、表示駆動回路１３による各表示処理前に、入力項カウンタ２４の値が代入されることにより、演算子キーが押されず入力中の数値が記憶されないまま入力履歴表示モードに移行しても、常に、正しい総入力項数を表示する。
・入力項番号表示レジスタ１９
ここに設定された値が表示駆動回路１３によって入力項番号表示部３に表示される。通常電卓モードにおいて新たな数値を入力する際に直接１増加されて入力中の数値の入力項番号を表示する以外では、表示駆動回路１３による各表示処理前に、「数値及び演算子と一緒に入力履歴記憶メモリに記憶された入力項番号」、又は、「当該数値及び演算子が記憶された入力履歴記憶メモリのアドレスから逆算することにより得られた入力項番号」の値が代入されることにより、演算子キーが押されず入力中の数値が記憶されないまま入力履歴表示モードに移行しても、常に、正しい入力項番号を表示する。
・右演算子表示レジスタ２１
ここに設定された演算子が表示駆動回路１３によって右演算子表示部６に表示される。通常電卓モードにおける表示処理では、演算子はこの右演算子表示レジスタ２１に代入されることにより右演算子表示部６に表示される。右演算子表示部６は、数値表示部５の右に位置するため、通常電卓モードにおいて数値の直後に置かれる演算子の表示に適している。
・左演算子表示レジスタ２２
ここに設定された演算子が表示駆動回路１３によって左演算子表示部７に表示される。入力履歴表示モードにおける表示処理では、演算子はこの左演算子表示レジスタ２２に代入されることにより左演算子表示部７に表示される。左演算子表示部７は、数値表示部５の左に位置するため、入力履歴表示モードにおいて数値の直前に置かれる演算子の表示に適している。
・答えレジスタ２３
演算子の押し下げにより演算が行われた際は、この答えレジスタ２３に演算結果がその都度記憶されて次の演算に備えると共に、この答えレジスタ２３の値が数値表示レジスタ１８に代入され表示駆動回路１３によって数値表示部５に表示される。
・入力項カウンタ２４
演算子が押され数値が確定されて入力履歴記憶メモリ３０に数値と演算子が記憶される度にこの値が１加算され、実際に入力されて記憶された「数値及び演算子からなる入力項」の数を数え、これを記憶する働きをする。
・直前演算子レジスタ２５
処理を行う数値の直前に置かれる演算子が格納される。演算子キーが押される度に、直後演算子レジスタ２６に入っていた演算子がこの直前演算子レジスタ２５に代入されて移されると共に、各演算処理では、この直前演算子レジスタ２５の演算子に応じた演算が行われる。
・直後演算子レジスタ２６
処理を行う数値の直後に置かれる演算子が格納される。演算子キーが押される度に、この直後演算子レジスタ２６に入っていた演算子が直前演算子レジスタ２５に代入されて移されると共に、この直後演算子レジスタ２６にはこの時押された演算子が代入され、又、この値が右演算子表示レジスタ２１にも代入され表示駆動回路１３によって右演算子表示部６に表示される。（演算子キーの押し下げ時、表示されるのはこの直後演算子レジスタ２６の演算子であるが、演算は直前演算子レジスタ２５の演算子に応じて行われることに注意。これは通常の電卓と同様である。）
・アドレスポインタ２７
数値及び演算子からなる入力項を記憶し、又は、呼び出しする入力履歴記憶メモリ３０中のアドレス位置を指定するアドレスポインタである。
・アドレス待避レジスタ２８
入力項の挿入、及び、削除を行う際に、上記のアドレスポインタ２７の値を一時的に待避保存するレジスタである。
・挿入削除用一時記憶レジスタ２９
入力項の挿入、及び、削除を行う際に、移動される入力項の数値及び演算子と入力項番号などの値を一時的に記憶するため使用されるレジスタである
・入力履歴記憶メモリ３０
入力された数値及び演算子からなる入力項を記憶する領域である。
なお、図３は、入力項番号を一緒に記憶する実施例におけるＲＡＭの構成を示しており、また、図４は入力項番号を記憶せず、入力項番号はアドレスから逆算して得る実施例におけるＲＡＭの構成を示している。
この入力履歴記憶メモリ３０は、入力された数値を記憶する「置数記憶メモリ３０ａ」の領域と、入力された演算命令（＋、−、×、÷）を記憶する「演算子記憶メモリ３０ｂ」の領域と、また、入力項番号を一緒に記憶する実施例においては、各入力項の入力された順番である入力項番号を記憶する「入力項番号記憶メモリ３０ｃ」の領域を有する。そして、キー入力部１２からの演算のための演算子の入力がなされる毎に、アドレスポインタ２７のＰn（初期値Ｐ１）が順次その次のアドレス指定Ｐn+1となり、数値データーと、その直前に入力された演算子データーと、また、入力項番号を一緒に記憶する実施例においては入力項番号データーをセットにして、アドレスポインタ２７によって指定されているアドレスによって特定される入力履歴記憶メモリ３０の領域に順次記憶することになっている。
なお、本実施例は、「数値データーとその直前に入力された演算子を一組として入力履歴記憶メモリ３０に記憶する方法」を取って説明しているが、入力履歴記憶メモリ３０の領域への記憶の方法には、「数値データーとその直後に入力された演算子を一組として入力履歴記憶メモリ３０に記憶する方法」もある。
【０００６】
次に、本発明の各キーを押し下げした際の動作について各キー毎に説明する。
本発明のキー入力部１２には、図１、または、図２に示すように、「数値キー１２ｎ」と「加減乗除（＋、−、×、÷）キー１２ｉ、１２ｊ、１２ｋ、１２ｌ」と「イコールキー１２ｍ」、「ＡＣキー１２ｂ」など、通常の卓上加減乗除計算機が有するキーの他、「モード切替キー１２ａ」、「前キー１２ｃ」、「次キー１２ｄ」、「移動キー１２ｆ」、「置換キー１２ｅ」、「挿入キー１２ｇ」、「削除キー１２ｈ」が備えられており、これらの各キーは、「通常電卓モード」と「入力履歴表示モード」でのそれぞれのモードにおいて異なった働きをする。
図７から図１７は、本発明の実施例の電卓の各キーの押し下げに伴う処理（サブルーチン）を示したフローチャートである。それぞれ、図１７のＡＣキー以外の各図は全て、その最初において「動作モード＝０？」の判断を経由することになっており、この判断からは下のＹＥＳ（つまり、動作モード＝０）に分岐する部分が通常電卓モードにおける処理を示し、右のＮＯ（つまり、動作モード＝１）に分岐する部分が入力履歴表示モードでの動作を示すわかりやすい図となっている。
以下、最も理解しやすいと思われる順序にしたがって説明する。
・ モード切替キー１２ａ
図１０は、本発明の実施例の、モード切替キー１２ａを押し下げた場合の処理を示すフローチャートである。
（モード切替キー１２ａの通常電卓モードにおける動作）
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、記憶された先頭の入力項を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０であるとの判断（ステップＳ５０）を経た後、この動作モードフラグＦに１を設定して反転し入力履歴表示モードに切り替えると共に、「履歴表示モード」のモード表示を点灯させ（ステップＳ５１）、アドレスポインタ２７に入力履歴記憶メモリ３０の先頭の入力項のアドレスＰ1を設定して（ステップＳ５４）、当該Ｐ1によって指定される入力履歴記憶メモリ３０の先頭領域から入力履歴読出処理を行い（ステップＳ５５）、先頭の入力項の演算子及び数値を入力項番号、総入力項数と共に表示する（ステップＳ５６）。（この際、演算子は左演算子表示部７に表示する。）なお、この間、入力履歴が表示された状態において新しい数字の入力が出来るよう新数字入力フラグＮに１を設定する（ステップＳ５２）と共に、数字キー禁止フラグＲに０を設定し、「加減乗除キーで再開」の表示を消灯する（ステップＳ５３）。
（モード切替キー１２ａの入力履歴表示モードにおける動作）
本発明の卓上加減乗除計算機の動作モードを通常電卓モードに切り替えると共に、記憶された入力履歴の再計算を自動的に行い，その再計算結果を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ５０）を経た後、動作モードフラグＦに０を設定して反転し通常電卓モードに切り替えると共に、「通常電卓モード」のモード表示を点灯させ（ステップＳ５７）、また、再計算をする前の準備として答えレジスタ２３に初期値０を代入するとともに「再計算中」のメッセージ表示を点灯する（ステップＳ５８）。次に、アドレスポインタ２７に入力履歴記憶メモリ３０の先頭の入力項のアドレスＰ1を設定して（ステップＳ５９）、当該アドレスポインタ２７によって指定される入力履歴記憶メモリ３０の領域から入力履歴読出処理を行い（ステップＳ６０）、読み出した演算子及び数値を入力項番号、総入力項数と共に表示する（ステップＳ６１）。（この際、演算子は左演算子表示部７に表示する。）次に、各数値の左に表示されたこの数値の直前の演算子に応じた計算処理を行い、結果を答えレジスタ２３に代入する（ステップＳ６２）。また、次の入力履歴読出処理に備えてアドレスポインタ２７（値、Ｐn）にＰn+1を設定する（ステップＳ６３）。次に、処理した入力項が最終の入力項であるか否かの判断を行い（ステップＳ６４）、最終の入力項でなければステップＳ６０からステップＳ６３の処理を繰り返し、その都度、新しい答えを答えレジスタ２３に代入する。最終の入力項であれば、「再計算中」の表示を消灯し、答えレジスタ２３の値を数値表示レジスタ１８に代入して再計算結果の表示処理を行う（ステップＳ６５）。
また、再計算終了直後は、この再計算結果に対して継続して計算をしようとする場合に、既に記憶された入力履歴と新しく継続的に入力される数値をつなぐ演算子が「＝」（あるいは、再計算後に「＝」を代入しない場合においては、「不定（過去に入力されて残っているだけの意味のない演算子）」）となってしまうため、「数値」と「加減乗除の演算子」が交互に現れる整合性を入力履歴が維持出来なくなってしまう。そのため、数字キー禁止フラグＲに１を設定して数字キーの入力を禁じると共に、「加減乗除キーで再開」の表示を点灯し、まず最初に加減乗除キーの入力をすべきことをユーザーに促す（ステップＳ６６）。また、計算の再開に備えて、演算キー押後フラグＡと新数字入力フラグＮに１を設定する（ステップＳ６７）。
・ 次キー１２ｄ
図１１は、本発明の実施例の、次キー１２ｄを押し下げた場合の処理を示すフローチャートである。
（次キー１２ｄの通常電卓モードにおける動作）
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、記憶された先頭の入力項を表示する動作を行う。
これは、モード切替キー１２ａの通常電卓モードにおける動作と全く同じなので、具体的な説明は省略する。
（次キー１２ｄの入力履歴表示モードにおける動作）
次の入力項の数値及び演算子を入力順に、順次、表示する働きをする。最終の入力項に至り、次の入力項が無ければその旨を知らせるのみの動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ６８）を経た後、現在表示中の入力項が最終の入力項であるかどうかを判断し（ステップＳ７５）、最終の入力項であれば、これ以上次の入力項が無い旨を知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの点灯）（ステップＳ７６）を行って終了する。最終の入力項でなければ、アドレスポインタ２７（値、Ｐn）にＰn+1を設定し（ステップＳ７８）、当該Ｐn+1によって指定される入力履歴記憶メモリ３０の次の入力項格納位置から入力履歴読出処理を行い（ステップＳ７９）、次の入力項の演算子及び数値を入力項番号、総入力項数と共に表示する（ステップＳ８０）。（この際、演算子は左演算子表示部７に表示する。）なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグＮに１を設定する（ステップＳ７７）。
・前キー１２ｃ
図１２は、本発明の実施例の、前キー１２ｃを押し下げた場合の処理を示すフローチャートである。
（前キー１２ｃの通常電卓モードにおける動作）
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、記憶された最終の入力項（つまり、計算の途中においては、直前に入力し終えたばかりの入力項）の数値及び演算子を表示する動作を行う。計算の途中において、直前に入力した内容が正しいかを振り返ってみる際に有用なキーである。
これは、先頭の入力項ではなく最終の入力項を表示するためにアドレスポインタ２７に最終入力項位置を指定するアドレスが代入される（ステップＳ８５）こと以外は、モード切替キー１２ａの通常電卓モードにおける動作と全く同じなので、具体的な説明は後述する計算例の説明の箇所での説明で代用する。
（前キー１２ｃの入力履歴表示モードにおける動作）
前の入力項の数値及び演算子を、順次、逆入力順に表示する働きをする。先頭の入力項に至り、それ以上前の入力項が無ければその旨を知らせて終了する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ８１）を経た後、現在表示中の入力項が先頭の入力項であるかどうかを判断し（ステップＳ８８）、先頭の入力項であれば、これ以上前の入力項が無い旨を知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの点灯）（ステップＳ８９）を行って終了する。先頭の入力項でなければ、アドレスポインタ２７（値、Ｐn）にＰn-1を設定し（ステップＳ９１）、当該Ｐn-1によって指定される入力履歴記憶メモリ３０の一つ前の入力項格納位置から入力履歴読出処理を行い（ステップＳ９２）、一つ前の入力項の演算子及び数値を入力項番号、総入力項数と共に表示する（ステップＳ９３）。（この際、演算子は左演算子表示部７に表示する。）なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグＮに１を設定する（ステップＳ９０）。
・置換キー１２ｅ
図１３は、本発明の実施例の、置換キー１２ｅを押し下げた場合の処理を示すフローチャートである。
（置換キー１２ｅの通常電卓モードにおける動作）
まず、動作モードフラグＦが０であるとの判断（ステップＳ９４）を経た後、入力履歴表示モードではないことを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ９５）を行って終了する動作を行う。
（置換キー１２ｅの入力履歴表示モードにおける動作）
まず、動作モードフラグＦが０でないとの判断（ステップＳ９４）を経た後、現在のアドレスポインタ２７で指定される位置の入力項の演算子・数値の記憶内容を現在の数値表示レジスタ１８の数値、左演算子表示レジスタ２２の演算子の内容に書き換える置換処理（ステップＳ９６）を行い、置換処理が完了したことを知らせる報音処理（「ピッ、ピッ」の発音）及び報音代替表示処理（「ＯＫ」マークの表示）（ステップＳ９７）を行う動作を行う。
・移動キー１２ｆ
図１４は、本発明の実施例の、移動キー１２ｆを押し下げた場合の処理を示すフローチャートである。
（移動キー１２ｆの通常電卓モードにおける動作）
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、このキーが押下された時に数値表示部５に表示されている数値表示レジスタ１８の値を移動先として指定された入力項番号とみなして、当該指定された入力項番号の演算子及び数値を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０であるとの判断（ステップＳ９８）を経た後、このキーが押下された時に数値表示部５に表示されている数値表示レジスタ１８の値を移動先として指定された入力項番号とみなして、当該指定された入力項番号の入力項が存在するかを判断する（ステップＳ９９）。指定された入力項が存在しなければその旨を知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ１０６）を行って終了する。指定された入力項が存在する場合、動作モードフラグＦに１を設定して入力履歴表示モードにすると共に、「履歴表示モード」の表示を点灯させる（ステップＳ１００）。次に、アドレスポインタ２７に指定入力項位置を示すアドレスを設定し（ステップＳ１０３）、当該アドレスにより指定された入力項の演算子及び数値の読出処理（ステップＳ１０４）を行い、その入力項の演算子及び数値を入力項番号、総入力項数と共に表示する（ステップＳ１０５）。（この際、演算子は左演算子表示部７に表示する。）なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグＮに１を設定（ステップＳ１０１）するとともに、数字キー禁止フラグＲに０を設定し「加減乗除キーで再開」のメッセージ表示を消灯する（ステップＳ１０２）。
（移動キー１２ｆの入力履歴表示モードにおける動作）
このキーが押下された時に数値表示部５に表示されている数値表示レジスタ１８の値を移動先として指定された入力項番号とみなして、当該指定された入力項番号の演算子及び数値を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ９８）を経た後、このキーが押下された時に数値表示部５に表示されている数値表示レジスタ１８の値を移動先として指定された入力項番号とみなして、まず、この指定された入力項番号の入力項が存在するかを判断する（ステップＳ１０７）。指定された入力項が存在しなければその旨を知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ１１２）を行って終了する。指定された入力項が存在する場合、次に、アドレスポインタ２７に指定入力項位置を示すアドレスを設定し（ステップＳ１０９）、当該アドレスにより指定された入力項の演算子及び数値の読出処理（ステップＳ１１０）を行い、指定された入力項の演算子及び数値を入力項番号、総入力項数と共に表示する（ステップＳ１１１）。なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグＮに１を設定する（ステップＳ１０８）。
・ 挿入キー１２ｇ
図１５は、本発明の実施例の、挿入キー１２ｇを押し下げた場合の処理を示すフローチャートである。
（挿入キー１２ｇの通常電卓モードにおける動作）
まず、動作モードフラグＦが０であるとの判断（ステップＳ１１３）を経た後、入力履歴表示モードではないことを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ１１４）を行って終了するのみの動作を行う。
（挿入キー１２ｇの入力履歴表示モードにおける動作）
現在表示中の入力項の直前に、初期値が「＋０」である新たな入力項を挿入して、これを入力項番号、総入力項数と共に表示する動作をする。
具体的に説明すると、挿入したい入力項の次の入力項が表示されている状態でこの挿入キー１２ｇを押し下げると、まず、動作モードフラグＦが０でないとの判断（ステップＳ１１３）を経た後、現在のアドレスポインタ２７のアドレスをアドレス待避レジスタ２８に待避した後、このアドレスポインタ２７に記憶された最終入力項位置のアドレスを代入し（ステップＳ１１５）、アドレスポインタ２７によって指定される位置の入力項を読み出す処理（ステップＳ１１６）を行う。続けて、アドレスポインタ２７（値、Ｐn）にＰn+1を代入し、また、入力項を同時に記憶する方法による場合は、読み出した入力項番号を１増加した後（ステップＳ１１７）、 Ｐn+1により指定される隣の領域にこの入力項データーを書き込む処理（ステップＳ１１８）を行う。続いて、アドレスポインタＰnにＰn-2を代入（ステップＳ１１９）して、次の入力項の移動に備える。ここで挿入した最初の入力項位置であるかどうかを判断（ステップＳ１２０）する。最初の入力項位置に至るまで、上記の処理（ステップＳ１１６からステップＳ１１９）を繰り返し、 順次、入力項データーを隣りの領域に移動する。最初の入力項位置に至った場合は、この挿入位置の初期値の演算子及び数値として、それぞれ、「０」、「＋」を代入（ステップＳ１２１）し、また、入力項数を数えるレジスタである入力項カウンタ２４の値を１増加（ステップＳ１２２）し、この挿入された入力項の演算子及び数値「＋０」を入力項番号と総入力項数と共に表示（ステップＳ１２３）する。（この際、演算子は左演算子表示部７に表示する。）
・ 削除キー１２ｈ
図１６は、本発明の実施例の、削除キー１２ｈを押し下げた場合の処理を示すフローチャートである。
（削除キー１２ｈの通常電卓モードにおける動作）
まず、動作モードフラグＦが０であるとの判断（ステップＳ１２４）を経た後、入力履歴表示モードではないことを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ１２５）を行うのみの動作をする。
（削除キー１２ｈの入力履歴表示モードにおける動作）
現在表示中の入力項を削除するとともに、削除位置よりも後に記憶された入力項データーを順次一つ前に移動して、削除位置の新たな入力項を表示する動作をする。
具体的に説明すると、削除したい入力項が表示されている状態でこの削除キーを押下すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ１２６）を経た後、現在のアドレスポインタ２７のアドレスをアドレス待避レジスタ２８に待避（ステップＳ１２６）した後、このアドレスポインタ２７（値、Ｐn）にＰn+1を代入し（ステップＳ１２７）、アドレスポインタ２７によって指定される位置の入力項を読み出す処理（ステップＳ１２８）を行う。続けて、入力項を同時に記憶する方法による場合は読み出した入力項番号を１減算した後、アドレスポインタ２７（値、Ｐn）にＰn-1を代入（ステップＳ１２９）して指定される隣の領域にこの入力項を書き込む処理（ステップＳ１３０）により、順次、記憶された入力項の内容を移動する作業を行う。続いて、次の入力項の移動に備えてアドレスポインタ２７（値、Ｐn）にＰn+1を代入（ステップＳ１３１）し、これが最終の入力項位置であるかどうかを判断する（ステップＳ１３２）。最終の入力項位置でなければ、上記の処理（ステップＳ１２７からステップＳ１３１）を繰り返し、最終の入力項位置に至った場合は、入力項数を数えるレジスタである入力項カウンタ２４の値を１減算すると共に最終入力項位置の記憶をクリアし（ステップＳ１３３）、アドレス待避レジスタ２８のアドレスをアドレスポインタ２７に戻した後、この位置、つまり削除された次の入力項の記憶数値及び記憶演算子を読み出し処理（ステップＳ１３４）を行い、これを入力項番号と総入力項数と共に表示（ステップＳ１３５）する。（この際、演算子は左演算子表示部７に表示する。）
・ 数字キー１２ｎ
図７は、本発明の実施例の、数字キー１２ｎを押し下げた場合の処理を示すフローチャートである。
（数字キー１２ｎの通常電卓モードにおける動作）
数字キー１２ｎの通常電卓モードにおける動作を簡単にまとめると次のようになる。
数字キー禁止フラグＲが１の時は、報音及び報音代替処理のみを行う動作をする。
数字キー禁止フラグＲが０の時は、初期状態フラグＳが１の時のみ先頭の入力項の数値の前に置かれるものとして記憶される最初の演算子を「＋」にした後、新数字入力フラグＮが１の時は新たな数値の入力として押された数字を先頭の数字として表示すると共に入力項番号の表示と総入力項数の表示をそれぞれ１増加し、新数字入力フラグＮが０の時は入力中の数値の１の位の数字として表示中の数値の右に追加表示する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０であるとの判断（ステップＳ１）を経た後、数字キー禁止フラグＲが１かどうかの判断（ステップＳ２）をまず行い、数字キー禁止フラグＲが１であれば報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ３）を行って終了する。数字キー禁止フラグＲが１でなければ、次に初期状態フラグＳが１であるかどうかの判断（ステップＳ４）を行い、初期状態フラグＳが１の時のみ初期状態フラグＳを０に反転し、直後演算子レジスタ２６に「＋」を代入した後（ステップＳ５）、演算キー押後フラグＡに０を設定（ステップＳ６）して演算キーによる新たな演算を可能にした後、新数字入力フラグＮが１かどうかの判断（ステップＳ７）を行い、新数字入力フラグＮが１であれば、これが先頭の数字なので、新数字入力フラグＮを０に反転してその次に押された数字キーを１の位に追加表示される数字として迎えられるように準備する（ステップＳ８）。その後、この今回押された数字を新たな数字の先頭の数字として数値表示レジスタ１８に代入（ステップＳ９）し、入力項番号表示レジスタ１９、総入力項数表示レジスタ２０をそれぞれ１加算する（ステップＳ１０）。新数字入力フラグＮが１でなければ、今回入力された数字を１の位の数字として数値表示レジスタ１８に追加（ステップＳ１２）し、これを表示（ステップＳ１１）するのみの動作をする。
（数字キー１２ｎの入力履歴表示モードにおける動作）
数字キー１２ｎの入力履歴表示モードにおける動作を簡単にまとめると次のようになる。
新数字入力フラグＮが１の時は、新たな数値の入力として押された数字を先頭の数字として表示し、新数字入力フラグＮが０の時は、入力中の数値の１の位の数字として表示中の数値の右に追加表示する動作を行う。
具体的に説明すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ１）を経た後、新数字入力フラグＮが１かどうかの判断（ステップＳ１３）を行い、新数字入力フラグＮが１であれば、これが先頭の数字なので、新数字入力フラグＮを０に反転してその次に押された数字キーを１の位に追加表示される数字として迎えられるように準備する（ステップＳ１４）。その後、この今回押された数字を新たな数字の先頭の数字として数値表示レジスタ１８に代入（ステップＳ１５）し、新数字入力フラグＮが１でなければ、今回入力された数字を１の位の数字として数値表示レジスタ１８に追加（ステップＳ１６）し、これを表示（ステップＳ１１）するのみの動作をする。
・ 加減乗除キー（「＋」キー…１２ｉ、「−」キー…１２ｊ、「×」キー…１２ｋ、「÷」キー…１２ｌ）
図８は、本発明の実施例の、加減乗除キーを押し下げた場合の処理を示すフローチャートである。
（加減乗除キーの通常電卓モードにおける動作）
加減乗除キーの通常電卓モードにおける動作を簡単にまとめると次のようになる。
初期状態フラグＳ、数字キー禁止フラグＲ、演算キー押後フラグＡのいずれもが１でない時は、通常の電卓と同じ演算処理を行いその結果を表示すると共に、演算子と数値を一組の入力項として、入力履歴記憶メモリ３０に記憶する動作をする。
初期状態フラグＳが１の時は、押された加減乗除の演算子のいずれかを、「先頭の入力項の数値の前に置かれて記憶される最初の演算子」として、直後演算子レジスタ２６に代入する。
数字キー禁止フラグＲが１の時は、押された加減乗除の演算子のいずれかを、「既に記憶された入力履歴と計算を続行することによって新たに記憶される入力履歴とをつなぐ演算子」として、直後演算子レジスタ２６に代入する。
演算キー押後フラグＡが１の時は、押された加減乗除の演算子のいずれかを、「その直前に押された演算子を修正するために入力された正しい演算子」として、直後演算子レジスタ２６に代入する。
具体的に説明すると、まず、動作モードフラグＦが０であるとの判断（ステップＳ１７）を経た後、初期状態フラグＳが１であるかどうかの判断（ステップＳ１８）を行い、初期状態フラグＳが１であれば、初期状態フラグＳに０を代入して反転し初期状態を解除するとともに、演算キー押後フラグＡに１を代入（ステップＳ１９）した後、今回押された加減乗除の演算子のいずれかを、「先頭の入力項の数値の前に置かれて記憶される最初の演算子」として直後演算子レジスタ２６に代入（ステップＳ２０）し、これを右演算子表示部６に表示（ステップＳ２１）して終了する動作を行う。
初期状態フラグＳが１でなければ、次に数字キー禁止フラグＲが１かどうかの判断（ステップＳ２２）を行い、数字キー禁止フラグＲが１であれば数字キー禁止フラグＲを０に反転して数字キーの入力を可能にし「加減乗除キーで再開」の表示を消灯した後（ステップＳ２３）、今回押された加減乗除の演算子のいずれかを、「既に記憶された入力履歴と計算を続行することによって新たに記憶される入力履歴とをつなぐ演算子」として、直後演算子レジスタ２６に代入する（ステップＳ２０）とともに、右演算子表示部６に表示（ステップＳ２１）する。
初期状態フラグＳが１でなく（ステップＳ１８）、数字キー禁止フラグＲも１でなければ（ステップＳ２２）、次に演算キー押後フラグＡが１かどうかの判断（ステップＳ２４）を行い、演算キー押後フラグＡが１であれば、新数字入力フラグＮに１を設定（ステップＳ２５）した後、今回押された加減乗除の演算子のいずれかを、「その直前に押された演算子を修正するために入力された正しい演算子」として、直後演算子レジスタ２６に代入する（ステップＳ２０）と共に、右演算子表示部６に表示（ステップＳ２１）する動作を行う。
初期状態フラグＳが１でなく（ステップＳ１８）、数字キー禁止フラグＲも１でなく（ステップＳ２２）、また、演算キー押後フラグＡも１でなければ（ステップＳ２４）、まず、演算キー押後フラグＡを１に反転し、新数字入力フラグＮに１を設定（ステップＳ２６）した後、直後演算子レジスタ２６の値を直前演算子レジスタ２５に代入し、直後演算子レジスタ２６には今回押された演算子を代入する（ステップＳ２７）。その後、入力項カウンタ２４の値を１加算（ステップＳ２８）した後、アドレスポインタ２７によって指定される入力履歴記憶メモリ３０に演算子と数値の組からなる入力項を記憶する入力履歴記憶処理（ステップＳ２９）を行う。また、次の入力履歴の記憶に備えてアドレスポインタ２７の値ＰnをPn+1にした（ステップＳ３０）後、通常の電卓と同じように直前演算子レジスタ２５の演算子に応じた加減乗除計算処理（ステップＳ３１）を行い、その結果を答えレジスタ２３とともに、数値表示レジスタ１８に代入すると共に、入力項番号表示レジスタ１９と総入力項表示レジスタ２０に入力項カウンタ２４の値を代入し、これら数値表示レジスタ１８、入力項番号表示レジスタ１９と総入力項表示レジスタ２０の値を液晶表示部１に表示し、また、今回押された加減乗除の演算子を右演算子表示部６に表示する表示処理（ステップＳ２１）を行う。
（加減乗除キーの入力履歴表示モードにおける動作）
まず、新数字入力フラグＮに１を設定し（ステップＳ３２）た後、今回押された加減乗除の演算子を、「入力履歴表示モードで表示中の入力項の演算子を修正する目的で入力された正しい演算子」として、左演算子表示部７に表示（ステップＳ３３）する動作を行う。
・イコールキー１２ｍ
図９は、本発明の実施例の、イコールキー１２ｍを押し下げた場合の処理を示すフローチャートである。
（イコールキー１２ｍの通常電卓モードにおける動作）
イコールキー１２ｍの通常電卓モードにおける動作を簡単にまとめると次のようになる。
初期状態フラグＳが１でない時で、且つ、演算キー押後フラグＡが１でない時は、今回押された「＝」を直後演算子レジスタに代入した後、加減乗除キーが押されたときと同じように入力履歴記憶処理と直前演算子に応じた加減乗除計算処理を行いその結果を表示した後、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キーの入力を禁じる処理を行う。
初期状態フラグＳが１である時は、報音及び報音代替処理を行って終了するのみの動作を行う。
初期状態フラグＳが１でない時は、演算キー押後フラグＡの値を判断し、演算キー押後フラグＡが１の時は、今回押された「＝」を直後演算子レジスタに代入するのみの処理をした後、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キーの入力を禁じる処理を行う。
具体的に説明すると、まず、動作モードフラグＦが０でないとの判断（ステップＳ３４）を経た後、初期状態フラグが１かどうかの判断（ステップＳ３５）を行い、初期状態フラグが１の初期状態であればその旨を知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ３６）のみを行って終了する。
初期状態フラグＳが１でない時は、次に、演算キー押後フラグＡが１かどうかの判断（ステップＳ３７）をし、演算キー押後フラグＡが１であれば、まず、新数字入力フラグＮに１を設定（ステップＳ３８）して加減乗除キーで入力禁止が解除されたときに新たな数値の入力が出来るように準備した後、今回押された「＝」を直後演算子レジスタ２６に代入（ステップＳ３９）し、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キー禁止フラグＲに１を設定して数字キーの入力を禁じる処理を行うと共に「加減乗除キーで再開」の表示を点灯させ（ステップＳ４０）、今回押された「＝」を右演算子表示部６に表示するのみの動作（ステップＳ４１）をして終わる。
初期状態フラグＳが１でなく、演算キー押後フラグＡも１でない時は、演算キー押後フラグＡを１に反転し新数字入力フラグに１を設定（ステップＳ４２）した後、直後演算子レジスタ２６の値を直前演算子レジスタ２５に代入し、直後演算子レジスタ２６には今回押された「＝」を代入（ステップＳ４３）する。その後、入力項カウンタ２４の値を１加算（ステップＳ４４）した後、入力履歴記憶処理（ステップＳ４５）を行う。また、次回の入力履歴記憶に備えてアドレスポインタ２７の値ＰnをPn+1（ステップＳ４６）にした後、直前演算子レジスタ２５の値に応じた加減乗除計算処理（ステップＳ４７）を行う。また、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キー禁止フラグＲに１を設定して数字キーの入力を禁じる処理を行うと共に、「加減乗除キーで再開」の表示を点灯させ（ステップＳ４０）、表示処理（ステップＳ４１）では、演算の結果を答えレジスタ２３とともに、数値表示レジスタ１８に代入すると共に、入力項番号表示レジスタ１９と総入力項表示レジスタ２０に入力項カウンタ２４の値を代入し、これら数値表示レジスタ１８、入力項番号表示レジスタ１９と総入力項表示レジスタ２０の値を液晶表示部１に表示し、また、今回押された「＝」を右演算子表示部６に表示する。
（イコールキー１２ｍの入力履歴表示モードにおける動作）
まず、動作モードフラグＦが０でないとの判断（ステップＳ３４）を経た後、新数字入力フラグＮに１を設定し（ステップＳ４８）た後は、通常電卓モードではないことを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）（ステップＳ４９）を行って終了する。
・ＡＣ（オールクリア）キー１２ｂ
図１７は、本発明の実施例の、 ＡＣ（オールクリア）キー１２ｂを押し下げた場合の処理を示すフローチャートである。（なお、ＡＣキーは、通常電卓モード、入力履歴表示モードとも同じ動作であり、また、電源投入時にもこれと同じサブルーチンが実行され、同様の初期化が行われる。）
ＡＣ（オールクリア）キー１２ｂ の動作を簡単にまとめると次のようになる。
通常の電卓のＡＣ（オールクリア）キーの働きの他、フラグ群の初期化、メッセージ表示部群の初期化、表示レジスタ群の初期化、入力項カウンタ、アドレスポインタ、答えレジスタ等の作業領域群の初期化、入力履歴記憶メモリの初期化、その他の初期化など、各種の初期化作業を行う。
具体的に説明すると、まず、フラグ群の初期化（ステップＳ１３６）として、動作モードフラグＦに０、数字キー禁止フラグＲに０、初期状態フラグＳに１を、演算キー押後フラグＡに０、新数字入力フラグＮに１をそれぞれ設定する。次に、メッセージ表示部群の初期化（ステップＳ１３７）として、「通常電卓モード」の表示を点灯させ、「履歴表示モード」の表示を消灯させ、また、「再計算中」と「加減乗除キーで再開」の表示を消灯させる。次に、表示レジスタ群の初期化（ステップＳ１３８）として、数値表示レジスタ１８、入力項番号表示レジスタ１９、総入力項表示レジスタ２０のそれぞれに０を代入し、これが表示駆動回路１３により液晶表示部１に表示される。また、右演算子表示レジスタ２１、左演算子表示レジスタ２２に、それぞれ、ｎｕｌｌ値を設定するが、表示駆動回路１３は、右演算子表示レジスタ２１、左演算子表示レジスタ２２の値がｎｕｌｌ値である時、液晶表示部の右演算子表示部６、左演算子表示部７には何も表示しない。次に、作業領域群の初期化（ステップＳ１３９）として、入力項カウンタ２４に０、アドレスポインタ２７に入力履歴記憶レジスタ３０の先頭の記憶領域のアドレスであるＰ1、答えレジスタ２３に演算開始前の初期値である０を代入し、また、直前演算子レジスタ２５と直後演算子レジスタ２６には、初期値としてｎｕｌｌ値を設定する。また、次に、入力履歴記憶メモリの初期化（ステップＳ１４０）を行い、記憶された全ての入力項の記憶をクリアして、新たな入力履歴の記憶が出来るようにする。また、通常の加減乗除計算機に必要とされるその他の初期化など、各種の初期化作業を行う。
なお、本実施例の加減乗除計算機においては、わかりやすくするため、以上の各キーに相当するボタンはそれぞれ独立なものとして、電卓に配置されているが、シフトキーや機能キーなどとの組合せにより、通常の電卓が有するボタンに兼用させることも可能である。
【０００７】
次に、上記の構成による卓上加減乗除計算機の動作について、実際の計算例に即して説明する。
図５、及び、図６は、本発明の卓上加減乗除計算機の通常電卓モードにおける計算と、計算と共に行われる入力履歴記憶、そして入力履歴表示モードにおける、入力履歴表示、入力履歴修正の処理、再計算処理、数字キー入力禁止処置、及び、その禁止解除による計算及び入力履歴記憶の再開、等に伴うキー操作と、その操作後になされる表示動作、及び、当該キーが押された後における「動作モードフラグＦ」、「数字キー禁止フラグＲ」、「初期状態フラグＳ」、「演算子キー押後フラグＡ」、「新数字入力フラグＮ」の各フラグの状態と「直前演算子レジスタ２５」、「直後演算子レジスタ２６」の状態を示す図である。なお、図６は、図５の続きの図であり、また、図５、図６では、各フラグをＦ、Ｒ、Ｓ、Ａ、Ｎ、直前演算子レジスタ２５を「直前」、直後演算子レジスタ２６を「直後」と表記している。
まず、図５の（ａ）は、電源投入ボタンを兼ねたＡＣ（オールクリア）キーの押し下げによって、電源を入れた直後の初期状態を示している。この時、各フラグの値は、 図１７のＡＣ（オールクリア）キーの押し下げ時のサブルーチンにおけるフラグ群の初期化（ステップＳ１３６）によって設定された値となっており、Ｆ＝０、Ｒ＝０、Ｓ＝１、Ａ＝０、Ｎ＝１であり、Ｆ＝０であることからわかるように電源投入後の初期状態では通常電卓モードとしての動作を行うこととなっており、液晶表示部には、「通常電卓モード」の表示と共に、数値表示レジスタ１８の初期値０と、入力項番号表示レジスタ１９の初期値０、総入力項数表示レジスタ２０の初期値０が表示されている。また、このＡＣキー押し下げ直後は、「直前演算子レジスタ２５」、「直後演算子レジスタ２６」の値は、やはり、図１７のＡＣ（オールクリア）キーの押し下げ時のサブルーチンにおける作業領域群の初期化（ステップＳ１３９）によって設定された値としてｎｕｌｌ値となっている。
まず、この初期状態の通常電卓モードで計算を「５４×３−９＝」とすることを想定して説明する。
計算の開始方法は、二通りあり、最初に数字キーを入力することにより、自動的に、先頭の入力項の数値の前に置かれる最初の演算子が「＋」であると判断して入力履歴を記憶する計算開始方法と、最初に加減乗除のいずれかの演算子キーを押し下げることにより、当該押し下げられた加減乗除のいずれかの演算子を、先頭の入力項の数値の前に置かれる最初の演算子として入力履歴を記憶する計算開始方法がある。ここでは、まず、前者の最初に数字キーを押し下げる計算開始方法によって説明する。
まず、図５の（ｂ）に示すように、キー入力部の数字キーで「５４×」の「５」と入力すると、図７の数字キーのサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１でないとの判断、初期状態フラグＳが１であるとの判断を経て、初期状態フラグＳが０に反転されると共に、直後演算子レジスタ２６に「＋」が代入される。（なお、この「＋」は、入力中の数値「５４」の前に置かれる先頭の演算子なので、右演算子表示レジスタ２１には代入されず、液晶表示部１には表示されない。）その後、演算キー押後フラグＡに０が設定され、新数字入力フラグＮが１であるとの判断を経て、次の数字入力のために新数字入力フラグＮが０に反転され、この「５」が新たな数値の先頭の数値として数値表示レジスタ１８に代入されると共に、入力項番号表示レジスタ１９と総入力項表示レジスタ２０のそれぞれの初期値「０」、「０」が直接１ずつ増加され、それぞれ、「１」、「１」となる。これらが表示駆動回路１３によって液晶表示部１に表示される。（図７のステップＳ１→Ｓ２→Ｓ４→Ｓ５→Ｓ６→Ｓ７→Ｓ８→Ｓ９→Ｓ１０→Ｓ１１）
次に、図５の（ｃ）に示すように、「５４×」の「４」と入力すると、やはり図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１でないとの判断、初期状態フラグＳが１でないとの判断を経て、演算キー押後フラグＡに０が設定され、新数字入力フラグＮが１でないとの判断を経て、この「４」が数値の１の位の数字として数値表示レジスタ１８に追加され、これらが表示駆動回路１３によって液晶表示部１に表示される。（図７のステップＳ１→Ｓ２→Ｓ４→Ｓ６→Ｓ７→Ｓ１２→Ｓ１１）
次に、図５の（ｄ）に示すように、「×」の加減乗除キーを押し下げ操作して「×」と入力すると、図８の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、初期状態フラグＳが１でないとの判断、数字キー禁止フラグＲが１でないとの判断、演算キー押後フラグＡが１でないとの判断を経て、演算キー押後フラグＡが１に反転されると共に新数字入力フラグＮが１に設定される。次に、現在、直後演算子レジスタ２６に入っていた「＋」が直前演算子レジスタ２５に代入され、この直後演算子レジスタ２６には今回入力された「×」が代入される。次に、入力項カウンタ２４の値が１増加され「１」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ１８の値（「５４」）と直前演算子レジスタ２６の値（「＋」）が、最初の入力項として、アドレスポインタ２７の初期値Ｐ1で指定される入力履歴記憶メモリ３０の先頭の記憶位置に記憶される。（図３、図４を参照。）また、次の入力履歴記憶処理に備えてアドレスポインタ２７に次の記憶領域を示すＰ2が代入される。また、直前演算子レジスタ２５の値（この場合「＋」）によって、答えレジスタ２３の初期値「０」との間で演算「０＋５４」が行われ、その結果「５４」がまた新たに答えレジスタ２３に代入されるとともに、数値表示レジスタ１８にも代入され、これらが表示駆動回路１３により液晶表示部１に表示される。なお、この際、右演算子表示部６に表示されるのは、直前演算子レジスタ２５の「＋」ではなく、今回押し下げられた「×」であることは、普通の電卓と同じである。（図８のステップＳ１７→Ｓ１８→Ｓ２２→Ｓ２４→Ｓ２６→Ｓ２７→Ｓ２８→Ｓ２９→Ｓ３０→Ｓ３１→Ｓ２１）
次に、図５の（ｅ）に示すように、「×３」の「３」を入力すると、最初の「５」が入力されたのと同様に、図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１でないとの判断、初期状態フラグＳが１でないとの判断を経て、演算キー押後フラグＡに０が設定され、新数字入力フラグＮが１であるとの判断を経て、次の数字入力のために新数字入力フラグＮが０に反転され、この「３」が新たな数値の先頭の数値として数値表示レジスタ１８に代入されると共に、入力項番号表示レジスタ１９と総入力項表示レジスタ２０の値、「１」、「１」がそれぞれ直接１増加され、それぞれ、「２」、「２」となる。これらが表示駆動回路１３によって液晶表示部１に表示される。（図７のステップＳ１→Ｓ２→Ｓ４→Ｓ６→Ｓ７→Ｓ８→Ｓ９→Ｓ１０→Ｓ１１）
次に、図５の（ｆ）に示すように、「−９」の「−」を入力すると、図８の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、初期状態フラグＳが１でないとの判断、数字キー禁止フラグＲが１でないとの判断、演算キー押後フラグＡが１でないとの判断を経て、演算キー押後フラグＡが１に反転されると共に新数字入力フラグＮが１に設定される。次に、現在、直後演算子レジスタ２６に入っていた「×」が直前演算子レジスタ２５に代入され、この直後演算子レジスタ２６には今回入力された「−」が代入される。次に、入力項カウンタ２４の値が１増加され「２」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ１８の値（「３」）と直前演算子レジスタ２５の値（「×」）が、二番目の入力項として、アドレスポインタ２７の値Ｐ2で指定される入力履歴記憶メモリ３０の記憶位置に記憶される。（図３、図４を参照。）また、次の入力履歴記憶処理に備えてアドレスポインタ２７に次の記憶領域を示すＰ3が代入される。また、直前演算子レジスタ２５の値（この場合「×」）によって、答えレジスタ２３の値「５４」との間で演算「５４×３」が行われ、その結果「１６２」がまた新たに答えレジスタ２３に代入されるとともに、数値表示レジスタ１８にも代入され、表示駆動回路１３により液晶表示部１に表示される。なお、この際、右演算子表示部６に表示されるのは、直前演算子レジスタ２５の「×」ではなく、今回押し下げられた「−」であることは、普通の電卓と同じである。（図８のステップＳ１７→Ｓ１８→Ｓ２２→Ｓ２４→Ｓ２６→Ｓ２７→Ｓ２８→Ｓ２９→Ｓ３０→Ｓ３１→Ｓ２１）
次に、図５の（ｇ）に示すように、「−９」の「９」を入力すると、図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１でないとの判断、初期状態フラグＳが１でないとの判断を経て、演算キー押後フラグＡに０が設定され、新数字入力フラグＮが１であるとの判断を経て、次の数字入力のために新数字入力フラグＮが０に反転され、この「９」が新たな数値の先頭の数値として数値表示レジスタ１８に代入されると共に、入力項番号表示レジスタ１９と総入力項表示レジスタ２０の値、「２」、「２」がそれぞれ直接１増加され、それぞれ、「３」、「３」となる。これが表示駆動回路１３によって液晶表示部１に表示される。（図７のステップＳ１→Ｓ２→Ｓ４→Ｓ６→Ｓ７→Ｓ８→Ｓ９→Ｓ１０→Ｓ１１）
この後、同様に数字キー又は加減乗除キーを入力することで、上記のステップが繰り返され、普通の電卓と同じ計算処理がなされると同時に、入力された数値及びその直前の演算子（入力項番号を共に記憶する場合にあっては入力項番号も）が一つの入力項として、順次、入力履歴記憶メモリ３０のアドレスポインタ２７によって指定される領域に追加記憶されると共に、その都度、計算結果が答えレジスタ２３及び数値表示レジスタ１８に入力され、入力項番号、総入力項数と共に、表示駆動回路１３により液晶表示部１に表示される。
ここで、図５の（ｈ）に示すように、「＝」を押すと、図９のイコールキー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、初期状態フラグＳが１でないとの判断、演算キー押後フラグＡが１でないとの判断を経て、演算キー押後フラグＡが１に反転されると共に新数字入力フラグＮが１に設定される。次に、現在、直後演算子レジスタ２６に入っていた「−」が直前演算子レジスタ２５に代入され、この直後演算子レジスタ２６には今回入力された「＝」が代入される。次に、入力項カウンタ２４の値が１増加され「３」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ１８の値（「９」）と直前演算子レジスタ２５の値（「−」）が、三番目の入力項として、アドレスポインタ２７の値Ｐ3で指定される入力履歴記憶メモリの記憶位置に記憶される。（図３、図４を参照。）また、次の入力履歴記憶処理に備えてアドレスポインタ２７に次の記憶領域を示すＰ4が代入される。また、直前演算子レジスタ２５の値（この場合「−」）によって、答えレジスタ２３の値「１６２」との間で演算「１６２−９」が行われ、その結果「１５３」がまた新たに答えレジスタ２３に代入されるとともに、数値表示レジスタ１８にも代入され、表示駆動回路１３により液晶表示部１に表示される。なお、イコールキーを押して計算を終了した際は、直後演算子レジスタ２６の値が「＝」（あるいは、直後演算子レジスタ２６に「＝」を代入しない場合においては、「不定（過去に入力されて残っているだけの意味のない演算子）」）になってしまうため、このまま計算の再開を許してしまうと、数値と演算子が交互に現れる入力履歴の整合性が保てなくなってしまう。そのため、イコールキーを押して計算を終了した際は、数字キー禁止フラグＲに１を設定して数字キーの入力を禁じると共に、「加減乗除キーで再開」の表示を点灯させ、その旨をユーザーに知らせる。（図９のステップＳ３４→Ｓ３５→Ｓ３７→Ｓ４２→Ｓ４３→Ｓ４４→Ｓ４５→Ｓ４６→Ｓ４７→Ｓ４０→Ｓ４１）
この「加減乗除キーで再開」の表示が点灯している状態で、任意の数字キーを入力しようとして、例えば、図５の（ｉ）に示すように、「５」を入力すると、図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１であるとの判断を経て、数字キー入力が禁止されていることを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）のみが行われて、他の動作は行われず、ユーザーは数字キー入力が出来なくなったことを知ることが出来る。（図７のステップＳ１→Ｓ２→Ｓ  →Ｓ３）
この数字キー入力が禁止された状態で加減乗除キーを押して計算及び入力履歴記憶作業を再開する動作に関してはまた後述するので、ここでは次に入力履歴表示モードに移行する手段と入力履歴表示モードでの動作について説明する。
ここで図５の（ｊ）に示すようにモード切替キー（再計算キー）を押すと、図１０のモード切替キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断を経て、動作モードフラグＦが１に反転されるとともに、液晶表示部１に「履歴表示モード」の文字が点灯され、また、入力履歴表示モードに移行した後にも入力履歴修正のための数値が正しく入力できるよう新数字入力フラグＮに１がセットされた後、数字キー入力禁止状態でモード切替キーが押し下げられて入力履歴表示モードに移行した時にも正しい表示が行われるように数字キー禁止フラグＲが０にセットされると共に「加減乗除キーで再開」の表示が消灯される。次に、アドレスポインタ２７に先頭の値Ｐ１が設定され、これによって指定される入力履歴記憶メモリ３０の先頭の領域から記憶された先頭の入力項の数値及び演算子の入力履歴読出処理が行われ、読み出された数値及び演算子（この場合、「＋５４」）がそれぞれ、左演算子表示レジスタ２２、数値表示レジスタ１８に代入され、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号「１」が入力項番号表示レジスタ１９に、また、入力項カウンタ２４の値「３」が総入力項数表示レジスタ２０に、それぞれ代入され、これらが表示駆動回路１３によって液晶表示部１に表示される。なお、この入力履歴表示モードにおいては、演算子は左演算子表示レジスタ２２に代入されることにより、左演算子表示部７に表示される。（図１０のステップＳ５０→Ｓ５１→Ｓ５２→Ｓ５３→Ｓ５４→Ｓ５５→Ｓ５６）
この入力履歴表示モードの状態で、図５の（ｋ）、（ｌ）に示すように次キーを押下すると、そのキー操作毎に、図１１の次キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないとの判断、最終の入力項でないとの判断を経て、移動先の次の入力項番号の入力項表示状態で修正のための新たな数値が入力出来るよう新数字入力フラグＮに１がセットされた後、アドレスポインタ２７（値、Ｐｎ）にＰｎ+1がセットされ、これにより指定される入力履歴記憶メモリ３０の次の入力項の記憶領域から記憶された入力項データーを読み出し、読み出された入力項の演算子及び数値をそれぞれ左演算子表示レジスタ２２、数値表示レジスタ１８、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号を入力項番号表示レジスタ１９に代入、これらが表示駆動回路１３によって液晶表示部１に表示されることにより、入力履歴記憶メモリ３０の領域に記憶された計算式が、この次キーの押し下げ毎に入力項ごとに順次読み出され、各入力項ごとの数値及びその数値の直前に置かれる演算子の組み合わせ、及び、入力項番号、総入力項数と共に表示される。（図１１のステップＳ６８→Ｓ７５→Ｓ７７→Ｓ７８→Ｓ７９→Ｓ８０）
また、図５の（ｍ）に示すように、最終入力項表示状態で更に次キーを押し下げた場合には、図１１の次キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないとの判断、最終の入力項であるとの判断を経て、これ以上次の入力項がないことを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）のみが行われて他の動作は行われず、入力項番号と総入力項数の表示に変化がないことと併せて、ユーザーはこれ以上次の入力項がないことを知ることが出来る。（図１１のステップＳ６８→Ｓ７５→Ｓ７６）
また、この入力履歴表示モードの状態で、図５の（ｎ）に示すように、前キーを押下すると、そのキー操作毎に、図１２の前キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないとの判断、先頭の入力項でないとの判断を経て、移動先の一つ前の入力項番号の入力項表示状態で修正のための新たな数値が入力出来るよう新数字入力フラグＮに１がセットされた後、アドレスポインタ２７（値、Ｐｎ）にＰｎ-1がセットされ、これにより指定される入力履歴記憶メモリ３０の一つ前の入力項の記憶領域から記憶された入力項データーを読み出し、読み出された入力項の演算子及び数値をそれぞれ左演算子表示レジスタ２２、数値表示レジスタ１８、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号を入力項番号表示レジスタ１９に代入、これらが表示駆動回路１３によって液晶表示部１に表示されることにより、入力履歴記憶メモリ３０の領域に記憶された計算式が、この前キーの押し下げ毎に入力項ごとに順次読み出され、各入力項ごとの数値及びその数値の直前に置かれる演算子の組み合わせ、及び、入力項番号、総入力項数と共に表示される。（図１２のステップＳ８１→Ｓ８８→Ｓ９０→Ｓ９１→Ｓ９２→Ｓ９３）
また、図５には示していないが、先頭の入力項を表示した状態で更に前キーを押し下げた場合にも、図１２の前キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないとの判断、先頭の入力項であるとの判断を経て、これ以上前の入力項がないことを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）のみが行われて他の動作は行われず、入力項番号と総入力項数の表示に変化がないことと併せて、ユーザーはこれ以上前の入力項がないことを知ることが出来る。（図１２のステップＳ８１→Ｓ８８→Ｓ８９）
次に、この入力履歴表示モードにおいて任意の入力項番号の入力項が表示されている状態で、その入力項の入力データーの間違いを発見したとする。（ここでは、第二番目に入力した「×３」が誤りで、正しくは「÷２」と入力しなければならなかったとする。）図５の（ｏ）に示すように、間違いを発見した入力項が表示されている状態で、演算子キーを「÷」と押し下げすると、図８の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないの判断を経て、次の新たな数値入力を可能にするため新数字入力フラグＮが１に設定され、今回入力された正しい演算子「÷」が左演算子表示レジスタ２２に代入され左演算子表示部７に表示される。他の表示は変わらない。（図８のステップＳ１７→Ｓ３２→Ｓ３３）また、図５の（ｐ）に示すように、数字キーを「２」と押し下げすると、図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないの判断、新数字入力フラグＮが１であるとの判断を経て、次の数字入力のために新数字入力フラグＮが０に反転されると共に、今回入力された正しい数字であるこの「２」が新たな数値の先頭の数値として数値表示レジスタ１８に代入されると共に、これが表示駆動回路１３によって液晶表示部１に表示される。（図７のステップＳ１→Ｓ１３→Ｓ１４→Ｓ１５→Ｓ１１）
この状態で図５の（ｑ）に示すように、置換キーを押し下げると、図１３の置換キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないの判断を経て、表示中の数値表示レジスタ１８の数値および左演算子表示レジスタ２２の演算子が、その入力項番号の入力項の新たな正しいデーターとして、現在のアドレスポインタ２７によって示されるアドレスの入力履歴記憶メモリに上書き変更されて記憶される入力履歴記憶置換処理が行われる。また、当該入力履歴記憶置換処理が終了した旨を知らせる報音処理（「ピッ、ピッ」の発音）及び報音代替処理（「ＯＫ」の表示）が行われ、ユーザーは正しい数字及び演算子に変更が行われたことを確認出来る。（図１３のステップＳ９４→Ｓ９６→Ｓ９７）ここで、新しい数字又は演算子に変更が行われたことは、次キー、又は、前キーによってこの変更が行われた入力項番号の入力項の前後の入力履歴を順次往復表示させて参照することでも確認出来る。
また、置換キーを押さずに次キー又は前キーなどで参照する入力項を移動するなど他の処理を行った場合など、置換キーを押さなかった場合は、新しい数字又は演算子への変更は入力履歴記憶メモリの領域に反映されず、この変更が行われなかったことも、次キー、又は、前キーによってこの入力項番号の入力項の前後の入力履歴を順次往復表示させて参照することで確認出来る。
このようにして入力履歴を確認し、必要があればこれを正しく修正した後、図５の（ｒ１）に示すように、再び、モード切替キーを押し下げると、図１０のモード切替キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないの判断を経て、動作モードフラグＦが０に反転させると共に「通常電卓モード」の表示が点灯される。また、再計算をする前の準備として答えレジスタ２３に初期値「０」を代入するとともに「再計算中」のメッセージ表示を点灯する。次に、アドレスポインタ２７に先頭の入力項のアドレスＰ1を設定して、当該アドレスによって指定される入力履歴記憶メモリ３０の領域から入力履歴読出処理を行い、読み出した演算子及び数値を液晶表示部１に表示する。なお、図５の（ｒ１）の表示部の表示及びフラグの状態は、この再計算中の様子（最初の入力項である「＋５４」を表示中の様子）を示している。次に、各数値の左に表示されたこの数値の直前の演算子に応じた計算処理を行い、結果を答えレジスタ２３に代入する。また、次の入力履歴読出処理に備えてアドレスポインタ２７（値、Ｐn）にＰn+1を設定する。次に、処理した入力項が最終の入力項であるか否かの判断を行い、最終の入力項でなければステップＳ６０からステップＳ６３の処理を繰り返し、その都度、新しい答えを答えレジスタ２３に代入する。最終の入力項であれば「再計算中」の表示を消灯し、答えレジスタ２３の値を数値表示レジスタ１８に代入して再計算結果の表示処理を行う。また、再計算終了直後は、この再計算結果に対して継続して計算をしようとする場合に、既に記憶された入力履歴と新しく継続的に入力される数値をつなぐ演算子が「＝」（あるいは、再計算後に「＝」を代入しない場合においては「不定（過去に入力されて残っているだけの意味のない演算子）」）となってしまうため、「数値」と「加減乗除の演算子」が交互に現れる整合性を入力履歴が維持出来なくなってしまう。そのため、数字キー禁止フラグＲに１を設定して数字キーの入力を禁じると共に、「加減乗除キーで再開」の表示を点灯し、まず最初に加減乗除キーの入力をすべきことをユーザーに促す。また、計算の再開に備えて、演算キー押後フラグＡと新数字入力フラグＮに１を設定する。なお、図５の（ｒ２）の表示部の表示及びフラグの状態は、この再計算が終了した後の正しい演算結果である「１８」が表示された様子を示している。（図１０のステップＳ５０→Ｓ５７→Ｓ５８→Ｓ５９→Ｓ６０→Ｓ６１→Ｓ６２→Ｓ６３→Ｓ６４→Ｓ６５→Ｓ６６→Ｓ６７）
なお、再計算中の各入力項の表示に関しては、ＣＰＵの実行速度と、計算する入力項の量により、これを、再計算を実行する速度を優先して表示させない場合と、速度は優先させずに各表示レジスタに逐次代入することにより液晶表示部１に逐次表示させる場合、あるいはユーザの選択によりこの再計算中の各入力項の表示・非表示を切り替え可能にする場合などが考えられる。
次に、数字キー入力禁止後の計算再開の動作について、例に即して説明する。
この動作が必要になるのは、再計算終了直後の図５の（ｒ２）の状態、及び、通常の計算においてイコールキーにより計算を終了した図５の（ｈ）の状態の場合である。上記の二つの場合においては、継続して計算をする場合に、直後演算子レジスタ２６の値が「＝」（あるいは、「＝」を直後演算子レジスタ２６に代入しない場合においては「不定（過去に入力されて残っているだけの意味のない演算子）」）となっている。この場合は、続いて数値から入力を再開しても、既に記憶された入力履歴との間で、「演算子と数値、演算子と数値、…」というように「数値」と「加減乗除の演算子」が交互に現れる整合性を保つことが出来なくなるために、演算が正しく行われなくなってしまうので、この「＝」（あるいは、「＝」を直後演算子レジスタ２６に代入しない場合においては「不定（過去に入力されて残っているだけの意味のない演算子）」）を、既に入力された入力履歴とこれから継続的に入力しようとする数値の間を結ぶ正しい演算子に変更する作業が必要となる。
図６は、本発明の卓上加減乗除計算機の実施例のキー操作とそれに対応する表示動作、及び、当該各キーが押された後の、各フラグと直前演算子レジスタ２５、直後演算子レジスタ２６の状態を示す図５の続きとなる図である。
図６の（ｓ）は、図５の（ｒ２）の状態で数字キー（この場合は「２」）を押し下げた状態を示しているが、このように、再計算直後において答えが表示され「加減乗除キーで再開」の表示が点灯している状態で、更にこれに続けて計算をするため数値を入力しようとしても、図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１であるとの判断を経て、数字キー入力が禁止されていることを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）のみが行われて、他の動作は行われず、ユーザーは数字キー入力が出来なくなったことを知ることが出来るのみである。（図７のステップＳ１→Ｓ２→Ｓ３）これは、図５の（ｉ）において、イコールキーによる計算終了の後に、「加減乗除キーで再開」の表示が点灯している状態で、更にこれに続けて計算をするため数値を入力しようとしても、数字キーの入力が無効であることを知らせる報音処理（「ピッ」の発音）及び報音代替表示処理（「♪」マークの表示）のみが行われ、数字を入力することは出来なかったのと同様である。
この数字キー入力が禁止された状態で、計算及び入力履歴記憶作業を再開する方法は、「加減乗除キーで再開」の表示による案内が示すとおり、既に入力された入力履歴とこれから継続的に入力しようとする数値の間を結ぶ演算子となる加減乗除のいずれかのキーをまず最初に押す方法による。
図６の（ｔ）は、更に続けて「×５」と計算を続けるために、「×」キーを押し下げた状態を示している。「×」キーを押し下げると、図８の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、初期状態フラグＳが１でないとの判断、数字キー禁止フラグＲが１であるとの判断を経て、数字キー禁止フラグＲが０に反転され数字キーの入力が許可されるとともに「加減乗除キーで再開」の表示が消灯され、この時押し下げられた演算子が、「前に入力された入力履歴とこれから継続的に入力しようとする数値の間を結ぶ演算子」として直後演算子レジスタ２６に代入され、この「×」が右演算子表示部６に表示されるのみの処理が行われる。（なお、念のために説明しておくと、この「×」キーを押し下げた後の状態において、直前演算子レジスタ２５には「−」が入っているが、この「−」は、図５の（ｈ）においてイコールキーが押し下げられた際に「−９」の演算を行うために直後演算子レジスタ２６から渡された演算子が残っているもので、「過去に入力されて残っているだけの意味のない演算子」であり、これは、次に「×５」の「５」とそれに続く演算子が入力されて実際に演算が行われる際には、その演算の前に、現在、直後演算子レジスタ２６に入っている「×」が直前演算子レジスタ２５に移動されて、この直前演算子レジスタ２５に移動された「×」に応じて加減乗除計算処理が行われるものであり、なんら問題はない。）
次に、図６の（ｕ）に示すように、「×５」の「５」を入力すると、図７の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、数字キー禁止フラグＲが１でないとの判断、初期状態フラグＳが１でないとの判断を経て、演算キー押後フラグＡに０が設定され、新数字入力フラグＮが１であるとの判断を経て、次の数字入力のために新数字入力フラグＮが０に反転され、この「５」が新たな数値の先頭の数値として数値表示レジスタ１８に代入されると共に、入力項番号表示レジスタ１９と総入力項表示レジスタ２０の値、「３」、「３」がそれぞれ直接１増加され、それぞれ、「４」、「４」となる。これらが表示駆動回路１３によって液晶表示部１に表示される。（図７のステップＳ１→Ｓ２→Ｓ４→Ｓ６→Ｓ７→Ｓ８→Ｓ９→Ｓ１０→Ｓ１１）
次に、図６の（ｖ）に示すように、「＋」と入力すると、図８の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、初期状態フラグＳが１でないとの判断、数字キー禁止フラグＲが１でないとの判断、演算キー押後フラグＡが１でないとの判断を経て、演算キー押後フラグＡが１に反転されると共に新数字入力フラグＮが１に設定される。次に、現在、直後演算子レジスタ２６に入っていた「×」が直前演算子レジスタ２５に代入され、この直後演算子レジスタ２６には今回入力された「＋」が代入される。次に、入力項カウンタ２４の値が１増加され「４」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ１８の値（「５」）と直前演算子レジスタ２５の値（「×」）が、四番目の入力項として、アドレスポインタの値Ｐ4で指定される入力履歴記憶メモリ３０の記憶位置に記憶される。また、次の入力履歴記憶処理に備えてアドレスポインタ２７に次の記憶領域を示すＰ5が代入される。また、直前演算子レジスタ２５の値（この場合「×」）によって、答えレジスタ２３の値「１８」との間で演算「１８×５」が行われ、その結果「９０」がまた新たに答えレジスタ２３に代入されるとともに、数値表示レジスタ１８にも代入され、入力項番号表示レジスタ１９の値「４」と、入力項カウンタ２４の値「４」が代入された総入力項表示レジスタ２０の値「４」など、これら各表示レジスタの値が表示駆動回路１３により液晶表示部１に表示される。なお、この際、右演算子表示部６に表示されるのは、直前演算子レジスタ２５の「×」ではなく、今回押し下げられた「＋」であることは、普通の電卓と同じである。（図８のステップＳ１７→Ｓ１８→Ｓ２２→Ｓ２４→Ｓ２６→Ｓ２７→Ｓ２８→Ｓ２９→Ｓ３０→Ｓ３１→Ｓ２１）
次に、これもまた、本発明の卓上加減乗除計算機の重要な特徴である、入力履歴表示モードに移行すると共にユーザーが表示することを所望する任意の入力項を表示する動作とその効用について、例に即して説明する。本発明の卓上加減乗除計算機は、通常電卓モードにおける計算の途中の任意の時点においてモード切替キーを押し下げすること以外に、前キー、又は、次キー、又は、移動キーを押下することによっても動作モードフラグＦに１をセットし入力履歴表示モードに移行することが出来ると同時に、ユーザーが表示することを所望する任意の入力項を直ちに表示することが出来る。この場合、前キーが押し下げた場合にはすぐ直前に入力したばかりの最終に記憶された入力項を表示することが出来、また、次キーが押し下げた場合には再計算キーの場合と同様に最初に入力され記憶された先頭の入力項を表示することが出来、また、移動キーが押し下げた場合は、移動キーが押し下げられた時に数値表示部５に表示されている数値をユーザーが表示することを所望する入力項番号であるとして判断し、当該入力項番号の入力項を表示することが出来る。この内、モード切替キーの場合と同様に最初に入力した先頭の入力項を表示する次キーを押し下げた場合の動作に関しては、モード切替キーを押し下げた場合と全く同じ動作なので詳細な説明は省略し、前キーと移動キーを押し下げた場合について、例に即して説明する。
図６の（ｖ）に示すような「＋」キーを押し下げたばかりのような通常電卓モードにおける計算の途中で、図６の（ｗ）に示すように、前キーを押下すると、図１２の前キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断を経て、動作モードフラグＦが１に反転され「履歴表示モード」の表示が点灯され、入力履歴表示モードに移行すると共に、入力履歴修正のための数値が入力できるよう新数字入力フラグＮに１がセットされた後、数字キー禁止フラグＲが０にセットされると共に「加減乗除キーで再開」の表示が消灯される。次に、アドレスポインタ２７に記憶された最終の入力項位置を示す値が設定され、これによって指定される入力履歴記憶メモリ３０の最終の入力項の記憶位置から記憶された最終の入力項の数値及び演算子の入力履歴読出処理が行われ、読み出された数値及び演算子（この場合、四番目の入力項である「×５」を構成する「×」と「５」）がそれぞれ、左演算子表示レジスタ２２、数値表示レジスタ１８に代入され、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号「４」が入力項番号表示レジスタ１９に、また、入力項カウンタ２４の値「４」が総入力項数表示レジスタ２０に、それぞれ代入され、これらが表示駆動回路１３によって液晶表示部１に表示される。なお、この入力履歴表示モードにおいては、演算子は左演算子表示レジスタ２２に代入されることにより、左演算子表示部７に表示される。（図１２のステップＳ８１→Ｓ８２→Ｓ８３→Ｓ８４→Ｓ８５→Ｓ８６→Ｓ８７）また、この入力履歴表示モード移行後の状態において、更に、前キーでその前の入力項を順次表示出来ること、その他、次キーや移動キーで自由に表示する入力項を移動できること、置換キーで記憶された演算子又は数値を修正出来ることなどが自由に行えることは、モード切替キーで入力履歴表示モードに移行した場合と同じである。
この前キーを押し下げすることによって、入力履歴表示モードに移行すると同時にすぐ直前に入力した入力項を表示する機能は、通常電卓モードに復帰するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算の途中の任意の時点で直前に入力した数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の計算作業を飛躍的に着実で苦労の少ないものとすることが出来るといった大きな効能を持っている。
また、やはり、図６の（ｖ）に示すような通常電卓モードの状態で、図６の（ｘ）に示すように、移動先として所望する入力項番号（ここでは二番目の入力項を表示することを所望すると仮定して「２」とする。）を入力してこれを数値表示部５に表示させた後、図６の（ｙ）に示すように、移動キーを押し下げると、図１４の移動キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断を経て、動作モードフラグＦが１に反転されるとともに「履歴表示モード」の表示が点灯され、入力履歴表示モードに移行すると共に、入力履歴修正のための数値が入力できるよう新数字入力フラグＮに１がセットされた後、数字キー禁止フラグＲが０にセットされると共に「加減乗除キーで再開」の表示が消灯される。次に、アドレスポインタ２７に指定された入力項の記憶位置を示すアドレス値が設定され、これによって指定される入力履歴記憶メモリ３０の記憶位置から指定された入力項の数値及び演算子の入力履歴読出処理が行われ、読み出された数値及び演算子（この場合、二番目の入力項である「÷２」を構成する「÷」と「２」）がそれぞれ、左演算子表示レジスタ２２、数値表示レジスタ１８に代入され、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号「２」が入力項番号表示レジスタ１９に、また、入力項カウンタの値「４」が総入力項数表示レジスタ２０に、それぞれ代入され、これらが表示駆動回路１３によって液晶表示部１に表示される。なお、この入力履歴表示モードにおいては、演算子は左演算子表示レジスタ２２に代入されることにより、左演算子表示部７に表示される。（図１４のステップＳ９８→Ｓ９９→Ｓ１００→Ｓ１０１→Ｓ１０２→Ｓ１０３→Ｓ１０４→Ｓ１０５）また、この入力履歴表示モード移行後の状態において、更に、前キー、次キーで自由に表示する入力項を移動できること、置換キーで記憶された演算子又は数値を修正出来ることなどが自由に行えることは、モード切替キーで入力履歴表示モードに移行した場合と同じである。
この移動キーを押し下げすることによって、入力履歴表示モードに移行すると同時に、指定された入力項番号の入力項を表示する機能は、通常電卓モードに復帰するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算終了後において誤入力があったと思われる付近の数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の計算作業を飛躍的に着実で苦労の少ないものとすることが出来るといった大きな効能を持っている。
また、移動キーは、入力履歴表示モードにおいても、動作モードとそのモード表示を変更することと数字キー入力禁止を解除することをのぞいて、通常電卓モードの状態で押し下げられたのと同じ動作をし、数値表示部５に表示させた数値を所望される移動先として指定された入力項番号とみなし、当該指定された入力項の数値及び演算子を表示する動作を行う。
次に、これもまた、本発明の卓上加減乗除計算機の特徴である挿入キー、削除キーの動作について、例に即して説明する。
図６の（ｙ）に示すような入力履歴表示モードで任意の入力項（ここでは、修正された二番目の入力項である「÷２」）が表示されている状態で、図６の（ｚ１）に示すように、挿入キーを押し下げると、図１５の挿入キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないとの判断を経た後、現在のアドレスポインタ２７のアドレスをアドレス待避レジスタ２８に待避した後、このアドレスポインタ２７に最終入力項位置のアドレスを代入し、このアドレスによって指定される位置の入力項を読み出す処理を行う。続けて、アドレスポインタ２７（値、Ｐn）にＰn+1を代入し、また、入力項を同時に記憶する方法による場合は、読み出した入力項番号を１増加した後、Ｐn+1により指定される隣の領域にこの入力項データーを書き込む処理を行う。続いて、アドレスポインタ２７（値、Ｐn）にＰn-2を代入して、次の入力項の移動に備える。ここで挿入した最初の入力項位置であるかどうかを判断する。最初の入力項位置に至るまで、上記の処理（ステップＳ１１６からステップＳ１１９）を繰り返し、順次、入力項データーを隣りの領域に移動する。最初の入力項位置に至った場合は、この挿入位置の初期値の演算子及び数値としてそれぞれ「０」、「＋」を代入し、又、入力項数を数えるレジスタである入力項カウンタ２４の値を１増加した後、この新たに挿入された入力項の演算子及び数値「＋０」を入力項番号と総入力項数と共に表示する。（この際、演算子は左演算子表示部７に表示する。）以上の動作の結果、二番目の入力項「÷２」、三番目の入力項「−９」、四番目の入力項「×５」は、それぞれ、三番目の入力項「÷２」、四番目の入力項「−９」、五番目の入力項「×５」とされ、二番目の入力項には「＋０」が初期値として挿入され、これが、入力項番号表示レジスタ１９の値「２」と、１増加された入力項カウンタ２４の値が代入された総入力項数表示レジスタ２０の値「５」と共に、表示駆動回路１３によって液晶表示部１に表示される。（図１５のステップＳ１１３→Ｓ１１５→Ｓ１１６→Ｓ１１７→Ｓ１１８→Ｓ１１９→Ｓ１２０→Ｓ１２１→Ｓ１２２→Ｓ１２３）
この挿入後の初期値「＋０」は、置換キーによって、ユーザーが挿入することを所望する任意の数値及び演算子に変更できるが、この動作に関しては、図６の（ｏ）、（ｐ）、（ｑ）の置換キーのところで説明したのと同じであるので省略する。
次に、削除キーを押し下げた場合の動作について説明する。
図６の（ｚ１）に示すようにユーザーが削除することを所望する入力項（ここでは、挿入されたばかりの二番目の入力項である「＋０」が削除したい入力項と仮定する。）が表示されている状態で、図６の（ｚ２）に示すように、削除キーを押し下げると、図１６の削除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０でないとの判断を経た後、現在のアドレスポインタ２７のアドレスをアドレス待避レジスタ２８に待避した後、このアドレスポインタ２７（値、Ｐn）にＰn+1を代入し、このアドレスによって指定される位置の入力項を読み出す処理を行う。続けて、入力項を同時に記憶する方法による場合は読み出した入力項番号を１減算した後、アドレスポインタ２７（値、Ｐn）にＰn-1を代入して指定される隣の領域にこの入力項を書き込む処理により、記憶された入力項の内容を移動する作業を行う。続いて、次の入力項の移動に備えてアドレスポインタ２７（値、Ｐn）にＰn+1を代入。最終の入力項位置であるかどうかを判断する。最終の入力項位置に至るまで、上記の処理（ステップＳ１２７からステップＳ１３１）を繰り返し、最終の入力項位置に至った場合は、入力項数を数えるレジスタである入力項カウンタ２４の値を１減算すると共に最終入力項位置の入力項データーの記憶をクリアし、アドレス待避レジスタ２８のアドレスをアドレスポインタ２７に戻した後、この位置、つまり削除された次の入力項の記憶数値及び記憶演算子を読み出し処理を行い、これを入力項番号と総入力項数と共に表示する。以上の動作の結果、三番目の入力項「÷２」、四番目の入力項「−９」、五番目の入力項「×５」は、それぞれ、二番目の入力項「÷２」、三番目の入力項「−９」、四番目の入力項「×５」とされ、元の二番目の入力項「＋０」は削除される。また、新しい二番目の入力項の「÷２」が、入力項番号表示レジスタ１９の値「２」と１減少された入力項カウンタ２４の値が代入された総入力項数表示レジスタ２０の値「４」と共に表示される。（図１６のステップＳ１２４→Ｓ１２６→Ｓ１２７→Ｓ１２８→Ｓ１２９→Ｓ１３０→Ｓ１３１→Ｓ１３２→Ｓ１３３→Ｓ１３４→Ｓ１３５）
なお、最後に、図５の（ｂ）の説明においては、電源投入後の初期状態、又は、ＡＣキーによる各種の初期化後の初期状態において、数字キーの押し下げから計算を開始する場合に「＋」が先頭の入力項の数値の前に置かれる最初の演算子とされる動作の例について説明したが、同様の、電源投入後の初期状態、又は、ＡＣキーによる各種の初期化後の初期状態において、加減乗除キーの押し下げから計算を開始し、当該押し下げられた加減乗除の演算子を先頭の入力項の数値の前に置かれる最初の演算子とする動作の例についても触れておく。
図５の（ａ）に示すような電源投入後の初期状態、又は、ＡＣキーによる各種の初期化後の初期状態で、まず最初に図６の（ｂ´）に示すように「−」キーを押し下げると、図８の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグＦが０であるとの判断、初期状態フラグＳが１であるとの判断を経た後、初期状態フラグＳが０に反転されるとともに演算キー押後フラグＡに１が設定され、今回入力された「−」が直後演算子レジスタ２６に代入されると共に右演算子表示部６に表示されるのみの動作が行われる。これにより、次に数値と更にそれに続く演算子が入力された場合は、この「−」が直前演算子レジスタ２５に移され、これに応じた演算が答えレジスタ２３の初期値「０」との間でなされると共に、この「−」が先頭の入力項の数値の前に置かれる最初の演算子として入力履歴記憶領域３０に記憶されることとなる。（図８のステップＳ１７→Ｓ１８→Ｓ１９→Ｓ２０→Ｓ２１）
【０００８】
【発明の作用と効果】
本発明は、上記のような手段により、計算作業を行う人の苦労を軽減することに資する。
以下に、主な効果を箇条書きにする。
・前キー、次キー、移動キーなどの自由度の高い入力履歴の参照手段により、入力履歴を入力順方向、逆入力順方向のどちらの順序方向にも順次表示でき、また、指定した任意の入力項番号の入力履歴も表示できるので、前キー、次キー、移動キーなどの必要最低限の打鍵で直接入力した内容を視覚的に確認できるため、入力内容の正誤の確認、検算作業が従来の卓上加減乗除計算機と比較して非常に容易である。
・また、上記の、前キー又は次キー、あるいは移動キーの操作において、表示中の入力項より前の当該入力項又は次の当該入力項、あるいは指定された任意の当該入力項が存在しない場合に、そのことを知らせる報音手段及び報音代替表示手段を持つため、最終の入力項、先頭の入力項に至ったこと、指定された入力項番号の入力履歴が存在しないことなどを確実に知ることが出来る。
・しかも、その入力履歴の表示の際は、これを入力項番号と総入力項数の二つの表示と共に表示するため、表示中の入力項の「先頭の入力項からの入力順における絶対的位置」と、「全体の入力項の中における相対的位置」の二つの位置把握により、表示中の入力項の位置把握を容易かつ有意義なものにし、入力内容の正誤の検証に大きく役立てることが出来る。これは、例えば、計算する数値の数が５０個あり、その数値に番号が振ってあるような事務計算を行う場合（このような計算は事務上多く発生する。）などに大きく役に立つ。例えば、５０個の数値の内、１つの数値を飛ばして計算を終了してしまった場合などは、計算終了後に総入力項数表示部の表示が４９となっているので、数値を１つ飛ばして入力した旨がすぐにわかり、また、入力履歴を入力順方向又は逆入力順方向に入力項番号と数値を対照しながら遡り表示させることで、容易に飛ばして入力してしまった数値とその位置を発見することが出来る。
・また、入力履歴の修正として、入力項の挿入、削除が出来るので、上記のように、数値を一つ飛ばして入力した場合の挿入による修正、あるいは、数値を二重に入力した場合の削除による修正なども対処でき、これら修正後の入力履歴が正しいことは、総入力項数が数値の個数と一致することを確認することと、更に、入力履歴を入力順方向又は逆入力順方向に入力項番号と数値を対照しながら遡り表示させることで、まさに、入力履歴の内容が所望される計算内容と全く同じことを実施に確認することが可能である。
・また、入力した数値が違っていた場合も、正しい数値の入力と置換キーの押し下げにより容易に出来、この正しい数値に正しく修正がなされたことも、この修正された入力履歴の前後の入力項を入力項番号と数値を対照しながら表示させることで、容易且つ確実に確認できる。
・また、上記のように入力履歴を表示確認し、又は、必要に応じてこれを修正した後、モード切替キーにより通常電卓モードに復帰する際に、自動的に、入力履歴記憶メモリに記憶された入力履歴を自動的に入力項ごとに順次先頭から呼び出して再計算し、その再計算結果を表示する手段により、まさに、モード切替キーの１打鍵のみで、確認・修正された正しい入力履歴の再計算結果を得ることが出来る。
・また、上記の再計算終了後と、イコールキーによる計算の終了後に、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性をとれない入力を禁じる手段」と「その入力禁止を解除し、既に記憶された入力履歴と演算子と数値が交互に現れる整合性を保ちながら、計算及び入力履歴の記憶を再開する手段」を持つことにより、計算の途中又は計算の終了後に入力履歴を表示した場合も、通常電卓モードに移行する際に自動的に行われる再計算結果表示に続けて、「既に記憶された入力履歴とこれから入力する数値をつなぐ演算子」として所望する演算子キーを押し下げすることにより、残りの計算作業及びその入力履歴記憶作業を続行することが出来る。
・また、上記の、「既に記憶された入力履歴と演算子と数値が交互に現れる整合性をとれない入力を禁じたことと、その入力禁止を解除して計算を再開する方法を知らせる表示手段」を持つことにより、ユーザーは容易に「この入力が禁じられたこと」、そして、「計算の再開方法（加減乗除キーのいずれかを押すことによる。）」を知ることが出来る。
・また、計算の途中で直前の数回に入力した入力内容の誤りの可能性を感じることも非常にしばしばあることであるが、前キーを押下することによって入力履歴表示モードに移行すると同時にすぐ直前に入力した入力項を表示する機能は、通常電卓モードに移行するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算の途中の任意の時点で直前に入力した数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の計算作業を飛躍的に着実で苦労の少ないものとすることが出来るといった大きな効能を持っている。
・また、計算がすべて終了した後に、計算の途中の部分での入力の誤りがあったのではないかと感じることも非常にしばしばあることであるが、大量の計算においても、移動キーを押下することによって入力履歴表示モードに移行すると同時に指定された入力項を表示する機能は、通常電卓モードに移行するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算が全て終了した後においても入力の誤りが発生したと心配される入力項番号の入力項付近の数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の検算作業を飛躍的に容易で苦労の少ないものとすることが出来るといった大きな効能を持っている。
・また、本発明の卓上加減乗除計算機は、通常電卓モードにおいては、数値の右にその数値の直後に置かれる演算子を表示し、入力履歴表示モードにおいては、数値の左にその数値の直前に置かれる演算子を表示することにより、非常な見やすさと分かりやすさを提供している。
・また、電源投入後の初期状態、あるいは、ＡＣキー押し下げによる入力履歴クリア後の初期状態において、最初に数字キーが押し下げられた時には「＋」を先頭の入力項の数値の前に置かれる最初の演算子とし最初に加減乗除の演算子キーが押し下げられた時には当該押し下げられた演算子を先頭の入力項の数値の前に置かれる最初の演算子として入力履歴を記憶する手段は、先頭の入力項の数値の前に置かれる最初の演算子を意識することなく数字キーでも計算を開始出来ると共に、先頭の入力項の数値の前に置かれる最初の演算子を意識して、例えば、先頭の入力項の数値の前に置かれる最初の演算子を「−」として演算を開始することをも可能にする、柔軟性ある計算の開始方法を提供する。
【図面の簡単な説明】
【図１】本発明の卓上加減乗除計算機の実施例の外観図である。
【図２】本発明の卓上加減乗除計算機の実施例の電子回路の構成を示すブロック図である。
【図３】本発明の卓上加減乗除計算機の実施例（入力項番号を共に記憶する場合）のＲＡＭにおけるレジスタ、及び、フラグの構成を示す図である。
【図４】本発明の卓上加減乗除計算機の実施例（入力項番号は記憶せず、アドレスから逆算して入力項番号を得る場合）のＲＡＭにおけるレジスタ、及び、フラグの構成を示す図である。
【図５】本発明の卓上加減乗除計算機の実施例の、通常電卓モードにおける計算と、入力履歴表示モードにおける、入力履歴表示・修正の処理、再計算処理、数字キー入力禁止処理、及び、その禁止解除による計算及び入力履歴記憶の再開処理、等に伴うキー操作と、その操作後になされる表示動作、及び、当該キーが押された後における重要なフラグと直前演算子レジスタ、直後演算子レジスタの状態を示す図である。
【図６】上記の図５の続きの図である。
【図７】本発明の実施例の、数字キーを押し下げた場合の処理を示すフローチャートである。
【図８】本発明の実施例の、加減乗除キーを押し下げた場合の処理を示すフローチャートである。
【図９】本発明の実施例の、イコールキーを押し下げた場合の処理を示すフローチャートである。
【図１０】本発明の実施例の、モード切替キーを押し下げた場合の処理を示すフローチャートである。
【図１１】本発明の実施例の、次キーを押し下げた場合の処理を示すフローチャートである。
【図１２】本発明の実施例の、前キーを押し下げた場合の処理を示すフローチャートである。
【図１３】本発明の実施例の、置換キーを押し下げた場合の処理を示すフローチャートである。
【図１４】本発明の実施例の、移動キーを押し下げた場合の処理を示すフローチャートである。
【図１５】本発明の実施例の、挿入キーを押し下げた場合の処理を示すフローチャートである。
【図１６】本発明の実施例の、削除キーを押し下げた場合の処理を示すフローチャートである。
【図１７】本発明の実施例の、ＡＣキーを押し下げた場合の処理を示すフローチャートである。
【符号の説明】
１…液晶表示部、２…モード表示部、３…入力項番号表示部、４…総入力項数表示部、５…数値表示部、６…右演算子表示部、７…左演算子表示部、８…メッセージ表示部、９…報音代替表示部、１０…ＣＰＵ、１１…ＲＯＭ、１２…キー入力部、１２ａ…モード切替キー、１２ｂ…ＡＣキー、１２ｃ…前キー、１２ｄ…次キー、１２ｅ…置換キー、１２ｆ…移動キー、１２ｇ…挿入キー、１２ｈ…削除キー、１２ｉ…「＋」キー、１２ｊ…「−」キー、１２ｋ…「×」キー、１２ｌ…「÷」キー、１２ｍ…「＝」キー、１２ｎ…数字キー、１３…表示駆動回路、１４…表示部、１５…増幅回路、１６…スピーカー、１７…ＲＡＭ、１８…数値表示レジスタ、１９…入力項番号表示レジスタ、２０…総入力項数表示レジスタ、２１…右演算子表示レジスタ、２２…左演算子表示レジスタ、２３…答えレジスタ、２４…入力項カウンタ、２５…直前演算子表示レジスタ、２６…直後演算子表示レジスタ、Ｆ…動作モードフラグ、Ｒ…数字キー禁止フラグ、Ｓ…初期状態フラグ、Ａ…演算キー押後フラグ、Ｎ…新数字入力フラグ、２７…アドレスポインタ、２８…アドレス待避レジスタ、２９…挿入削除用一時記憶レジスタ、３０…入力履歴記憶メモリ、３０ａ…置数記憶メモリ、３０ｂ…演算子記憶メモリ、３０ｃ…入力項番号記憶メモリ。
【図１】
0003637520.tif 000002
【図２】
0003637520.tif 000003
【図３】
0003637520.tif 000004
【図４】
0003637520.tif 000005
【図５】
0003637520.tif 000006
【図６】
0003637520.tif 000007
【図７】
0003637520.tif 000008
【図８】
0003637520.tif 000009
【図９】
0003637520.tif 000010
【図１０】
0003637520.tif 000011
【図１１】
0003637520.tif 000012
【図１２】
0003637520.tif 000013
【図１３】
0003637520.tif 000014
【図１４】
0003637520.tif 000015
【図１５】
0003637520.tif 000016
【図１６】
0003637520.tif 000017
【図１７】
0003637520.tif 000018