JP3637520B2 - 容易な検算及び着実な計算作業の出来る卓上加減乗除計算機 - Google Patents
容易な検算及び着実な計算作業の出来る卓上加減乗除計算機 Download PDFInfo
- Publication number
- JP3637520B2 JP3637520B2 JP22702897A JP22702897A JP3637520B2 JP 3637520 B2 JP3637520 B2 JP 3637520B2 JP 22702897 A JP22702897 A JP 22702897A JP 22702897 A JP22702897 A JP 22702897A JP 3637520 B2 JP3637520 B2 JP 3637520B2
- Authority
- JP
- Japan
- Prior art keywords
- input
- operator
- key
- display
- term
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/02—Digital computers in general; Data processing equipment in general manually operated with input through keyboard and computation using a built-in program, e.g. pocket calculators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Calculators And Similar Devices (AREA)
Description
【発明の属する技術分野】
本発明は、通常電卓モードにおける計算の際に入力される数値及び演算子を入力履歴記憶メモリに記憶し、入力履歴表示モードにおいてこの記憶された数値及び演算子を入力項番号と総入力項数と一緒に表示確認可能にすると共に、これを数値及び演算子の置換や削除や挿入などにより修正可能にし、さらに、この記憶された入力履歴を自動的に先頭から呼び出して再計算する手段、更に、演算子と数値が交互に現れる整合性を維持出来ない入力を禁じる手段と、その禁止を解いて計算を再開する手段を持つことによって、一度計算を行えば入力内容の確認修正作業が必要最低限の打鍵で可能であると共に、自動的に行われる再計算により容易に正しい答えが取得可能で、又、計算途中でも直前の入力内容を振り返って確認修正し、再び元の計算に復帰して計算を再開する作業を反復出来る、操作性の良い卓上加減乗除計算機に関するものである。
【0002】
【従来の技術と発明が解決しようとする課題】
従来の卓上加減乗除計算機は、検算作業を行うために最低二回、同じ打鍵をしなければ誤入力を発見出来なかった。
また、従来の卓上加減乗除計算機は、途中で誤入力の恐れが発生したと感じられることがあっても、それを計算の途中で直ちに振り返って確認し、必要ならこれを修正した後、再び、元の計算に復帰して計算を継続する有効な術がなかった。
【0003】
【課題を解決するための手段】
この課題を解決するため、本発明では、通常電卓モードにおいて計算を行う際に入力される数値及び演算子を各入力項毎に入力履歴記憶メモリに記憶し、入力履歴表示モードにおいてこの記憶された数値及び演算子を入力項毎に、入力項番号と総入力項数と一緒に、入力順方向、逆入力順方向のどちらの順序方向にも、1打鍵で自由に表示して確認出来るようにすると共に、この記憶された入力履歴を数値及び演算子の置換や削除や挿入などにより修正可能にし、さらに、この入力履歴記憶メモリに記憶された数値及び演算子を自動的に先頭から順次呼び出して再計算し、その再計算結果を表示する手段を持つことにより、一度計算をおこなえばその入力履歴の確認・変更作業を必要最低限の打鍵のみで行うことが出来、自動的に行われる再計算により容易に正しい答えを得ることの出来る卓上加減乗除計算機を実現する。
また、本発明は、入力履歴表示モードに移ると同時に、直前に入力した最終入力項(つまり、計算の途中において直前に入力し終えたばかりの数値及び演算子)、あるいは、指定された入力項番号の入力項を表示し、必要ならこれを修正する手段と、これらを確認・修正した後、元の計算に復帰して、計算及びその記憶を再開する手段により、計算の途中で誤入力の恐れが発生したと感じられる個所の確認・修正をした後も、再び元の計算に復帰して計算を再開し、あるいは、同様の「確認・修正作業、及び、その後の計算再開作業」を自由に何回でも反復することを可能にし、確実な加減乗除計算を行う術を提供する。
【0004】
【発明の実施例】
以下、本発明の実施例に基づき図面を参照して説明する。
まず、本発明の外観から説明するのが最も本発明の内容を理解するのに便利であろうと思われるので、外観から説明する。
図1は本発明の実施例の卓上加減乗除計算機の外観図である。
まず、本発明の実施例の卓上加減乗除計算機を特徴づけているのが、後で詳説する各キーに対応するキー入力部の各ボタンである。「モード切替キー(再計算キーを兼ねる。)」、「前キー」、「次キー」、「移動キー」、「挿入キー」、「削除キー」、「置換キー」の各キーに対応する各ボタンなどがそれである。これらの各キーはシフトキーなどの機能キーとの組合せにより通常の電卓が有する他のボタンなどと兼用することも可能であるが、本実施例では外観からも機能面の特徴をわかりやすくするために独立のボタンを配している。これらの各キーの動作については、後程、各キーを押した場合のサブルーチンに関する説明の箇所と実際の入力に伴う動作例の説明の箇所で詳しく詳説するので、ここでは、これらのボタンがあることを特徴として概観いただくにとどめるのが、最も順番として理解しやすいと思われる。
そこで、まず、第一に、本発明の卓上加減乗除計算機の実施例の液晶表示部の各表示部について説明する。
液晶表示部1には、「モード表示部2」、「入力項番号表示部3」、「総入力項数表示部4」、「メッセージ表示部8」、「報音代替表示部9」、「右演算子表示部6」、「左演算子表示部7」、「数値表示部5」が配置されている。以下、これら液晶表示部の各表示部について簡単に説明する。
・モード表示部2
本発明の特徴である二つの動作モードを表示する部分である。動作モードフラグの値に従い、「通常電卓モード」、又は、「履歴表示モード」と表示する。この表示により、現在の動作モードを判別することが出来る。
・入力項番号表示部3
現在、表示中、または、入力中の数値の入力項番号を表示する部分である。本発明の卓上加減乗除計算機は、演算子と数値を一組の入力項として、通常電卓モードにおける計算の際の記憶処理を行い、また、入力履歴表示モードにおける入力履歴読出処理、及び、表示処理を行う。この表示により、現在、表示中、または、入力中の数値が、最初から数えて何番目の入力項に当たるかが判別できる。
・総入力項数表示部4
現在、入力履歴記憶メモリに記憶されている入力項の総数を表示する部分である。この表示により、現在、記憶されている入力項の総数を判別できる。
・メッセージ表示部8
「再計算中」、「加減乗除キーで再開」などのメッセージを表示する部分である。「再計算中」の表示は再計算が行われている間のみ点灯し、再計算が終わると消灯することにより、入力履歴の再計算が行われていることを知らせる。また、「加減乗除キーで再開」の表示は、再計算直後、及び、通常電卓モードにおいてイコールキーが押し下げられた直後に、数字キー禁止フラグが1に設定されるのと同時に点灯し、加減乗除キーの押し下げ、または、入力履歴表示モードへの移行の際に、数字キー禁止フラグが0に設定されるのと同時に消灯する。この「加減乗除キーで再開」の表示により、ユーザーは、数字キーの入力が禁止され、加減乗除キーの押し下げによって、計算が再開出来ることを知ることが出来る。
・報音代替表示部9
増幅回路とスピーカーを通しての報音による知らせがなされたことを視覚的にも表示して知らせる部分である。押されたキーが無効であることを主に知らせる警告音である「ピッ」に対応する「♪」マークを表示する部分と、入力履歴の修正のための数値又は演算子の置換処理が行われたことを知らせる「ピッ、ピッ」に対応する「OK」マークを表示する部分からなる。
・右演算子表示部6
通常電卓モードで使用される演算子の表示部であり、数値表示部5の右に位置するため、通常電卓モードで数値の直後に置かれる演算子を表示するのに適している。
・左演算子表示部7
入力履歴表示モードで使用される演算子の表示部であり、数値表示部5の左に位置するため、入力履歴表示モードで数値の直前に置かれる演算子を表示するのに適している。なお、後述する実施例では、この左演算子表示部を数値表示部5の左の固定された位置に配しているが、この左演算子表示部は数値表示部5の表示された数値のすぐ左の桁を使うことにより可変的な位置にする実施例も考えられる。
・数値表示部5
通常の電卓と同様に数値を表示する働きをする他、移動キーの操作にあたってはこの数値表示部に表示された数値が移動先として指定された入力項番号と見なされる。
【0005】
次に、上記の外観を呈する本発明の内部の構成について説明するのが最も理解しやすいと思われるので、これについて説明する。
図2は本発明の実施例の卓上加減乗除計算機の電子回路の構成を示すブロック図である。本発明の卓上加減乗除計算機は、通常の卓上加減乗除計算機と同様、CPU10を備えている。このCPU10にはキー入力部12からのキー操作信号にしたがって、ROM11にあらかじめ記憶されているシステムプログラムを起動させ、各種の計算処理により回路各部の動作制御をするもので、このCPU10にはこの他、このシステムプログラムの各種の作業領域として使用されるRAM17と、表示駆動回路13を介して表示部14、更に、増幅回路15を介してスピーカ16が接続されている。
まず、本発明の卓上加減乗除計算機の実施例の作業領域となるRAM17を構成する各フラグ及び重要なレジスタの役割について説明するのがわかりやすいと思われるので、簡単に説明しておく。
図3と図4は、本発明の卓上加減乗除計算機の実施例のRAM17におけるレジスタ、及び、フラグの構成を示す図である。(なお、図3は、入力項番号を共に記憶する実施例のRAMを示しており、図4は、入力項番号は記憶せず、アドレスから逆算して入力項番号を得る実施例のRAMを示している。)
本発明の卓上加減乗除計算機には、図3及び図4に示すとおり、「数値表示レジスタ18」、「入力項番号表示レジスタ19」、「総入力項数表示レジスタ20」、「右演算子表示レジスタ21」、「左演算子表示レジスタ22」の各表示用レジスタと、「動作モードフラグF」、「数字キー禁止フラグR」、「初期状態フラグS」、「演算子キー押後フラグA」、「新数字入力フラグN」の各フラグと、「答えレジスタ23」、「入力項カウンタ24」、「直前演算子レジスタ25」、「直後演算子レジスタ26」、「アドレスポインタ27」、「アドレス待避レジスタ28」、「挿入削除用一時記憶レジスタ29」の各作業用レジスタ、そして、入力された入力項を記憶する「入力履歴記憶メモリ30」、を備えている。
以下、これら各フラグ及び重要なレジスタの役割について、最もわかりやすいと思われる順番に説明する。
・動作モードフラグF
本発明の卓上加減乗除計算機は、「通常電卓モード」と「入力履歴表示モード」の二つのモードを持っているが、この動作モードフラグFは、この二つのモードを切り替える働きをするフラグであり、本発明の卓上加減乗除計算機の各キーは、図7〜図16の各キー押し下げ時のフローチャートに示すとおり、この動作モードフラグFが0の時、通常電卓モードとして動作し、このフラグが1の時、入力履歴表示モードとしての動作を行う。
・数字キー禁止フラグR
既に記憶された入力履歴と「演算子、数値、演算子、数値、」といった「演算子と数値が交互に現れる整合性」を保つために、一時的に数字キーの入力を禁じる役目を負うフラグである。再計算の行われた直後と通常電卓モードにおけるイコールキー押し下げの直後に1に設定され、このフラグが1に設定されると数字キーの入力が出来なくなり、この数字キーの入力が禁止された旨は、液晶表示部1のメッセージ表示部8への「加減乗除キーで再開」のメッセージ表示と数字キー押し下げ時の「報音(「ピッ」の発音)及び報音代替表示(「♪」マークの表示」)」により、知ることが出来る。イコールキー以外の加減乗除のキーを押すことにより、この数字キー禁止フラグRに0がセットされ、数字キー入力禁止が解除され、「加減乗除キーで再開」のメッセージが消灯されると共に、この時押された演算子がこれに続いて入力される数値と既に記憶された入力履歴との間をつなぐ演算子として入力されたものと判断され、既に記憶された入力履歴と「演算子、数値、演算子、数値、」といった演算子と数値が交互に現れる整合性を保つものとして、計算処理、及び、記憶処理がなされる。
・初期状態フラグS
電源投入後、あるいはACキー押し下げによる入力履歴クリア後の初期状態において、最初に数字キーが押し下げられた時には「+」を先頭の入力項の数値の前に置かれる演算子とし、最初に加減乗除の演算子キーが押し下げられた時には当該演算子を先頭の入力項の数値の前に置かれる演算子として入力履歴を記憶するため、当該動作をすべき初期状態であるかどうかを判別するためのフラグである。この初期状態フラグSは、電源投入後、あるいはACキー押し下げによる入力履歴クリア後の初期状態において1に設定され、この初期状態フラグSが1の時、数字キー、及び、加減乗除の各キーは、それぞれ、「+」、「各加減乗除の演算子」を先頭の入力項の数値の前に置かれる演算子として、入力履歴を記憶する処理を行い、この処理が行われた直後にこの初期状態フラグSが0に反転され、この動作を行うべき初期状態が解除される。また、イコールキーは、この初期状態フラグSが1の時は報音(「ピッ」の発音)及び報音代替表示(「♪」マークの表示」)を行うのみの動作を行う。
・演算子キー押後フラグA
演算子キーが押された直後であることを知るためのフラグであり、演算子キーが押されると1が設定される。この演算子キー押後フラグAに1が設定されると、演算子キーが押されても演算及び入力項記憶処理を行わず、単に直前に押された演算子を変更するのみの動作をする。これは直前に押された演算子の入力を訂正するためのものであり、数字キーの押し下げなどにより0が設定され解除される。
・新数字入力フラグN
この新数字入力フラグNが1の時、数値キーを押し下げると当該数字を新しい数値の先頭数字であると判断して、数値表示レジスタ18をクリアし、この数字を数値表示レジスタ18に入力する。また、この新数字入力フラグNが0の時、数値キーを押し下げると当該数字が入力中の数値の1の位の数字になる数字と判断して、この数字が数値表示レジスタ18の1の位に追加表示される。この新数字入力フラグNが1の時に数字キーが押し下げられることによりこの新数字入力フラグNが0に反転され、続けて先頭数字以降の数字が入力可能となる。また、演算キーの押し下げ後、及び、表示する入力項の移動後に、再び新しい数字を入力可能にするため、この新数字入力フラグN1が設定される。
・数値表示レジスタ18
ここに設定された値が表示駆動回路13によって数値表示部5に表示される。通常の電卓と同様に数値を表示する働きをする他、移動キーの操作にあたってはこの数値表示レジスタ18に設定された数値が移動先として指定された入力項番号と見なされる。
・総入力項数表示レジスタ20
ここに設定された値が表示駆動回路13によって総入力項数表示部4に表示される。通常電卓モードにおいて新たな数値を入力する際に直接1増加されて入力中の数値を含めた総入力項数を表示する以外では、表示駆動回路13による各表示処理前に、入力項カウンタ24の値が代入されることにより、演算子キーが押されず入力中の数値が記憶されないまま入力履歴表示モードに移行しても、常に、正しい総入力項数を表示する。
・入力項番号表示レジスタ19
ここに設定された値が表示駆動回路13によって入力項番号表示部3に表示される。通常電卓モードにおいて新たな数値を入力する際に直接1増加されて入力中の数値の入力項番号を表示する以外では、表示駆動回路13による各表示処理前に、「数値及び演算子と一緒に入力履歴記憶メモリに記憶された入力項番号」、又は、「当該数値及び演算子が記憶された入力履歴記憶メモリのアドレスから逆算することにより得られた入力項番号」の値が代入されることにより、演算子キーが押されず入力中の数値が記憶されないまま入力履歴表示モードに移行しても、常に、正しい入力項番号を表示する。
・右演算子表示レジスタ21
ここに設定された演算子が表示駆動回路13によって右演算子表示部6に表示される。通常電卓モードにおける表示処理では、演算子はこの右演算子表示レジスタ21に代入されることにより右演算子表示部6に表示される。右演算子表示部6は、数値表示部5の右に位置するため、通常電卓モードにおいて数値の直後に置かれる演算子の表示に適している。
・左演算子表示レジスタ22
ここに設定された演算子が表示駆動回路13によって左演算子表示部7に表示される。入力履歴表示モードにおける表示処理では、演算子はこの左演算子表示レジスタ22に代入されることにより左演算子表示部7に表示される。左演算子表示部7は、数値表示部5の左に位置するため、入力履歴表示モードにおいて数値の直前に置かれる演算子の表示に適している。
・答えレジスタ23
演算子の押し下げにより演算が行われた際は、この答えレジスタ23に演算結果がその都度記憶されて次の演算に備えると共に、この答えレジスタ23の値が数値表示レジスタ18に代入され表示駆動回路13によって数値表示部5に表示される。
・入力項カウンタ24
演算子が押され数値が確定されて入力履歴記憶メモリ30に数値と演算子が記憶される度にこの値が1加算され、実際に入力されて記憶された「数値及び演算子からなる入力項」の数を数え、これを記憶する働きをする。
・直前演算子レジスタ25
処理を行う数値の直前に置かれる演算子が格納される。演算子キーが押される度に、直後演算子レジスタ26に入っていた演算子がこの直前演算子レジスタ25に代入されて移されると共に、各演算処理では、この直前演算子レジスタ25の演算子に応じた演算が行われる。
・直後演算子レジスタ26
処理を行う数値の直後に置かれる演算子が格納される。演算子キーが押される度に、この直後演算子レジスタ26に入っていた演算子が直前演算子レジスタ25に代入されて移されると共に、この直後演算子レジスタ26にはこの時押された演算子が代入され、又、この値が右演算子表示レジスタ21にも代入され表示駆動回路13によって右演算子表示部6に表示される。(演算子キーの押し下げ時、表示されるのはこの直後演算子レジスタ26の演算子であるが、演算は直前演算子レジスタ25の演算子に応じて行われることに注意。これは通常の電卓と同様である。)
・アドレスポインタ27
数値及び演算子からなる入力項を記憶し、又は、呼び出しする入力履歴記憶メモリ30中のアドレス位置を指定するアドレスポインタである。
・アドレス待避レジスタ28
入力項の挿入、及び、削除を行う際に、上記のアドレスポインタ27の値を一時的に待避保存するレジスタである。
・挿入削除用一時記憶レジスタ29
入力項の挿入、及び、削除を行う際に、移動される入力項の数値及び演算子と入力項番号などの値を一時的に記憶するため使用されるレジスタである
・入力履歴記憶メモリ30
入力された数値及び演算子からなる入力項を記憶する領域である。
なお、図3は、入力項番号を一緒に記憶する実施例におけるRAMの構成を示しており、また、図4は入力項番号を記憶せず、入力項番号はアドレスから逆算して得る実施例におけるRAMの構成を示している。
この入力履歴記憶メモリ30は、入力された数値を記憶する「置数記憶メモリ30a」の領域と、入力された演算命令(+、−、×、÷)を記憶する「演算子記憶メモリ30b」の領域と、また、入力項番号を一緒に記憶する実施例においては、各入力項の入力された順番である入力項番号を記憶する「入力項番号記憶メモリ30c」の領域を有する。そして、キー入力部12からの演算のための演算子の入力がなされる毎に、アドレスポインタ27のPn(初期値P1)が順次その次のアドレス指定Pn+1となり、数値データーと、その直前に入力された演算子データーと、また、入力項番号を一緒に記憶する実施例においては入力項番号データーをセットにして、アドレスポインタ27によって指定されているアドレスによって特定される入力履歴記憶メモリ30の領域に順次記憶することになっている。
なお、本実施例は、「数値データーとその直前に入力された演算子を一組として入力履歴記憶メモリ30に記憶する方法」を取って説明しているが、入力履歴記憶メモリ30の領域への記憶の方法には、「数値データーとその直後に入力された演算子を一組として入力履歴記憶メモリ30に記憶する方法」もある。
【0006】
次に、本発明の各キーを押し下げした際の動作について各キー毎に説明する。
本発明のキー入力部12には、図1、または、図2に示すように、「数値キー12n」と「加減乗除(+、−、×、÷)キー12i、12j、12k、12l」と「イコールキー12m」、「ACキー12b」など、通常の卓上加減乗除計算機が有するキーの他、「モード切替キー12a」、「前キー12c」、「次キー12d」、「移動キー12f」、「置換キー12e」、「挿入キー12g」、「削除キー12h」が備えられており、これらの各キーは、「通常電卓モード」と「入力履歴表示モード」でのそれぞれのモードにおいて異なった働きをする。
図7から図17は、本発明の実施例の電卓の各キーの押し下げに伴う処理(サブルーチン)を示したフローチャートである。それぞれ、図17のACキー以外の各図は全て、その最初において「動作モード=0?」の判断を経由することになっており、この判断からは下のYES(つまり、動作モード=0)に分岐する部分が通常電卓モードにおける処理を示し、右のNO(つまり、動作モード=1)に分岐する部分が入力履歴表示モードでの動作を示すわかりやすい図となっている。
以下、最も理解しやすいと思われる順序にしたがって説明する。
・ モード切替キー12a
図10は、本発明の実施例の、モード切替キー12aを押し下げた場合の処理を示すフローチャートである。
(モード切替キー12aの通常電卓モードにおける動作)
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、記憶された先頭の入力項を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0であるとの判断(ステップS50)を経た後、この動作モードフラグFに1を設定して反転し入力履歴表示モードに切り替えると共に、「履歴表示モード」のモード表示を点灯させ(ステップS51)、アドレスポインタ27に入力履歴記憶メモリ30の先頭の入力項のアドレスP1を設定して(ステップS54)、当該P1によって指定される入力履歴記憶メモリ30の先頭領域から入力履歴読出処理を行い(ステップS55)、先頭の入力項の演算子及び数値を入力項番号、総入力項数と共に表示する(ステップS56)。(この際、演算子は左演算子表示部7に表示する。)なお、この間、入力履歴が表示された状態において新しい数字の入力が出来るよう新数字入力フラグNに1を設定する(ステップS52)と共に、数字キー禁止フラグRに0を設定し、「加減乗除キーで再開」の表示を消灯する(ステップS53)。
(モード切替キー12aの入力履歴表示モードにおける動作)
本発明の卓上加減乗除計算機の動作モードを通常電卓モードに切り替えると共に、記憶された入力履歴の再計算を自動的に行い,その再計算結果を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0でないとの判断(ステップS50)を経た後、動作モードフラグFに0を設定して反転し通常電卓モードに切り替えると共に、「通常電卓モード」のモード表示を点灯させ(ステップS57)、また、再計算をする前の準備として答えレジスタ23に初期値0を代入するとともに「再計算中」のメッセージ表示を点灯する(ステップS58)。次に、アドレスポインタ27に入力履歴記憶メモリ30の先頭の入力項のアドレスP1を設定して(ステップS59)、当該アドレスポインタ27によって指定される入力履歴記憶メモリ30の領域から入力履歴読出処理を行い(ステップS60)、読み出した演算子及び数値を入力項番号、総入力項数と共に表示する(ステップS61)。(この際、演算子は左演算子表示部7に表示する。)次に、各数値の左に表示されたこの数値の直前の演算子に応じた計算処理を行い、結果を答えレジスタ23に代入する(ステップS62)。また、次の入力履歴読出処理に備えてアドレスポインタ27(値、Pn)にPn+1を設定する(ステップS63)。次に、処理した入力項が最終の入力項であるか否かの判断を行い(ステップS64)、最終の入力項でなければステップS60からステップS63の処理を繰り返し、その都度、新しい答えを答えレジスタ23に代入する。最終の入力項であれば、「再計算中」の表示を消灯し、答えレジスタ23の値を数値表示レジスタ18に代入して再計算結果の表示処理を行う(ステップS65)。
また、再計算終了直後は、この再計算結果に対して継続して計算をしようとする場合に、既に記憶された入力履歴と新しく継続的に入力される数値をつなぐ演算子が「=」(あるいは、再計算後に「=」を代入しない場合においては、「不定(過去に入力されて残っているだけの意味のない演算子)」)となってしまうため、「数値」と「加減乗除の演算子」が交互に現れる整合性を入力履歴が維持出来なくなってしまう。そのため、数字キー禁止フラグRに1を設定して数字キーの入力を禁じると共に、「加減乗除キーで再開」の表示を点灯し、まず最初に加減乗除キーの入力をすべきことをユーザーに促す(ステップS66)。また、計算の再開に備えて、演算キー押後フラグAと新数字入力フラグNに1を設定する(ステップS67)。
・ 次キー12d
図11は、本発明の実施例の、次キー12dを押し下げた場合の処理を示すフローチャートである。
(次キー12dの通常電卓モードにおける動作)
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、記憶された先頭の入力項を表示する動作を行う。
これは、モード切替キー12aの通常電卓モードにおける動作と全く同じなので、具体的な説明は省略する。
(次キー12dの入力履歴表示モードにおける動作)
次の入力項の数値及び演算子を入力順に、順次、表示する働きをする。最終の入力項に至り、次の入力項が無ければその旨を知らせるのみの動作を行う。
具体的に説明すると、まず、動作モードフラグFが0でないとの判断(ステップS68)を経た後、現在表示中の入力項が最終の入力項であるかどうかを判断し(ステップS75)、最終の入力項であれば、これ以上次の入力項が無い旨を知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの点灯)(ステップS76)を行って終了する。最終の入力項でなければ、アドレスポインタ27(値、Pn)にPn+1を設定し(ステップS78)、当該Pn+1によって指定される入力履歴記憶メモリ30の次の入力項格納位置から入力履歴読出処理を行い(ステップS79)、次の入力項の演算子及び数値を入力項番号、総入力項数と共に表示する(ステップS80)。(この際、演算子は左演算子表示部7に表示する。)なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグNに1を設定する(ステップS77)。
・前キー12c
図12は、本発明の実施例の、前キー12cを押し下げた場合の処理を示すフローチャートである。
(前キー12cの通常電卓モードにおける動作)
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、記憶された最終の入力項(つまり、計算の途中においては、直前に入力し終えたばかりの入力項)の数値及び演算子を表示する動作を行う。計算の途中において、直前に入力した内容が正しいかを振り返ってみる際に有用なキーである。
これは、先頭の入力項ではなく最終の入力項を表示するためにアドレスポインタ27に最終入力項位置を指定するアドレスが代入される(ステップS85)こと以外は、モード切替キー12aの通常電卓モードにおける動作と全く同じなので、具体的な説明は後述する計算例の説明の箇所での説明で代用する。
(前キー12cの入力履歴表示モードにおける動作)
前の入力項の数値及び演算子を、順次、逆入力順に表示する働きをする。先頭の入力項に至り、それ以上前の入力項が無ければその旨を知らせて終了する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0でないとの判断(ステップS81)を経た後、現在表示中の入力項が先頭の入力項であるかどうかを判断し(ステップS88)、先頭の入力項であれば、これ以上前の入力項が無い旨を知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの点灯)(ステップS89)を行って終了する。先頭の入力項でなければ、アドレスポインタ27(値、Pn)にPn-1を設定し(ステップS91)、当該Pn-1によって指定される入力履歴記憶メモリ30の一つ前の入力項格納位置から入力履歴読出処理を行い(ステップS92)、一つ前の入力項の演算子及び数値を入力項番号、総入力項数と共に表示する(ステップS93)。(この際、演算子は左演算子表示部7に表示する。)なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグNに1を設定する(ステップS90)。
・置換キー12e
図13は、本発明の実施例の、置換キー12eを押し下げた場合の処理を示すフローチャートである。
(置換キー12eの通常電卓モードにおける動作)
まず、動作モードフラグFが0であるとの判断(ステップS94)を経た後、入力履歴表示モードではないことを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS95)を行って終了する動作を行う。
(置換キー12eの入力履歴表示モードにおける動作)
まず、動作モードフラグFが0でないとの判断(ステップS94)を経た後、現在のアドレスポインタ27で指定される位置の入力項の演算子・数値の記憶内容を現在の数値表示レジスタ18の数値、左演算子表示レジスタ22の演算子の内容に書き換える置換処理(ステップS96)を行い、置換処理が完了したことを知らせる報音処理(「ピッ、ピッ」の発音)及び報音代替表示処理(「OK」マークの表示)(ステップS97)を行う動作を行う。
・移動キー12f
図14は、本発明の実施例の、移動キー12fを押し下げた場合の処理を示すフローチャートである。
(移動キー12fの通常電卓モードにおける動作)
本発明の卓上加減乗除計算機の動作モードを入力履歴表示モードに切り替えると共に、このキーが押下された時に数値表示部5に表示されている数値表示レジスタ18の値を移動先として指定された入力項番号とみなして、当該指定された入力項番号の演算子及び数値を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0であるとの判断(ステップS98)を経た後、このキーが押下された時に数値表示部5に表示されている数値表示レジスタ18の値を移動先として指定された入力項番号とみなして、当該指定された入力項番号の入力項が存在するかを判断する(ステップS99)。指定された入力項が存在しなければその旨を知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS106)を行って終了する。指定された入力項が存在する場合、動作モードフラグFに1を設定して入力履歴表示モードにすると共に、「履歴表示モード」の表示を点灯させる(ステップS100)。次に、アドレスポインタ27に指定入力項位置を示すアドレスを設定し(ステップS103)、当該アドレスにより指定された入力項の演算子及び数値の読出処理(ステップS104)を行い、その入力項の演算子及び数値を入力項番号、総入力項数と共に表示する(ステップS105)。(この際、演算子は左演算子表示部7に表示する。)なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグNに1を設定(ステップS101)するとともに、数字キー禁止フラグRに0を設定し「加減乗除キーで再開」のメッセージ表示を消灯する(ステップS102)。
(移動キー12fの入力履歴表示モードにおける動作)
このキーが押下された時に数値表示部5に表示されている数値表示レジスタ18の値を移動先として指定された入力項番号とみなして、当該指定された入力項番号の演算子及び数値を表示する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0でないとの判断(ステップS98)を経た後、このキーが押下された時に数値表示部5に表示されている数値表示レジスタ18の値を移動先として指定された入力項番号とみなして、まず、この指定された入力項番号の入力項が存在するかを判断する(ステップS107)。指定された入力項が存在しなければその旨を知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS112)を行って終了する。指定された入力項が存在する場合、次に、アドレスポインタ27に指定入力項位置を示すアドレスを設定し(ステップS109)、当該アドレスにより指定された入力項の演算子及び数値の読出処理(ステップS110)を行い、指定された入力項の演算子及び数値を入力項番号、総入力項数と共に表示する(ステップS111)。なお、この間、この操作により、新しい入力項が表示された状態において、新しい数字の入力が出来るよう、新数字入力フラグNに1を設定する(ステップS108)。
・ 挿入キー12g
図15は、本発明の実施例の、挿入キー12gを押し下げた場合の処理を示すフローチャートである。
(挿入キー12gの通常電卓モードにおける動作)
まず、動作モードフラグFが0であるとの判断(ステップS113)を経た後、入力履歴表示モードではないことを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS114)を行って終了するのみの動作を行う。
(挿入キー12gの入力履歴表示モードにおける動作)
現在表示中の入力項の直前に、初期値が「+0」である新たな入力項を挿入して、これを入力項番号、総入力項数と共に表示する動作をする。
具体的に説明すると、挿入したい入力項の次の入力項が表示されている状態でこの挿入キー12gを押し下げると、まず、動作モードフラグFが0でないとの判断(ステップS113)を経た後、現在のアドレスポインタ27のアドレスをアドレス待避レジスタ28に待避した後、このアドレスポインタ27に記憶された最終入力項位置のアドレスを代入し(ステップS115)、アドレスポインタ27によって指定される位置の入力項を読み出す処理(ステップS116)を行う。続けて、アドレスポインタ27(値、Pn)にPn+1を代入し、また、入力項を同時に記憶する方法による場合は、読み出した入力項番号を1増加した後(ステップS117)、 Pn+1により指定される隣の領域にこの入力項データーを書き込む処理(ステップS118)を行う。続いて、アドレスポインタPnにPn-2を代入(ステップS119)して、次の入力項の移動に備える。ここで挿入した最初の入力項位置であるかどうかを判断(ステップS120)する。最初の入力項位置に至るまで、上記の処理(ステップS116からステップS119)を繰り返し、 順次、入力項データーを隣りの領域に移動する。最初の入力項位置に至った場合は、この挿入位置の初期値の演算子及び数値として、それぞれ、「0」、「+」を代入(ステップS121)し、また、入力項数を数えるレジスタである入力項カウンタ24の値を1増加(ステップS122)し、この挿入された入力項の演算子及び数値「+0」を入力項番号と総入力項数と共に表示(ステップS123)する。(この際、演算子は左演算子表示部7に表示する。)
・ 削除キー12h
図16は、本発明の実施例の、削除キー12hを押し下げた場合の処理を示すフローチャートである。
(削除キー12hの通常電卓モードにおける動作)
まず、動作モードフラグFが0であるとの判断(ステップS124)を経た後、入力履歴表示モードではないことを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS125)を行うのみの動作をする。
(削除キー12hの入力履歴表示モードにおける動作)
現在表示中の入力項を削除するとともに、削除位置よりも後に記憶された入力項データーを順次一つ前に移動して、削除位置の新たな入力項を表示する動作をする。
具体的に説明すると、削除したい入力項が表示されている状態でこの削除キーを押下すると、まず、動作モードフラグFが0でないとの判断(ステップS126)を経た後、現在のアドレスポインタ27のアドレスをアドレス待避レジスタ28に待避(ステップS126)した後、このアドレスポインタ27(値、Pn)にPn+1を代入し(ステップS127)、アドレスポインタ27によって指定される位置の入力項を読み出す処理(ステップS128)を行う。続けて、入力項を同時に記憶する方法による場合は読み出した入力項番号を1減算した後、アドレスポインタ27(値、Pn)にPn-1を代入(ステップS129)して指定される隣の領域にこの入力項を書き込む処理(ステップS130)により、順次、記憶された入力項の内容を移動する作業を行う。続いて、次の入力項の移動に備えてアドレスポインタ27(値、Pn)にPn+1を代入(ステップS131)し、これが最終の入力項位置であるかどうかを判断する(ステップS132)。最終の入力項位置でなければ、上記の処理(ステップS127からステップS131)を繰り返し、最終の入力項位置に至った場合は、入力項数を数えるレジスタである入力項カウンタ24の値を1減算すると共に最終入力項位置の記憶をクリアし(ステップS133)、アドレス待避レジスタ28のアドレスをアドレスポインタ27に戻した後、この位置、つまり削除された次の入力項の記憶数値及び記憶演算子を読み出し処理(ステップS134)を行い、これを入力項番号と総入力項数と共に表示(ステップS135)する。(この際、演算子は左演算子表示部7に表示する。)
・ 数字キー12n
図7は、本発明の実施例の、数字キー12nを押し下げた場合の処理を示すフローチャートである。
(数字キー12nの通常電卓モードにおける動作)
数字キー12nの通常電卓モードにおける動作を簡単にまとめると次のようになる。
数字キー禁止フラグRが1の時は、報音及び報音代替処理のみを行う動作をする。
数字キー禁止フラグRが0の時は、初期状態フラグSが1の時のみ先頭の入力項の数値の前に置かれるものとして記憶される最初の演算子を「+」にした後、新数字入力フラグNが1の時は新たな数値の入力として押された数字を先頭の数字として表示すると共に入力項番号の表示と総入力項数の表示をそれぞれ1増加し、新数字入力フラグNが0の時は入力中の数値の1の位の数字として表示中の数値の右に追加表示する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0であるとの判断(ステップS1)を経た後、数字キー禁止フラグRが1かどうかの判断(ステップS2)をまず行い、数字キー禁止フラグRが1であれば報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS3)を行って終了する。数字キー禁止フラグRが1でなければ、次に初期状態フラグSが1であるかどうかの判断(ステップS4)を行い、初期状態フラグSが1の時のみ初期状態フラグSを0に反転し、直後演算子レジスタ26に「+」を代入した後(ステップS5)、演算キー押後フラグAに0を設定(ステップS6)して演算キーによる新たな演算を可能にした後、新数字入力フラグNが1かどうかの判断(ステップS7)を行い、新数字入力フラグNが1であれば、これが先頭の数字なので、新数字入力フラグNを0に反転してその次に押された数字キーを1の位に追加表示される数字として迎えられるように準備する(ステップS8)。その後、この今回押された数字を新たな数字の先頭の数字として数値表示レジスタ18に代入(ステップS9)し、入力項番号表示レジスタ19、総入力項数表示レジスタ20をそれぞれ1加算する(ステップS10)。新数字入力フラグNが1でなければ、今回入力された数字を1の位の数字として数値表示レジスタ18に追加(ステップS12)し、これを表示(ステップS11)するのみの動作をする。
(数字キー12nの入力履歴表示モードにおける動作)
数字キー12nの入力履歴表示モードにおける動作を簡単にまとめると次のようになる。
新数字入力フラグNが1の時は、新たな数値の入力として押された数字を先頭の数字として表示し、新数字入力フラグNが0の時は、入力中の数値の1の位の数字として表示中の数値の右に追加表示する動作を行う。
具体的に説明すると、まず、動作モードフラグFが0でないとの判断(ステップS1)を経た後、新数字入力フラグNが1かどうかの判断(ステップS13)を行い、新数字入力フラグNが1であれば、これが先頭の数字なので、新数字入力フラグNを0に反転してその次に押された数字キーを1の位に追加表示される数字として迎えられるように準備する(ステップS14)。その後、この今回押された数字を新たな数字の先頭の数字として数値表示レジスタ18に代入(ステップS15)し、新数字入力フラグNが1でなければ、今回入力された数字を1の位の数字として数値表示レジスタ18に追加(ステップS16)し、これを表示(ステップS11)するのみの動作をする。
・ 加減乗除キー(「+」キー…12i、「−」キー…12j、「×」キー…12k、「÷」キー…12l)
図8は、本発明の実施例の、加減乗除キーを押し下げた場合の処理を示すフローチャートである。
(加減乗除キーの通常電卓モードにおける動作)
加減乗除キーの通常電卓モードにおける動作を簡単にまとめると次のようになる。
初期状態フラグS、数字キー禁止フラグR、演算キー押後フラグAのいずれもが1でない時は、通常の電卓と同じ演算処理を行いその結果を表示すると共に、演算子と数値を一組の入力項として、入力履歴記憶メモリ30に記憶する動作をする。
初期状態フラグSが1の時は、押された加減乗除の演算子のいずれかを、「先頭の入力項の数値の前に置かれて記憶される最初の演算子」として、直後演算子レジスタ26に代入する。
数字キー禁止フラグRが1の時は、押された加減乗除の演算子のいずれかを、「既に記憶された入力履歴と計算を続行することによって新たに記憶される入力履歴とをつなぐ演算子」として、直後演算子レジスタ26に代入する。
演算キー押後フラグAが1の時は、押された加減乗除の演算子のいずれかを、「その直前に押された演算子を修正するために入力された正しい演算子」として、直後演算子レジスタ26に代入する。
具体的に説明すると、まず、動作モードフラグFが0であるとの判断(ステップS17)を経た後、初期状態フラグSが1であるかどうかの判断(ステップS18)を行い、初期状態フラグSが1であれば、初期状態フラグSに0を代入して反転し初期状態を解除するとともに、演算キー押後フラグAに1を代入(ステップS19)した後、今回押された加減乗除の演算子のいずれかを、「先頭の入力項の数値の前に置かれて記憶される最初の演算子」として直後演算子レジスタ26に代入(ステップS20)し、これを右演算子表示部6に表示(ステップS21)して終了する動作を行う。
初期状態フラグSが1でなければ、次に数字キー禁止フラグRが1かどうかの判断(ステップS22)を行い、数字キー禁止フラグRが1であれば数字キー禁止フラグRを0に反転して数字キーの入力を可能にし「加減乗除キーで再開」の表示を消灯した後(ステップS23)、今回押された加減乗除の演算子のいずれかを、「既に記憶された入力履歴と計算を続行することによって新たに記憶される入力履歴とをつなぐ演算子」として、直後演算子レジスタ26に代入する(ステップS20)とともに、右演算子表示部6に表示(ステップS21)する。
初期状態フラグSが1でなく(ステップS18)、数字キー禁止フラグRも1でなければ(ステップS22)、次に演算キー押後フラグAが1かどうかの判断(ステップS24)を行い、演算キー押後フラグAが1であれば、新数字入力フラグNに1を設定(ステップS25)した後、今回押された加減乗除の演算子のいずれかを、「その直前に押された演算子を修正するために入力された正しい演算子」として、直後演算子レジスタ26に代入する(ステップS20)と共に、右演算子表示部6に表示(ステップS21)する動作を行う。
初期状態フラグSが1でなく(ステップS18)、数字キー禁止フラグRも1でなく(ステップS22)、また、演算キー押後フラグAも1でなければ(ステップS24)、まず、演算キー押後フラグAを1に反転し、新数字入力フラグNに1を設定(ステップS26)した後、直後演算子レジスタ26の値を直前演算子レジスタ25に代入し、直後演算子レジスタ26には今回押された演算子を代入する(ステップS27)。その後、入力項カウンタ24の値を1加算(ステップS28)した後、アドレスポインタ27によって指定される入力履歴記憶メモリ30に演算子と数値の組からなる入力項を記憶する入力履歴記憶処理(ステップS29)を行う。また、次の入力履歴の記憶に備えてアドレスポインタ27の値PnをPn+1にした(ステップS30)後、通常の電卓と同じように直前演算子レジスタ25の演算子に応じた加減乗除計算処理(ステップS31)を行い、その結果を答えレジスタ23とともに、数値表示レジスタ18に代入すると共に、入力項番号表示レジスタ19と総入力項表示レジスタ20に入力項カウンタ24の値を代入し、これら数値表示レジスタ18、入力項番号表示レジスタ19と総入力項表示レジスタ20の値を液晶表示部1に表示し、また、今回押された加減乗除の演算子を右演算子表示部6に表示する表示処理(ステップS21)を行う。
(加減乗除キーの入力履歴表示モードにおける動作)
まず、新数字入力フラグNに1を設定し(ステップS32)た後、今回押された加減乗除の演算子を、「入力履歴表示モードで表示中の入力項の演算子を修正する目的で入力された正しい演算子」として、左演算子表示部7に表示(ステップS33)する動作を行う。
・イコールキー12m
図9は、本発明の実施例の、イコールキー12mを押し下げた場合の処理を示すフローチャートである。
(イコールキー12mの通常電卓モードにおける動作)
イコールキー12mの通常電卓モードにおける動作を簡単にまとめると次のようになる。
初期状態フラグSが1でない時で、且つ、演算キー押後フラグAが1でない時は、今回押された「=」を直後演算子レジスタに代入した後、加減乗除キーが押されたときと同じように入力履歴記憶処理と直前演算子に応じた加減乗除計算処理を行いその結果を表示した後、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キーの入力を禁じる処理を行う。
初期状態フラグSが1である時は、報音及び報音代替処理を行って終了するのみの動作を行う。
初期状態フラグSが1でない時は、演算キー押後フラグAの値を判断し、演算キー押後フラグAが1の時は、今回押された「=」を直後演算子レジスタに代入するのみの処理をした後、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キーの入力を禁じる処理を行う。
具体的に説明すると、まず、動作モードフラグFが0でないとの判断(ステップS34)を経た後、初期状態フラグが1かどうかの判断(ステップS35)を行い、初期状態フラグが1の初期状態であればその旨を知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS36)のみを行って終了する。
初期状態フラグSが1でない時は、次に、演算キー押後フラグAが1かどうかの判断(ステップS37)をし、演算キー押後フラグAが1であれば、まず、新数字入力フラグNに1を設定(ステップS38)して加減乗除キーで入力禁止が解除されたときに新たな数値の入力が出来るように準備した後、今回押された「=」を直後演算子レジスタ26に代入(ステップS39)し、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キー禁止フラグRに1を設定して数字キーの入力を禁じる処理を行うと共に「加減乗除キーで再開」の表示を点灯させ(ステップS40)、今回押された「=」を右演算子表示部6に表示するのみの動作(ステップS41)をして終わる。
初期状態フラグSが1でなく、演算キー押後フラグAも1でない時は、演算キー押後フラグAを1に反転し新数字入力フラグに1を設定(ステップS42)した後、直後演算子レジスタ26の値を直前演算子レジスタ25に代入し、直後演算子レジスタ26には今回押された「=」を代入(ステップS43)する。その後、入力項カウンタ24の値を1加算(ステップS44)した後、入力履歴記憶処理(ステップS45)を行う。また、次回の入力履歴記憶に備えてアドレスポインタ27の値PnをPn+1(ステップS46)にした後、直前演算子レジスタ25の値に応じた加減乗除計算処理(ステップS47)を行う。また、イコールキーの押し下げ直後において既に記憶された入力履歴と演算子と数字が交互に現れる整合性を維持できない入力を禁じるため数字キー禁止フラグRに1を設定して数字キーの入力を禁じる処理を行うと共に、「加減乗除キーで再開」の表示を点灯させ(ステップS40)、表示処理(ステップS41)では、演算の結果を答えレジスタ23とともに、数値表示レジスタ18に代入すると共に、入力項番号表示レジスタ19と総入力項表示レジスタ20に入力項カウンタ24の値を代入し、これら数値表示レジスタ18、入力項番号表示レジスタ19と総入力項表示レジスタ20の値を液晶表示部1に表示し、また、今回押された「=」を右演算子表示部6に表示する。
(イコールキー12mの入力履歴表示モードにおける動作)
まず、動作モードフラグFが0でないとの判断(ステップS34)を経た後、新数字入力フラグNに1を設定し(ステップS48)た後は、通常電卓モードではないことを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)(ステップS49)を行って終了する。
・AC(オールクリア)キー12b
図17は、本発明の実施例の、 AC(オールクリア)キー12bを押し下げた場合の処理を示すフローチャートである。(なお、ACキーは、通常電卓モード、入力履歴表示モードとも同じ動作であり、また、電源投入時にもこれと同じサブルーチンが実行され、同様の初期化が行われる。)
AC(オールクリア)キー12b の動作を簡単にまとめると次のようになる。
通常の電卓のAC(オールクリア)キーの働きの他、フラグ群の初期化、メッセージ表示部群の初期化、表示レジスタ群の初期化、入力項カウンタ、アドレスポインタ、答えレジスタ等の作業領域群の初期化、入力履歴記憶メモリの初期化、その他の初期化など、各種の初期化作業を行う。
具体的に説明すると、まず、フラグ群の初期化(ステップS136)として、動作モードフラグFに0、数字キー禁止フラグRに0、初期状態フラグSに1を、演算キー押後フラグAに0、新数字入力フラグNに1をそれぞれ設定する。次に、メッセージ表示部群の初期化(ステップS137)として、「通常電卓モード」の表示を点灯させ、「履歴表示モード」の表示を消灯させ、また、「再計算中」と「加減乗除キーで再開」の表示を消灯させる。次に、表示レジスタ群の初期化(ステップS138)として、数値表示レジスタ18、入力項番号表示レジスタ19、総入力項表示レジスタ20のそれぞれに0を代入し、これが表示駆動回路13により液晶表示部1に表示される。また、右演算子表示レジスタ21、左演算子表示レジスタ22に、それぞれ、null値を設定するが、表示駆動回路13は、右演算子表示レジスタ21、左演算子表示レジスタ22の値がnull値である時、液晶表示部の右演算子表示部6、左演算子表示部7には何も表示しない。次に、作業領域群の初期化(ステップS139)として、入力項カウンタ24に0、アドレスポインタ27に入力履歴記憶レジスタ30の先頭の記憶領域のアドレスであるP1、答えレジスタ23に演算開始前の初期値である0を代入し、また、直前演算子レジスタ25と直後演算子レジスタ26には、初期値としてnull値を設定する。また、次に、入力履歴記憶メモリの初期化(ステップS140)を行い、記憶された全ての入力項の記憶をクリアして、新たな入力履歴の記憶が出来るようにする。また、通常の加減乗除計算機に必要とされるその他の初期化など、各種の初期化作業を行う。
なお、本実施例の加減乗除計算機においては、わかりやすくするため、以上の各キーに相当するボタンはそれぞれ独立なものとして、電卓に配置されているが、シフトキーや機能キーなどとの組合せにより、通常の電卓が有するボタンに兼用させることも可能である。
【0007】
次に、上記の構成による卓上加減乗除計算機の動作について、実際の計算例に即して説明する。
図5、及び、図6は、本発明の卓上加減乗除計算機の通常電卓モードにおける計算と、計算と共に行われる入力履歴記憶、そして入力履歴表示モードにおける、入力履歴表示、入力履歴修正の処理、再計算処理、数字キー入力禁止処置、及び、その禁止解除による計算及び入力履歴記憶の再開、等に伴うキー操作と、その操作後になされる表示動作、及び、当該キーが押された後における「動作モードフラグF」、「数字キー禁止フラグR」、「初期状態フラグS」、「演算子キー押後フラグA」、「新数字入力フラグN」の各フラグの状態と「直前演算子レジスタ25」、「直後演算子レジスタ26」の状態を示す図である。なお、図6は、図5の続きの図であり、また、図5、図6では、各フラグをF、R、S、A、N、直前演算子レジスタ25を「直前」、直後演算子レジスタ26を「直後」と表記している。
まず、図5の(a)は、電源投入ボタンを兼ねたAC(オールクリア)キーの押し下げによって、電源を入れた直後の初期状態を示している。この時、各フラグの値は、 図17のAC(オールクリア)キーの押し下げ時のサブルーチンにおけるフラグ群の初期化(ステップS136)によって設定された値となっており、F=0、R=0、S=1、A=0、N=1であり、F=0であることからわかるように電源投入後の初期状態では通常電卓モードとしての動作を行うこととなっており、液晶表示部には、「通常電卓モード」の表示と共に、数値表示レジスタ18の初期値0と、入力項番号表示レジスタ19の初期値0、総入力項数表示レジスタ20の初期値0が表示されている。また、このACキー押し下げ直後は、「直前演算子レジスタ25」、「直後演算子レジスタ26」の値は、やはり、図17のAC(オールクリア)キーの押し下げ時のサブルーチンにおける作業領域群の初期化(ステップS139)によって設定された値としてnull値となっている。
まず、この初期状態の通常電卓モードで計算を「54×3−9=」とすることを想定して説明する。
計算の開始方法は、二通りあり、最初に数字キーを入力することにより、自動的に、先頭の入力項の数値の前に置かれる最初の演算子が「+」であると判断して入力履歴を記憶する計算開始方法と、最初に加減乗除のいずれかの演算子キーを押し下げることにより、当該押し下げられた加減乗除のいずれかの演算子を、先頭の入力項の数値の前に置かれる最初の演算子として入力履歴を記憶する計算開始方法がある。ここでは、まず、前者の最初に数字キーを押し下げる計算開始方法によって説明する。
まず、図5の(b)に示すように、キー入力部の数字キーで「54×」の「5」と入力すると、図7の数字キーのサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1でないとの判断、初期状態フラグSが1であるとの判断を経て、初期状態フラグSが0に反転されると共に、直後演算子レジスタ26に「+」が代入される。(なお、この「+」は、入力中の数値「54」の前に置かれる先頭の演算子なので、右演算子表示レジスタ21には代入されず、液晶表示部1には表示されない。)その後、演算キー押後フラグAに0が設定され、新数字入力フラグNが1であるとの判断を経て、次の数字入力のために新数字入力フラグNが0に反転され、この「5」が新たな数値の先頭の数値として数値表示レジスタ18に代入されると共に、入力項番号表示レジスタ19と総入力項表示レジスタ20のそれぞれの初期値「0」、「0」が直接1ずつ増加され、それぞれ、「1」、「1」となる。これらが表示駆動回路13によって液晶表示部1に表示される。(図7のステップS1→S2→S4→S5→S6→S7→S8→S9→S10→S11)
次に、図5の(c)に示すように、「54×」の「4」と入力すると、やはり図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1でないとの判断、初期状態フラグSが1でないとの判断を経て、演算キー押後フラグAに0が設定され、新数字入力フラグNが1でないとの判断を経て、この「4」が数値の1の位の数字として数値表示レジスタ18に追加され、これらが表示駆動回路13によって液晶表示部1に表示される。(図7のステップS1→S2→S4→S6→S7→S12→S11)
次に、図5の(d)に示すように、「×」の加減乗除キーを押し下げ操作して「×」と入力すると、図8の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、初期状態フラグSが1でないとの判断、数字キー禁止フラグRが1でないとの判断、演算キー押後フラグAが1でないとの判断を経て、演算キー押後フラグAが1に反転されると共に新数字入力フラグNが1に設定される。次に、現在、直後演算子レジスタ26に入っていた「+」が直前演算子レジスタ25に代入され、この直後演算子レジスタ26には今回入力された「×」が代入される。次に、入力項カウンタ24の値が1増加され「1」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ18の値(「54」)と直前演算子レジスタ26の値(「+」)が、最初の入力項として、アドレスポインタ27の初期値P1で指定される入力履歴記憶メモリ30の先頭の記憶位置に記憶される。(図3、図4を参照。)また、次の入力履歴記憶処理に備えてアドレスポインタ27に次の記憶領域を示すP2が代入される。また、直前演算子レジスタ25の値(この場合「+」)によって、答えレジスタ23の初期値「0」との間で演算「0+54」が行われ、その結果「54」がまた新たに答えレジスタ23に代入されるとともに、数値表示レジスタ18にも代入され、これらが表示駆動回路13により液晶表示部1に表示される。なお、この際、右演算子表示部6に表示されるのは、直前演算子レジスタ25の「+」ではなく、今回押し下げられた「×」であることは、普通の電卓と同じである。(図8のステップS17→S18→S22→S24→S26→S27→S28→S29→S30→S31→S21)
次に、図5の(e)に示すように、「×3」の「3」を入力すると、最初の「5」が入力されたのと同様に、図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1でないとの判断、初期状態フラグSが1でないとの判断を経て、演算キー押後フラグAに0が設定され、新数字入力フラグNが1であるとの判断を経て、次の数字入力のために新数字入力フラグNが0に反転され、この「3」が新たな数値の先頭の数値として数値表示レジスタ18に代入されると共に、入力項番号表示レジスタ19と総入力項表示レジスタ20の値、「1」、「1」がそれぞれ直接1増加され、それぞれ、「2」、「2」となる。これらが表示駆動回路13によって液晶表示部1に表示される。(図7のステップS1→S2→S4→S6→S7→S8→S9→S10→S11)
次に、図5の(f)に示すように、「−9」の「−」を入力すると、図8の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、初期状態フラグSが1でないとの判断、数字キー禁止フラグRが1でないとの判断、演算キー押後フラグAが1でないとの判断を経て、演算キー押後フラグAが1に反転されると共に新数字入力フラグNが1に設定される。次に、現在、直後演算子レジスタ26に入っていた「×」が直前演算子レジスタ25に代入され、この直後演算子レジスタ26には今回入力された「−」が代入される。次に、入力項カウンタ24の値が1増加され「2」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ18の値(「3」)と直前演算子レジスタ25の値(「×」)が、二番目の入力項として、アドレスポインタ27の値P2で指定される入力履歴記憶メモリ30の記憶位置に記憶される。(図3、図4を参照。)また、次の入力履歴記憶処理に備えてアドレスポインタ27に次の記憶領域を示すP3が代入される。また、直前演算子レジスタ25の値(この場合「×」)によって、答えレジスタ23の値「54」との間で演算「54×3」が行われ、その結果「162」がまた新たに答えレジスタ23に代入されるとともに、数値表示レジスタ18にも代入され、表示駆動回路13により液晶表示部1に表示される。なお、この際、右演算子表示部6に表示されるのは、直前演算子レジスタ25の「×」ではなく、今回押し下げられた「−」であることは、普通の電卓と同じである。(図8のステップS17→S18→S22→S24→S26→S27→S28→S29→S30→S31→S21)
次に、図5の(g)に示すように、「−9」の「9」を入力すると、図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1でないとの判断、初期状態フラグSが1でないとの判断を経て、演算キー押後フラグAに0が設定され、新数字入力フラグNが1であるとの判断を経て、次の数字入力のために新数字入力フラグNが0に反転され、この「9」が新たな数値の先頭の数値として数値表示レジスタ18に代入されると共に、入力項番号表示レジスタ19と総入力項表示レジスタ20の値、「2」、「2」がそれぞれ直接1増加され、それぞれ、「3」、「3」となる。これが表示駆動回路13によって液晶表示部1に表示される。(図7のステップS1→S2→S4→S6→S7→S8→S9→S10→S11)
この後、同様に数字キー又は加減乗除キーを入力することで、上記のステップが繰り返され、普通の電卓と同じ計算処理がなされると同時に、入力された数値及びその直前の演算子(入力項番号を共に記憶する場合にあっては入力項番号も)が一つの入力項として、順次、入力履歴記憶メモリ30のアドレスポインタ27によって指定される領域に追加記憶されると共に、その都度、計算結果が答えレジスタ23及び数値表示レジスタ18に入力され、入力項番号、総入力項数と共に、表示駆動回路13により液晶表示部1に表示される。
ここで、図5の(h)に示すように、「=」を押すと、図9のイコールキー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、初期状態フラグSが1でないとの判断、演算キー押後フラグAが1でないとの判断を経て、演算キー押後フラグAが1に反転されると共に新数字入力フラグNが1に設定される。次に、現在、直後演算子レジスタ26に入っていた「−」が直前演算子レジスタ25に代入され、この直後演算子レジスタ26には今回入力された「=」が代入される。次に、入力項カウンタ24の値が1増加され「3」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ18の値(「9」)と直前演算子レジスタ25の値(「−」)が、三番目の入力項として、アドレスポインタ27の値P3で指定される入力履歴記憶メモリの記憶位置に記憶される。(図3、図4を参照。)また、次の入力履歴記憶処理に備えてアドレスポインタ27に次の記憶領域を示すP4が代入される。また、直前演算子レジスタ25の値(この場合「−」)によって、答えレジスタ23の値「162」との間で演算「162−9」が行われ、その結果「153」がまた新たに答えレジスタ23に代入されるとともに、数値表示レジスタ18にも代入され、表示駆動回路13により液晶表示部1に表示される。なお、イコールキーを押して計算を終了した際は、直後演算子レジスタ26の値が「=」(あるいは、直後演算子レジスタ26に「=」を代入しない場合においては、「不定(過去に入力されて残っているだけの意味のない演算子)」)になってしまうため、このまま計算の再開を許してしまうと、数値と演算子が交互に現れる入力履歴の整合性が保てなくなってしまう。そのため、イコールキーを押して計算を終了した際は、数字キー禁止フラグRに1を設定して数字キーの入力を禁じると共に、「加減乗除キーで再開」の表示を点灯させ、その旨をユーザーに知らせる。(図9のステップS34→S35→S37→S42→S43→S44→S45→S46→S47→S40→S41)
この「加減乗除キーで再開」の表示が点灯している状態で、任意の数字キーを入力しようとして、例えば、図5の(i)に示すように、「5」を入力すると、図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1であるとの判断を経て、数字キー入力が禁止されていることを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)のみが行われて、他の動作は行われず、ユーザーは数字キー入力が出来なくなったことを知ることが出来る。(図7のステップS1→S2→S →S3)
この数字キー入力が禁止された状態で加減乗除キーを押して計算及び入力履歴記憶作業を再開する動作に関してはまた後述するので、ここでは次に入力履歴表示モードに移行する手段と入力履歴表示モードでの動作について説明する。
ここで図5の(j)に示すようにモード切替キー(再計算キー)を押すと、図10のモード切替キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断を経て、動作モードフラグFが1に反転されるとともに、液晶表示部1に「履歴表示モード」の文字が点灯され、また、入力履歴表示モードに移行した後にも入力履歴修正のための数値が正しく入力できるよう新数字入力フラグNに1がセットされた後、数字キー入力禁止状態でモード切替キーが押し下げられて入力履歴表示モードに移行した時にも正しい表示が行われるように数字キー禁止フラグRが0にセットされると共に「加減乗除キーで再開」の表示が消灯される。次に、アドレスポインタ27に先頭の値P1が設定され、これによって指定される入力履歴記憶メモリ30の先頭の領域から記憶された先頭の入力項の数値及び演算子の入力履歴読出処理が行われ、読み出された数値及び演算子(この場合、「+54」)がそれぞれ、左演算子表示レジスタ22、数値表示レジスタ18に代入され、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号「1」が入力項番号表示レジスタ19に、また、入力項カウンタ24の値「3」が総入力項数表示レジスタ20に、それぞれ代入され、これらが表示駆動回路13によって液晶表示部1に表示される。なお、この入力履歴表示モードにおいては、演算子は左演算子表示レジスタ22に代入されることにより、左演算子表示部7に表示される。(図10のステップS50→S51→S52→S53→S54→S55→S56)
この入力履歴表示モードの状態で、図5の(k)、(l)に示すように次キーを押下すると、そのキー操作毎に、図11の次キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないとの判断、最終の入力項でないとの判断を経て、移動先の次の入力項番号の入力項表示状態で修正のための新たな数値が入力出来るよう新数字入力フラグNに1がセットされた後、アドレスポインタ27(値、Pn)にPn+1がセットされ、これにより指定される入力履歴記憶メモリ30の次の入力項の記憶領域から記憶された入力項データーを読み出し、読み出された入力項の演算子及び数値をそれぞれ左演算子表示レジスタ22、数値表示レジスタ18、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号を入力項番号表示レジスタ19に代入、これらが表示駆動回路13によって液晶表示部1に表示されることにより、入力履歴記憶メモリ30の領域に記憶された計算式が、この次キーの押し下げ毎に入力項ごとに順次読み出され、各入力項ごとの数値及びその数値の直前に置かれる演算子の組み合わせ、及び、入力項番号、総入力項数と共に表示される。(図11のステップS68→S75→S77→S78→S79→S80)
また、図5の(m)に示すように、最終入力項表示状態で更に次キーを押し下げた場合には、図11の次キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないとの判断、最終の入力項であるとの判断を経て、これ以上次の入力項がないことを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)のみが行われて他の動作は行われず、入力項番号と総入力項数の表示に変化がないことと併せて、ユーザーはこれ以上次の入力項がないことを知ることが出来る。(図11のステップS68→S75→S76)
また、この入力履歴表示モードの状態で、図5の(n)に示すように、前キーを押下すると、そのキー操作毎に、図12の前キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないとの判断、先頭の入力項でないとの判断を経て、移動先の一つ前の入力項番号の入力項表示状態で修正のための新たな数値が入力出来るよう新数字入力フラグNに1がセットされた後、アドレスポインタ27(値、Pn)にPn-1がセットされ、これにより指定される入力履歴記憶メモリ30の一つ前の入力項の記憶領域から記憶された入力項データーを読み出し、読み出された入力項の演算子及び数値をそれぞれ左演算子表示レジスタ22、数値表示レジスタ18、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号を入力項番号表示レジスタ19に代入、これらが表示駆動回路13によって液晶表示部1に表示されることにより、入力履歴記憶メモリ30の領域に記憶された計算式が、この前キーの押し下げ毎に入力項ごとに順次読み出され、各入力項ごとの数値及びその数値の直前に置かれる演算子の組み合わせ、及び、入力項番号、総入力項数と共に表示される。(図12のステップS81→S88→S90→S91→S92→S93)
また、図5には示していないが、先頭の入力項を表示した状態で更に前キーを押し下げた場合にも、図12の前キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないとの判断、先頭の入力項であるとの判断を経て、これ以上前の入力項がないことを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)のみが行われて他の動作は行われず、入力項番号と総入力項数の表示に変化がないことと併せて、ユーザーはこれ以上前の入力項がないことを知ることが出来る。(図12のステップS81→S88→S89)
次に、この入力履歴表示モードにおいて任意の入力項番号の入力項が表示されている状態で、その入力項の入力データーの間違いを発見したとする。(ここでは、第二番目に入力した「×3」が誤りで、正しくは「÷2」と入力しなければならなかったとする。)図5の(o)に示すように、間違いを発見した入力項が表示されている状態で、演算子キーを「÷」と押し下げすると、図8の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないの判断を経て、次の新たな数値入力を可能にするため新数字入力フラグNが1に設定され、今回入力された正しい演算子「÷」が左演算子表示レジスタ22に代入され左演算子表示部7に表示される。他の表示は変わらない。(図8のステップS17→S32→S33)また、図5の(p)に示すように、数字キーを「2」と押し下げすると、図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないの判断、新数字入力フラグNが1であるとの判断を経て、次の数字入力のために新数字入力フラグNが0に反転されると共に、今回入力された正しい数字であるこの「2」が新たな数値の先頭の数値として数値表示レジスタ18に代入されると共に、これが表示駆動回路13によって液晶表示部1に表示される。(図7のステップS1→S13→S14→S15→S11)
この状態で図5の(q)に示すように、置換キーを押し下げると、図13の置換キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないの判断を経て、表示中の数値表示レジスタ18の数値および左演算子表示レジスタ22の演算子が、その入力項番号の入力項の新たな正しいデーターとして、現在のアドレスポインタ27によって示されるアドレスの入力履歴記憶メモリに上書き変更されて記憶される入力履歴記憶置換処理が行われる。また、当該入力履歴記憶置換処理が終了した旨を知らせる報音処理(「ピッ、ピッ」の発音)及び報音代替処理(「OK」の表示)が行われ、ユーザーは正しい数字及び演算子に変更が行われたことを確認出来る。(図13のステップS94→S96→S97)ここで、新しい数字又は演算子に変更が行われたことは、次キー、又は、前キーによってこの変更が行われた入力項番号の入力項の前後の入力履歴を順次往復表示させて参照することでも確認出来る。
また、置換キーを押さずに次キー又は前キーなどで参照する入力項を移動するなど他の処理を行った場合など、置換キーを押さなかった場合は、新しい数字又は演算子への変更は入力履歴記憶メモリの領域に反映されず、この変更が行われなかったことも、次キー、又は、前キーによってこの入力項番号の入力項の前後の入力履歴を順次往復表示させて参照することで確認出来る。
このようにして入力履歴を確認し、必要があればこれを正しく修正した後、図5の(r1)に示すように、再び、モード切替キーを押し下げると、図10のモード切替キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないの判断を経て、動作モードフラグFが0に反転させると共に「通常電卓モード」の表示が点灯される。また、再計算をする前の準備として答えレジスタ23に初期値「0」を代入するとともに「再計算中」のメッセージ表示を点灯する。次に、アドレスポインタ27に先頭の入力項のアドレスP1を設定して、当該アドレスによって指定される入力履歴記憶メモリ30の領域から入力履歴読出処理を行い、読み出した演算子及び数値を液晶表示部1に表示する。なお、図5の(r1)の表示部の表示及びフラグの状態は、この再計算中の様子(最初の入力項である「+54」を表示中の様子)を示している。次に、各数値の左に表示されたこの数値の直前の演算子に応じた計算処理を行い、結果を答えレジスタ23に代入する。また、次の入力履歴読出処理に備えてアドレスポインタ27(値、Pn)にPn+1を設定する。次に、処理した入力項が最終の入力項であるか否かの判断を行い、最終の入力項でなければステップS60からステップS63の処理を繰り返し、その都度、新しい答えを答えレジスタ23に代入する。最終の入力項であれば「再計算中」の表示を消灯し、答えレジスタ23の値を数値表示レジスタ18に代入して再計算結果の表示処理を行う。また、再計算終了直後は、この再計算結果に対して継続して計算をしようとする場合に、既に記憶された入力履歴と新しく継続的に入力される数値をつなぐ演算子が「=」(あるいは、再計算後に「=」を代入しない場合においては「不定(過去に入力されて残っているだけの意味のない演算子)」)となってしまうため、「数値」と「加減乗除の演算子」が交互に現れる整合性を入力履歴が維持出来なくなってしまう。そのため、数字キー禁止フラグRに1を設定して数字キーの入力を禁じると共に、「加減乗除キーで再開」の表示を点灯し、まず最初に加減乗除キーの入力をすべきことをユーザーに促す。また、計算の再開に備えて、演算キー押後フラグAと新数字入力フラグNに1を設定する。なお、図5の(r2)の表示部の表示及びフラグの状態は、この再計算が終了した後の正しい演算結果である「18」が表示された様子を示している。(図10のステップS50→S57→S58→S59→S60→S61→S62→S63→S64→S65→S66→S67)
なお、再計算中の各入力項の表示に関しては、CPUの実行速度と、計算する入力項の量により、これを、再計算を実行する速度を優先して表示させない場合と、速度は優先させずに各表示レジスタに逐次代入することにより液晶表示部1に逐次表示させる場合、あるいはユーザの選択によりこの再計算中の各入力項の表示・非表示を切り替え可能にする場合などが考えられる。
次に、数字キー入力禁止後の計算再開の動作について、例に即して説明する。
この動作が必要になるのは、再計算終了直後の図5の(r2)の状態、及び、通常の計算においてイコールキーにより計算を終了した図5の(h)の状態の場合である。上記の二つの場合においては、継続して計算をする場合に、直後演算子レジスタ26の値が「=」(あるいは、「=」を直後演算子レジスタ26に代入しない場合においては「不定(過去に入力されて残っているだけの意味のない演算子)」)となっている。この場合は、続いて数値から入力を再開しても、既に記憶された入力履歴との間で、「演算子と数値、演算子と数値、…」というように「数値」と「加減乗除の演算子」が交互に現れる整合性を保つことが出来なくなるために、演算が正しく行われなくなってしまうので、この「=」(あるいは、「=」を直後演算子レジスタ26に代入しない場合においては「不定(過去に入力されて残っているだけの意味のない演算子)」)を、既に入力された入力履歴とこれから継続的に入力しようとする数値の間を結ぶ正しい演算子に変更する作業が必要となる。
図6は、本発明の卓上加減乗除計算機の実施例のキー操作とそれに対応する表示動作、及び、当該各キーが押された後の、各フラグと直前演算子レジスタ25、直後演算子レジスタ26の状態を示す図5の続きとなる図である。
図6の(s)は、図5の(r2)の状態で数字キー(この場合は「2」)を押し下げた状態を示しているが、このように、再計算直後において答えが表示され「加減乗除キーで再開」の表示が点灯している状態で、更にこれに続けて計算をするため数値を入力しようとしても、図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1であるとの判断を経て、数字キー入力が禁止されていることを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)のみが行われて、他の動作は行われず、ユーザーは数字キー入力が出来なくなったことを知ることが出来るのみである。(図7のステップS1→S2→S3)これは、図5の(i)において、イコールキーによる計算終了の後に、「加減乗除キーで再開」の表示が点灯している状態で、更にこれに続けて計算をするため数値を入力しようとしても、数字キーの入力が無効であることを知らせる報音処理(「ピッ」の発音)及び報音代替表示処理(「♪」マークの表示)のみが行われ、数字を入力することは出来なかったのと同様である。
この数字キー入力が禁止された状態で、計算及び入力履歴記憶作業を再開する方法は、「加減乗除キーで再開」の表示による案内が示すとおり、既に入力された入力履歴とこれから継続的に入力しようとする数値の間を結ぶ演算子となる加減乗除のいずれかのキーをまず最初に押す方法による。
図6の(t)は、更に続けて「×5」と計算を続けるために、「×」キーを押し下げた状態を示している。「×」キーを押し下げると、図8の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、初期状態フラグSが1でないとの判断、数字キー禁止フラグRが1であるとの判断を経て、数字キー禁止フラグRが0に反転され数字キーの入力が許可されるとともに「加減乗除キーで再開」の表示が消灯され、この時押し下げられた演算子が、「前に入力された入力履歴とこれから継続的に入力しようとする数値の間を結ぶ演算子」として直後演算子レジスタ26に代入され、この「×」が右演算子表示部6に表示されるのみの処理が行われる。(なお、念のために説明しておくと、この「×」キーを押し下げた後の状態において、直前演算子レジスタ25には「−」が入っているが、この「−」は、図5の(h)においてイコールキーが押し下げられた際に「−9」の演算を行うために直後演算子レジスタ26から渡された演算子が残っているもので、「過去に入力されて残っているだけの意味のない演算子」であり、これは、次に「×5」の「5」とそれに続く演算子が入力されて実際に演算が行われる際には、その演算の前に、現在、直後演算子レジスタ26に入っている「×」が直前演算子レジスタ25に移動されて、この直前演算子レジスタ25に移動された「×」に応じて加減乗除計算処理が行われるものであり、なんら問題はない。)
次に、図6の(u)に示すように、「×5」の「5」を入力すると、図7の数字キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、数字キー禁止フラグRが1でないとの判断、初期状態フラグSが1でないとの判断を経て、演算キー押後フラグAに0が設定され、新数字入力フラグNが1であるとの判断を経て、次の数字入力のために新数字入力フラグNが0に反転され、この「5」が新たな数値の先頭の数値として数値表示レジスタ18に代入されると共に、入力項番号表示レジスタ19と総入力項表示レジスタ20の値、「3」、「3」がそれぞれ直接1増加され、それぞれ、「4」、「4」となる。これらが表示駆動回路13によって液晶表示部1に表示される。(図7のステップS1→S2→S4→S6→S7→S8→S9→S10→S11)
次に、図6の(v)に示すように、「+」と入力すると、図8の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、初期状態フラグSが1でないとの判断、数字キー禁止フラグRが1でないとの判断、演算キー押後フラグAが1でないとの判断を経て、演算キー押後フラグAが1に反転されると共に新数字入力フラグNが1に設定される。次に、現在、直後演算子レジスタ26に入っていた「×」が直前演算子レジスタ25に代入され、この直後演算子レジスタ26には今回入力された「+」が代入される。次に、入力項カウンタ24の値が1増加され「4」となり、また、入力履歴記憶処理によって、この時の数値表示レジスタ18の値(「5」)と直前演算子レジスタ25の値(「×」)が、四番目の入力項として、アドレスポインタの値P4で指定される入力履歴記憶メモリ30の記憶位置に記憶される。また、次の入力履歴記憶処理に備えてアドレスポインタ27に次の記憶領域を示すP5が代入される。また、直前演算子レジスタ25の値(この場合「×」)によって、答えレジスタ23の値「18」との間で演算「18×5」が行われ、その結果「90」がまた新たに答えレジスタ23に代入されるとともに、数値表示レジスタ18にも代入され、入力項番号表示レジスタ19の値「4」と、入力項カウンタ24の値「4」が代入された総入力項表示レジスタ20の値「4」など、これら各表示レジスタの値が表示駆動回路13により液晶表示部1に表示される。なお、この際、右演算子表示部6に表示されるのは、直前演算子レジスタ25の「×」ではなく、今回押し下げられた「+」であることは、普通の電卓と同じである。(図8のステップS17→S18→S22→S24→S26→S27→S28→S29→S30→S31→S21)
次に、これもまた、本発明の卓上加減乗除計算機の重要な特徴である、入力履歴表示モードに移行すると共にユーザーが表示することを所望する任意の入力項を表示する動作とその効用について、例に即して説明する。本発明の卓上加減乗除計算機は、通常電卓モードにおける計算の途中の任意の時点においてモード切替キーを押し下げすること以外に、前キー、又は、次キー、又は、移動キーを押下することによっても動作モードフラグFに1をセットし入力履歴表示モードに移行することが出来ると同時に、ユーザーが表示することを所望する任意の入力項を直ちに表示することが出来る。この場合、前キーが押し下げた場合にはすぐ直前に入力したばかりの最終に記憶された入力項を表示することが出来、また、次キーが押し下げた場合には再計算キーの場合と同様に最初に入力され記憶された先頭の入力項を表示することが出来、また、移動キーが押し下げた場合は、移動キーが押し下げられた時に数値表示部5に表示されている数値をユーザーが表示することを所望する入力項番号であるとして判断し、当該入力項番号の入力項を表示することが出来る。この内、モード切替キーの場合と同様に最初に入力した先頭の入力項を表示する次キーを押し下げた場合の動作に関しては、モード切替キーを押し下げた場合と全く同じ動作なので詳細な説明は省略し、前キーと移動キーを押し下げた場合について、例に即して説明する。
図6の(v)に示すような「+」キーを押し下げたばかりのような通常電卓モードにおける計算の途中で、図6の(w)に示すように、前キーを押下すると、図12の前キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断を経て、動作モードフラグFが1に反転され「履歴表示モード」の表示が点灯され、入力履歴表示モードに移行すると共に、入力履歴修正のための数値が入力できるよう新数字入力フラグNに1がセットされた後、数字キー禁止フラグRが0にセットされると共に「加減乗除キーで再開」の表示が消灯される。次に、アドレスポインタ27に記憶された最終の入力項位置を示す値が設定され、これによって指定される入力履歴記憶メモリ30の最終の入力項の記憶位置から記憶された最終の入力項の数値及び演算子の入力履歴読出処理が行われ、読み出された数値及び演算子(この場合、四番目の入力項である「×5」を構成する「×」と「5」)がそれぞれ、左演算子表示レジスタ22、数値表示レジスタ18に代入され、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号「4」が入力項番号表示レジスタ19に、また、入力項カウンタ24の値「4」が総入力項数表示レジスタ20に、それぞれ代入され、これらが表示駆動回路13によって液晶表示部1に表示される。なお、この入力履歴表示モードにおいては、演算子は左演算子表示レジスタ22に代入されることにより、左演算子表示部7に表示される。(図12のステップS81→S82→S83→S84→S85→S86→S87)また、この入力履歴表示モード移行後の状態において、更に、前キーでその前の入力項を順次表示出来ること、その他、次キーや移動キーで自由に表示する入力項を移動できること、置換キーで記憶された演算子又は数値を修正出来ることなどが自由に行えることは、モード切替キーで入力履歴表示モードに移行した場合と同じである。
この前キーを押し下げすることによって、入力履歴表示モードに移行すると同時にすぐ直前に入力した入力項を表示する機能は、通常電卓モードに復帰するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算の途中の任意の時点で直前に入力した数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の計算作業を飛躍的に着実で苦労の少ないものとすることが出来るといった大きな効能を持っている。
また、やはり、図6の(v)に示すような通常電卓モードの状態で、図6の(x)に示すように、移動先として所望する入力項番号(ここでは二番目の入力項を表示することを所望すると仮定して「2」とする。)を入力してこれを数値表示部5に表示させた後、図6の(y)に示すように、移動キーを押し下げると、図14の移動キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断を経て、動作モードフラグFが1に反転されるとともに「履歴表示モード」の表示が点灯され、入力履歴表示モードに移行すると共に、入力履歴修正のための数値が入力できるよう新数字入力フラグNに1がセットされた後、数字キー禁止フラグRが0にセットされると共に「加減乗除キーで再開」の表示が消灯される。次に、アドレスポインタ27に指定された入力項の記憶位置を示すアドレス値が設定され、これによって指定される入力履歴記憶メモリ30の記憶位置から指定された入力項の数値及び演算子の入力履歴読出処理が行われ、読み出された数値及び演算子(この場合、二番目の入力項である「÷2」を構成する「÷」と「2」)がそれぞれ、左演算子表示レジスタ22、数値表示レジスタ18に代入され、また、同じく入力履歴から読み出されるか又はアドレスから逆算された入力項番号「2」が入力項番号表示レジスタ19に、また、入力項カウンタの値「4」が総入力項数表示レジスタ20に、それぞれ代入され、これらが表示駆動回路13によって液晶表示部1に表示される。なお、この入力履歴表示モードにおいては、演算子は左演算子表示レジスタ22に代入されることにより、左演算子表示部7に表示される。(図14のステップS98→S99→S100→S101→S102→S103→S104→S105)また、この入力履歴表示モード移行後の状態において、更に、前キー、次キーで自由に表示する入力項を移動できること、置換キーで記憶された演算子又は数値を修正出来ることなどが自由に行えることは、モード切替キーで入力履歴表示モードに移行した場合と同じである。
この移動キーを押し下げすることによって、入力履歴表示モードに移行すると同時に、指定された入力項番号の入力項を表示する機能は、通常電卓モードに復帰するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算終了後において誤入力があったと思われる付近の数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の計算作業を飛躍的に着実で苦労の少ないものとすることが出来るといった大きな効能を持っている。
また、移動キーは、入力履歴表示モードにおいても、動作モードとそのモード表示を変更することと数字キー入力禁止を解除することをのぞいて、通常電卓モードの状態で押し下げられたのと同じ動作をし、数値表示部5に表示させた数値を所望される移動先として指定された入力項番号とみなし、当該指定された入力項の数値及び演算子を表示する動作を行う。
次に、これもまた、本発明の卓上加減乗除計算機の特徴である挿入キー、削除キーの動作について、例に即して説明する。
図6の(y)に示すような入力履歴表示モードで任意の入力項(ここでは、修正された二番目の入力項である「÷2」)が表示されている状態で、図6の(z1)に示すように、挿入キーを押し下げると、図15の挿入キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないとの判断を経た後、現在のアドレスポインタ27のアドレスをアドレス待避レジスタ28に待避した後、このアドレスポインタ27に最終入力項位置のアドレスを代入し、このアドレスによって指定される位置の入力項を読み出す処理を行う。続けて、アドレスポインタ27(値、Pn)にPn+1を代入し、また、入力項を同時に記憶する方法による場合は、読み出した入力項番号を1増加した後、Pn+1により指定される隣の領域にこの入力項データーを書き込む処理を行う。続いて、アドレスポインタ27(値、Pn)にPn-2を代入して、次の入力項の移動に備える。ここで挿入した最初の入力項位置であるかどうかを判断する。最初の入力項位置に至るまで、上記の処理(ステップS116からステップS119)を繰り返し、順次、入力項データーを隣りの領域に移動する。最初の入力項位置に至った場合は、この挿入位置の初期値の演算子及び数値としてそれぞれ「0」、「+」を代入し、又、入力項数を数えるレジスタである入力項カウンタ24の値を1増加した後、この新たに挿入された入力項の演算子及び数値「+0」を入力項番号と総入力項数と共に表示する。(この際、演算子は左演算子表示部7に表示する。)以上の動作の結果、二番目の入力項「÷2」、三番目の入力項「−9」、四番目の入力項「×5」は、それぞれ、三番目の入力項「÷2」、四番目の入力項「−9」、五番目の入力項「×5」とされ、二番目の入力項には「+0」が初期値として挿入され、これが、入力項番号表示レジスタ19の値「2」と、1増加された入力項カウンタ24の値が代入された総入力項数表示レジスタ20の値「5」と共に、表示駆動回路13によって液晶表示部1に表示される。(図15のステップS113→S115→S116→S117→S118→S119→S120→S121→S122→S123)
この挿入後の初期値「+0」は、置換キーによって、ユーザーが挿入することを所望する任意の数値及び演算子に変更できるが、この動作に関しては、図6の(o)、(p)、(q)の置換キーのところで説明したのと同じであるので省略する。
次に、削除キーを押し下げた場合の動作について説明する。
図6の(z1)に示すようにユーザーが削除することを所望する入力項(ここでは、挿入されたばかりの二番目の入力項である「+0」が削除したい入力項と仮定する。)が表示されている状態で、図6の(z2)に示すように、削除キーを押し下げると、図16の削除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0でないとの判断を経た後、現在のアドレスポインタ27のアドレスをアドレス待避レジスタ28に待避した後、このアドレスポインタ27(値、Pn)にPn+1を代入し、このアドレスによって指定される位置の入力項を読み出す処理を行う。続けて、入力項を同時に記憶する方法による場合は読み出した入力項番号を1減算した後、アドレスポインタ27(値、Pn)にPn-1を代入して指定される隣の領域にこの入力項を書き込む処理により、記憶された入力項の内容を移動する作業を行う。続いて、次の入力項の移動に備えてアドレスポインタ27(値、Pn)にPn+1を代入。最終の入力項位置であるかどうかを判断する。最終の入力項位置に至るまで、上記の処理(ステップS127からステップS131)を繰り返し、最終の入力項位置に至った場合は、入力項数を数えるレジスタである入力項カウンタ24の値を1減算すると共に最終入力項位置の入力項データーの記憶をクリアし、アドレス待避レジスタ28のアドレスをアドレスポインタ27に戻した後、この位置、つまり削除された次の入力項の記憶数値及び記憶演算子を読み出し処理を行い、これを入力項番号と総入力項数と共に表示する。以上の動作の結果、三番目の入力項「÷2」、四番目の入力項「−9」、五番目の入力項「×5」は、それぞれ、二番目の入力項「÷2」、三番目の入力項「−9」、四番目の入力項「×5」とされ、元の二番目の入力項「+0」は削除される。また、新しい二番目の入力項の「÷2」が、入力項番号表示レジスタ19の値「2」と1減少された入力項カウンタ24の値が代入された総入力項数表示レジスタ20の値「4」と共に表示される。(図16のステップS124→S126→S127→S128→S129→S130→S131→S132→S133→S134→S135)
なお、最後に、図5の(b)の説明においては、電源投入後の初期状態、又は、ACキーによる各種の初期化後の初期状態において、数字キーの押し下げから計算を開始する場合に「+」が先頭の入力項の数値の前に置かれる最初の演算子とされる動作の例について説明したが、同様の、電源投入後の初期状態、又は、ACキーによる各種の初期化後の初期状態において、加減乗除キーの押し下げから計算を開始し、当該押し下げられた加減乗除の演算子を先頭の入力項の数値の前に置かれる最初の演算子とする動作の例についても触れておく。
図5の(a)に示すような電源投入後の初期状態、又は、ACキーによる各種の初期化後の初期状態で、まず最初に図6の(b´)に示すように「−」キーを押し下げると、図8の加減乗除キー押し下げ時のサブルーチンにおいて、動作モードフラグFが0であるとの判断、初期状態フラグSが1であるとの判断を経た後、初期状態フラグSが0に反転されるとともに演算キー押後フラグAに1が設定され、今回入力された「−」が直後演算子レジスタ26に代入されると共に右演算子表示部6に表示されるのみの動作が行われる。これにより、次に数値と更にそれに続く演算子が入力された場合は、この「−」が直前演算子レジスタ25に移され、これに応じた演算が答えレジスタ23の初期値「0」との間でなされると共に、この「−」が先頭の入力項の数値の前に置かれる最初の演算子として入力履歴記憶領域30に記憶されることとなる。(図8のステップS17→S18→S19→S20→S21)
【0008】
【発明の作用と効果】
本発明は、上記のような手段により、計算作業を行う人の苦労を軽減することに資する。
以下に、主な効果を箇条書きにする。
・前キー、次キー、移動キーなどの自由度の高い入力履歴の参照手段により、入力履歴を入力順方向、逆入力順方向のどちらの順序方向にも順次表示でき、また、指定した任意の入力項番号の入力履歴も表示できるので、前キー、次キー、移動キーなどの必要最低限の打鍵で直接入力した内容を視覚的に確認できるため、入力内容の正誤の確認、検算作業が従来の卓上加減乗除計算機と比較して非常に容易である。
・また、上記の、前キー又は次キー、あるいは移動キーの操作において、表示中の入力項より前の当該入力項又は次の当該入力項、あるいは指定された任意の当該入力項が存在しない場合に、そのことを知らせる報音手段及び報音代替表示手段を持つため、最終の入力項、先頭の入力項に至ったこと、指定された入力項番号の入力履歴が存在しないことなどを確実に知ることが出来る。
・しかも、その入力履歴の表示の際は、これを入力項番号と総入力項数の二つの表示と共に表示するため、表示中の入力項の「先頭の入力項からの入力順における絶対的位置」と、「全体の入力項の中における相対的位置」の二つの位置把握により、表示中の入力項の位置把握を容易かつ有意義なものにし、入力内容の正誤の検証に大きく役立てることが出来る。これは、例えば、計算する数値の数が50個あり、その数値に番号が振ってあるような事務計算を行う場合(このような計算は事務上多く発生する。)などに大きく役に立つ。例えば、50個の数値の内、1つの数値を飛ばして計算を終了してしまった場合などは、計算終了後に総入力項数表示部の表示が49となっているので、数値を1つ飛ばして入力した旨がすぐにわかり、また、入力履歴を入力順方向又は逆入力順方向に入力項番号と数値を対照しながら遡り表示させることで、容易に飛ばして入力してしまった数値とその位置を発見することが出来る。
・また、入力履歴の修正として、入力項の挿入、削除が出来るので、上記のように、数値を一つ飛ばして入力した場合の挿入による修正、あるいは、数値を二重に入力した場合の削除による修正なども対処でき、これら修正後の入力履歴が正しいことは、総入力項数が数値の個数と一致することを確認することと、更に、入力履歴を入力順方向又は逆入力順方向に入力項番号と数値を対照しながら遡り表示させることで、まさに、入力履歴の内容が所望される計算内容と全く同じことを実施に確認することが可能である。
・また、入力した数値が違っていた場合も、正しい数値の入力と置換キーの押し下げにより容易に出来、この正しい数値に正しく修正がなされたことも、この修正された入力履歴の前後の入力項を入力項番号と数値を対照しながら表示させることで、容易且つ確実に確認できる。
・また、上記のように入力履歴を表示確認し、又は、必要に応じてこれを修正した後、モード切替キーにより通常電卓モードに復帰する際に、自動的に、入力履歴記憶メモリに記憶された入力履歴を自動的に入力項ごとに順次先頭から呼び出して再計算し、その再計算結果を表示する手段により、まさに、モード切替キーの1打鍵のみで、確認・修正された正しい入力履歴の再計算結果を得ることが出来る。
・また、上記の再計算終了後と、イコールキーによる計算の終了後に、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性をとれない入力を禁じる手段」と「その入力禁止を解除し、既に記憶された入力履歴と演算子と数値が交互に現れる整合性を保ちながら、計算及び入力履歴の記憶を再開する手段」を持つことにより、計算の途中又は計算の終了後に入力履歴を表示した場合も、通常電卓モードに移行する際に自動的に行われる再計算結果表示に続けて、「既に記憶された入力履歴とこれから入力する数値をつなぐ演算子」として所望する演算子キーを押し下げすることにより、残りの計算作業及びその入力履歴記憶作業を続行することが出来る。
・また、上記の、「既に記憶された入力履歴と演算子と数値が交互に現れる整合性をとれない入力を禁じたことと、その入力禁止を解除して計算を再開する方法を知らせる表示手段」を持つことにより、ユーザーは容易に「この入力が禁じられたこと」、そして、「計算の再開方法(加減乗除キーのいずれかを押すことによる。)」を知ることが出来る。
・また、計算の途中で直前の数回に入力した入力内容の誤りの可能性を感じることも非常にしばしばあることであるが、前キーを押下することによって入力履歴表示モードに移行すると同時にすぐ直前に入力した入力項を表示する機能は、通常電卓モードに移行するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算の途中の任意の時点で直前に入力した数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の計算作業を飛躍的に着実で苦労の少ないものとすることが出来るといった大きな効能を持っている。
・また、計算がすべて終了した後に、計算の途中の部分での入力の誤りがあったのではないかと感じることも非常にしばしばあることであるが、大量の計算においても、移動キーを押下することによって入力履歴表示モードに移行すると同時に指定された入力項を表示する機能は、通常電卓モードに移行するのと同時に入力履歴を再計算してその結果を表示する機能、そして、演算子と数値が交互に現れる整合性を保ちながら計算を再開する機能と合わせ備えられることで、計算が全て終了した後においても入力の誤りが発生したと心配される入力項番号の入力項付近の数回の入力履歴を振り返って参照確認し、必要があればこれを修正して、再び、元の計算に復帰して計算を再開すると言った作業を反復することを可能にし、計算事務に従事する人の検算作業を飛躍的に容易で苦労の少ないものとすることが出来るといった大きな効能を持っている。
・また、本発明の卓上加減乗除計算機は、通常電卓モードにおいては、数値の右にその数値の直後に置かれる演算子を表示し、入力履歴表示モードにおいては、数値の左にその数値の直前に置かれる演算子を表示することにより、非常な見やすさと分かりやすさを提供している。
・また、電源投入後の初期状態、あるいは、ACキー押し下げによる入力履歴クリア後の初期状態において、最初に数字キーが押し下げられた時には「+」を先頭の入力項の数値の前に置かれる最初の演算子とし最初に加減乗除の演算子キーが押し下げられた時には当該押し下げられた演算子を先頭の入力項の数値の前に置かれる最初の演算子として入力履歴を記憶する手段は、先頭の入力項の数値の前に置かれる最初の演算子を意識することなく数字キーでも計算を開始出来ると共に、先頭の入力項の数値の前に置かれる最初の演算子を意識して、例えば、先頭の入力項の数値の前に置かれる最初の演算子を「−」として演算を開始することをも可能にする、柔軟性ある計算の開始方法を提供する。
【図面の簡単な説明】
【図1】本発明の卓上加減乗除計算機の実施例の外観図である。
【図2】本発明の卓上加減乗除計算機の実施例の電子回路の構成を示すブロック図である。
【図3】本発明の卓上加減乗除計算機の実施例(入力項番号を共に記憶する場合)のRAMにおけるレジスタ、及び、フラグの構成を示す図である。
【図4】本発明の卓上加減乗除計算機の実施例(入力項番号は記憶せず、アドレスから逆算して入力項番号を得る場合)のRAMにおけるレジスタ、及び、フラグの構成を示す図である。
【図5】本発明の卓上加減乗除計算機の実施例の、通常電卓モードにおける計算と、入力履歴表示モードにおける、入力履歴表示・修正の処理、再計算処理、数字キー入力禁止処理、及び、その禁止解除による計算及び入力履歴記憶の再開処理、等に伴うキー操作と、その操作後になされる表示動作、及び、当該キーが押された後における重要なフラグと直前演算子レジスタ、直後演算子レジスタの状態を示す図である。
【図6】上記の図5の続きの図である。
【図7】本発明の実施例の、数字キーを押し下げた場合の処理を示すフローチャートである。
【図8】本発明の実施例の、加減乗除キーを押し下げた場合の処理を示すフローチャートである。
【図9】本発明の実施例の、イコールキーを押し下げた場合の処理を示すフローチャートである。
【図10】本発明の実施例の、モード切替キーを押し下げた場合の処理を示すフローチャートである。
【図11】本発明の実施例の、次キーを押し下げた場合の処理を示すフローチャートである。
【図12】本発明の実施例の、前キーを押し下げた場合の処理を示すフローチャートである。
【図13】本発明の実施例の、置換キーを押し下げた場合の処理を示すフローチャートである。
【図14】本発明の実施例の、移動キーを押し下げた場合の処理を示すフローチャートである。
【図15】本発明の実施例の、挿入キーを押し下げた場合の処理を示すフローチャートである。
【図16】本発明の実施例の、削除キーを押し下げた場合の処理を示すフローチャートである。
【図17】本発明の実施例の、ACキーを押し下げた場合の処理を示すフローチャートである。
【符号の説明】
1…液晶表示部、2…モード表示部、3…入力項番号表示部、4…総入力項数表示部、5…数値表示部、6…右演算子表示部、7…左演算子表示部、8…メッセージ表示部、9…報音代替表示部、10…CPU、11…ROM、12…キー入力部、12a…モード切替キー、12b…ACキー、12c…前キー、12d…次キー、12e…置換キー、12f…移動キー、12g…挿入キー、12h…削除キー、12i…「+」キー、12j…「−」キー、12k…「×」キー、12l…「÷」キー、12m…「=」キー、12n…数字キー、13…表示駆動回路、14…表示部、15…増幅回路、16…スピーカー、17…RAM、18…数値表示レジスタ、19…入力項番号表示レジスタ、20…総入力項数表示レジスタ、21…右演算子表示レジスタ、22…左演算子表示レジスタ、23…答えレジスタ、24…入力項カウンタ、25…直前演算子表示レジスタ、26…直後演算子表示レジスタ、F…動作モードフラグ、R…数字キー禁止フラグ、S…初期状態フラグ、A…演算キー押後フラグ、N…新数字入力フラグ、27…アドレスポインタ、28…アドレス待避レジスタ、29…挿入削除用一時記憶レジスタ、30…入力履歴記憶メモリ、30a…置数記憶メモリ、30b…演算子記憶メモリ、30c…入力項番号記憶メモリ。
Claims (9)
- 通常電卓モードにおいて計算を行う際に、「入力された演算子と数値を入力項ごとに、順次、入力履歴記憶メモリに記憶する手段」を持ち、また、「入力履歴表示モードへの移行手段」により移行する入力履歴表示モードにおいて、「入力履歴記憶メモリに記憶された数値と演算子を入力項ごとに表示する手段」と、この表示手段により表示された「入力履歴記憶メモリ中の入力項の数値の記憶内容及び演算子の記憶内容を入力項毎に修正する手段」と、「入力履歴記憶メモリに記憶された入力履歴を入力項ごとに順次先頭から呼び出して自動的に再計算し、その再計算結果を表示する手段」を持つと共に、通常電卓モードにおける計算の途上及び再計算の直後において、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」と「その入力禁止を解除し、既に記憶された入力履歴と演算子と数値が交互に現れる整合性を保ちながら計算及び入力履歴の記憶を再開する手段」を持つ卓上加減乗除計算機。
- 「通常電卓モードへの移行手段」により通常電卓モードに復帰するのと同時に、請求項1記載の「入力履歴記憶メモリに記憶された入力履歴を入力項ごとに順次先頭から呼び出して自動的に再計算し、その再計算結果を表示する手段」と、請求項1記載の「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」を続けて実行することにより、通常電卓モードに復帰するのと同時に、所望の正しい再計算結果を得ると共に、その後に続く計算及び入力履歴の記憶の再開に備えることを特徴とする請求項1記載の卓上加減乗除計算機。
- 「既に記憶された入力履歴と演算子と数値が交互に現れる整合性を保てない入力を禁じたことと、その入力禁止を解除して計算を再開する方法を使用者に知らせる手段」を持つことを特徴とする請求項1記載の卓上加減乗除計算機。
- 「入力履歴表示モードに移るのと同時に、直前に入力したばかりの最終入力項の数値及び演算子を表示して、この最終入力項付近の入力内容を確認あるいは修正する手段」を持つと共に、その確認あるいは修正の後、「通常電卓モードへの移行手段」により通常電卓モードに復帰するのと同時に、「入力履歴記憶メモリに記憶された入力履歴を入力項ごとに順次先頭から呼び出して自動的に再計算し、その再計算結果を表示する手段」と、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」を続けて実行することにより、通常電卓モードに復帰するのと同時に、所望の正しい再計算結果を得ると共に、その後に続く計算及び入力履歴の記憶の再開に備えることを特徴とする請求項1記載の卓上加減乗除計算機。
- 「入力履歴表示モードに移るのと同時に、誤入力があったと思われる任意の入力項番号の入力項の数値及び演算子を表示して、この誤入力があったと思われる任意の入力項付近の入力内容を確認あるいは修正する手段」を持つと共に、その確認あるいは修正の後、「通常電卓モードへの移行手段」により通常電卓モードに復帰するのと同時に、「入力履歴記憶メモリに記憶された入力履歴をに入力項ごとに順次先頭から呼び出して自動的再計算し、その再計算結果を表示する手段」と、「既に記憶された入力履歴と、演算子と数値が交互に現れる整合性を保てない入力を禁じる手段」を続けて実行することにより、通常電卓モードに復帰するのと同時に、所望の正しい再計算結果を得ると共に、その後に続く計算及び入力履歴の記憶の再開に備えることを特徴とする請求項1記載の卓上加減乗除計算機。
- 「入力履歴表示モードにおいて、次の入力項が存在せず計算を再開すべき位置である最終の入力項に至ったこと、あるいは、前の入力項が存在せず計算及び入力履歴の記憶を開始した位置である先頭の入力項に至ったこと、あるいは指定された任意の入力項が存在しないことを、確実に使用者に知らせる、入力項番号と総入力項数の表示手段、あるいは、報音手段又は報音代替表示手段」を持つことを特徴とする請求項1記載の卓上加減乗除計算機。
- 総入力項数表示部と入力項番号表示部の二つを持つと共に、通常電卓モード及び入力履歴表示モードにおいて、「入力中及び表示中の数値を、入力履歴中における相対的位置を知るための入力項番号と総入力項数と共に表示する手段」を持ち、入力履歴表示モードにおいては、「入力項番号の順序と総入力項数の整合性、及び、演算子と数値が交互に現れる整合性を保ちながら、入力履歴記憶メモリに記憶された入力項を挿入する手段、及び、入力履歴記憶メモリに記憶された入力項を削除する手段」を持つことを特徴とする請求項1記載の卓上加減乗除計算機。
- 演算子表示部を数値表示部の右と左に二つ持つと共に、「通常電卓モードにおいては、数値表示部の右の演算子表示部にその数値の直後に置かれる演算子を表示し、入力履歴表示モードにおいては、数値表示部の左の演算子表示部にその数値の直前に置かれる演算子を表示する手段」を持つことを特徴とする請求項1記載の卓上加減乗除計算機。
- 電源投入後の初期状態、あるいは、ACキー押し下げによる入力履歴クリア後の初期状態において、「最初に数字キーが押し下げられた時には+の演算子を先頭の入力項の数値の前に置かれる演算子と判断し、最初に加減乗除の演算子キーが押し下げられた時には当該押し下げられた演算子を先頭の入力項の数値の前に置かれる演算子と判断して、演算子と数値が交互に現れる整合性を保ちながら入力履歴の記憶を開始する手段」を持つことを特徴とする請求項1記載の卓上加減乗除計算機。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22702897A JP3637520B2 (ja) | 1997-08-11 | 1997-08-11 | 容易な検算及び着実な計算作業の出来る卓上加減乗除計算機 |
PCT/JP1998/002283 WO1999008199A1 (fr) | 1997-08-11 | 1998-05-26 | Calculatrice de bureau permettant une verification facile et produisant un calcul fiable |
US09/462,529 US6557018B1 (en) | 1997-08-11 | 1998-05-26 | Desk calculator capable of easy checking and trustworthy calculation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP22702897A JP3637520B2 (ja) | 1997-08-11 | 1997-08-11 | 容易な検算及び着実な計算作業の出来る卓上加減乗除計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1166012A JPH1166012A (ja) | 1999-03-09 |
JP3637520B2 true JP3637520B2 (ja) | 2005-04-13 |
Family
ID=16854394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP22702897A Expired - Fee Related JP3637520B2 (ja) | 1997-08-11 | 1997-08-11 | 容易な検算及び着実な計算作業の出来る卓上加減乗除計算機 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6557018B1 (ja) |
JP (1) | JP3637520B2 (ja) |
WO (1) | WO1999008199A1 (ja) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4505920B2 (ja) * | 2000-01-27 | 2010-07-21 | ソニー株式会社 | 情報表示装置 |
JP3696108B2 (ja) * | 2001-03-21 | 2005-09-14 | シャープ株式会社 | 買物計算処理方法および買物計算機能付情報処理装置 |
JP3757138B2 (ja) * | 2001-08-14 | 2006-03-22 | シャープ株式会社 | 買物計算機能付情報処理装置およびコンピュータ読み取り可能な記憶媒体 |
JP3757154B2 (ja) * | 2001-11-14 | 2006-03-22 | シャープ株式会社 | 買物計算機能付情報処理装置、買物計算プログラムおよび記録媒体 |
US20050269393A1 (en) * | 2004-06-08 | 2005-12-08 | Kinpo Electronics, Inc. | Calculator capable of repeatedly pronouncing previous input data and method of repeatedly pronouncing the same |
US8161088B2 (en) * | 2005-02-24 | 2012-04-17 | Faf Verwaltungs Gmbh | Pocket calculator for financial, mathematical calculation routines |
JP5245344B2 (ja) * | 2007-10-04 | 2013-07-24 | カシオ計算機株式会社 | 電子式計算機およびその制御プログラム |
US8464179B2 (en) * | 2008-07-30 | 2013-06-11 | Hewlett-Packard Development Company, L.P. | Math menu user interface on a calculator |
JP6524740B2 (ja) | 2015-03-19 | 2019-06-05 | カシオ計算機株式会社 | 電子機器、計算処理プログラム |
CN105955651A (zh) * | 2016-04-29 | 2016-09-21 | 乐视控股(北京)有限公司 | 一种计算器的显示管理方法及装置 |
JP6926556B2 (ja) * | 2017-03-17 | 2021-08-25 | カシオ計算機株式会社 | 計算装置、計算方法、及びプログラム |
JP7035977B2 (ja) * | 2018-02-14 | 2022-03-15 | カシオ計算機株式会社 | 電子機器、電子機器の制御方法及びプログラム |
JP7192342B2 (ja) | 2018-09-20 | 2022-12-20 | カシオ計算機株式会社 | 電子機器、電子機器の制御方法、及び電子機器の制御プログラム |
JP7020469B2 (ja) | 2019-12-10 | 2022-02-16 | カシオ計算機株式会社 | 電子機器、電子機器の制御方法、及び電子機器の制御プログラム |
JP7349148B2 (ja) * | 2020-07-02 | 2023-09-22 | 弘充 根来川 | 電卓 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56153468A (en) * | 1980-04-30 | 1981-11-27 | Casio Comput Co Ltd | Changing system for input data of minicomputer |
JPS58213369A (ja) * | 1982-06-05 | 1983-12-12 | Casio Comput Co Ltd | 検算機能付小型電子式計算機 |
JPH0421151Y2 (ja) * | 1986-08-19 | 1992-05-14 | ||
JP2863077B2 (ja) * | 1994-02-10 | 1999-03-03 | 日立ソフトウエアエンジニアリング株式会社 | 電子計算装置 |
US5526475A (en) * | 1994-03-02 | 1996-06-11 | Mathsoft, Inc. | Method for live symbolic calculations in a mathematical document editor |
JP3140916B2 (ja) * | 1994-08-05 | 2001-03-05 | シャープ株式会社 | 数式入力装置 |
US5844555A (en) * | 1996-06-20 | 1998-12-01 | Mathsoft, Inc. | Locking mechanism for live mathematical documents |
-
1997
- 1997-08-11 JP JP22702897A patent/JP3637520B2/ja not_active Expired - Fee Related
-
1998
- 1998-05-26 WO PCT/JP1998/002283 patent/WO1999008199A1/ja active Application Filing
- 1998-05-26 US US09/462,529 patent/US6557018B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1166012A (ja) | 1999-03-09 |
US6557018B1 (en) | 2003-04-29 |
WO1999008199A1 (fr) | 1999-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3637520B2 (ja) | 容易な検算及び着実な計算作業の出来る卓上加減乗除計算機 | |
US5289393A (en) | Portable electronic apparatus | |
EP0126286B1 (en) | Electronic cash register | |
US6809641B2 (en) | Method for disabling alarm temporarily in mobile communication terminal | |
EP1643748B1 (en) | Information apparatus having a demonstration mode and control method of the same | |
WO2011138836A1 (ja) | 電子式計算機 | |
EP0964322A1 (en) | Electronic Timepiece | |
JP2778141B2 (ja) | ミシン | |
JP3693262B2 (ja) | 電子計算機 | |
KR100246519B1 (ko) | 전자계산기 | |
JP3508277B2 (ja) | 電子計算機 | |
JPH0622014B2 (ja) | データ処理装置のパスワード呼出し方法 | |
US5886910A (en) | Computer with a check function | |
JP3897710B2 (ja) | 部門管理機能付き画像形成装置 | |
JP2001325309A (ja) | ウィンドウ表示による形状作成方法および装置 | |
JPH0622011B2 (ja) | データ処理装置のデータ呼出し方法 | |
JPH0622012B2 (ja) | データ処理装置のパスワード呼出し方法 | |
JPH10187622A (ja) | 税計算機及び税計算方法 | |
JPH08221368A (ja) | 電子計算機 | |
JPH0611582A (ja) | 電子処理装置 | |
JPH0895923A (ja) | 電子機器 | |
JPH05108574A (ja) | プリンタ付き電卓 | |
JPH08179750A (ja) | グラフ表示装置 | |
JPH0931730A (ja) | 衣服型紙作成装置 | |
JPH05344257A (ja) | デジタル複写機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040402 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041020 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20041015 |
|
TRDD | Decision of grant or rejection written | ||
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20041209 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041221 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041224 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120121 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |