以下、図面により本発明の実施の形態について説明する。
図1は、本発明の電子機器の実施形態に係る電卓10の外観構成を示す正面図である。
電子機器は、以下に説明する計算専用の電卓10として構成されるか、計算機能を有する(計算処理プログラムが実装された)パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯電話機、タッチパネル式PDA(personal digital assistants)、電子ブック、携帯ゲーム機等として構成される。なお、電卓10のような物理的なキー(ボタン)が実装されていない電子機器は、電卓10のキーと同様なソフトウェアキーボードを表示し、このソフトウェアキーボードに対するキー操作に応じて計算処理を実行する。
電卓10は、携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズにより構成される。電卓10の本体正面には、キー入力部11および表示部16が設けられる。
キー入力部11には、数値キー、演算キー、機能キーが設けられる。数値キーには、例えば[00][0]〜[9]のそれぞれに対応する複数のキーを含む。演算キーには、例えば[+](加算)、[−](減算)、[×](乗算)、[÷](除算)、[=]のそれぞれに対応する複数のキーを含む。機能キーには、例えばオールクリアキー([AC]キー12)、クリアキー([C]キー)、複数のメモリキー([MC][MR][M−][M+])、グランドトータルキー([GT]キー)、ルートキー([√]キー)、[%]キーなどが含まれる。
さらに、電卓10のキー入力部11には、検算機能において入力の訂正を指示するための訂正キー([correct]キー)17と、検算機能の実行を指示するための検算キー([Re-check]キー)18が設けられる。
表示部16は、ドットマトリクス型の液晶表示ユニットからなる。表示部16には、キー入力部11のキーに対する操作により入力された数式が表示される他、表示部16の上辺に沿って設けられた状態表示エリア16aに、設定中の計算モードや各種設定状態、計算データや検算データの入力履歴行を示す文字や記号が表示される。
図2は、電卓10の電子回路の構成を示すブロック図である。電卓10の電子回路は、CPU21を含む、コンピュータを構成する複数のユニットを備えている。
CPU21は、メモリ22に記憶された計算処理プログラム22aを実行することにより、回路各部の動作を制御し、キー入力部11からのキー入力信号に応じた各種の演算処理を実行する。電卓10は、CPU21が計算処理プログラム22aに記述された命令に従い回路各部の動作を制御し、ソフトウェアとハードウェアとが協働して動作することにより、以下の動作説明で述べる検算機能による処理を含む計算処理を実現する。
計算処理プログラム22aは、予めメモリ22に記憶されていても良いし、記録媒体読取部23を介してメモリカード等の外部記録媒体23から読み込まれても良いし、あるいは通信部25を介して通信ネットワーク(インターネット等を含む)上のサーバからダウンロードされても良い。
メモリ22には、計算処理プログラム22aが記憶される他に、計算モード記憶エリア22b、検算データ記憶エリア22c、計算データ記憶エリア22d、誤入力パターン記憶エリア22eなどが確保される。
計算モード記憶エリア22bには、例えば、通常の計算をする通常モード、検算機能による検算機能をする検算モードの何れかを示すモードデータが記憶される。検算データ記憶エリア22cには、検算モード時において検算用に入力される数式の計算データが記憶される。計算データ記憶エリア22dには、通常モード時において通常の計算用に入力される数式の計算データが記憶される。
検算データ記憶エリア22cと計算データ記憶エリア22dには、複数の入力履歴行(例えば、100行分)が確保され、ユーザによるキー操作により入力されるキーコードが計算データとして順次記憶される。例えば、数値キーが操作された場合には、数値を示すキーコード(数値コード)が1要素として記憶され、演算キーが操作された場合には、例えば算術記号(「+」「−」「×」「÷」)を示すキーコード(演算コード)が1要素として記憶される。
なお、本実施形態では、演算キーの操作により演算コードが入力された場合に、演算コードの入力前に入力された数値コードと演算コードとを同じ入力履歴行に記憶させるものとする。
誤入力パターン記憶エリア22eには、ユーザの入力操作が誤入力の可能性のある特定操作であるかを判別するための複数の誤入力可能性の種類である誤入力パターンデータが記憶される。誤入力パターンは、ユーザ操作により誤入力の可能性のある特定操作の計算データが入力される場合のパターンを示す。誤入力パターンデータには、複数の誤りの計算データを入力する入力操作を示す複数の誤入力パターンが含まれる。
また、電卓10は、計算処理プログラム22aに基づくCPU21の制御により、各種パターンの電子音を出力する音出力部27を有する。
図3は、本実施形態における誤入力パターンデータの一例を示す図である。図3に示すように、誤入力パターンデータは、複数の誤入力パターン(誤入力の種類)のそれぞれについて、ユーザが実際に行った操作の回数(間違い回数)が対応づけられている。間違い回数は、検算機能において訂正をした場合に、その訂正が誤入力パターンに対応する場合に更新される。また、図3に示す誤入力パターンデータには、ユーザの操作により実際に入力されたデータ(キーコード)を記録するための誤りデータエリアが設けられる。誤りデータエリアには、ユーザが誤りと判定したデータと、誤りと判定したデータを修正した後の正しいデータとが対応づけて記憶される。図3では、誤りデータエリアを「例1」「例2」…として示している。
図3には、例えばA,B,C,D,Eに示す5つのタイプ(種類)の誤入力パターンの例を示している。
Aタイプの誤入力パターンは、「1箇所入れ替えると連続となる場合に、連続する3数字に間違える」パターンである。例えば、「10435」と数値を入力すべきところ、「435」を連続する3数字「345」に置き換えて「10345」と誤入力するパターンである。
Bタイプの誤入力パターンは、「連続する3文字中で2文字0のとき、0の位置を間違える」パターンである。例えば、「15010」と数値を入力すべきところ、「010」を「001」に置き換えて「15001」と誤入力するパターンである。
Cタイプの誤入力パターンは、「小数点位置を間違える」パターンである。例えば、「100.3」と数値を入力すべきところ、「10.03」と誤入力するパターンである。
Dタイプの誤入力パターンは、「連続する0の数を間違える」パターンである。例えば、「3100」と数値を入力すべきところ「310」と誤入力するパターンである。
Eタイプの誤入力パターンは、「連続して増加/減少する3文字を連続して減少/増加する3文字に間違える」パターンである。例えば、「10432」と数値を入力すべきところ、「10234」と誤入力するパターンである。
なお、誤入力パターンは、図3に示すA〜Eのパターンに限定されず、その他の様々なパターンが含まれていても良い。また、誤入力パターンは、ユーザが実際に誤入力したパターンを追加登録したり、予め設定されたパターンを登録したりすることができる。ユーザが実際に誤入力したパターンを追加登録する場合、誤入力操作により入力された計算データに対するユーザの訂正に基づいて誤入力パターンを判別して登録するものとする。ユーザによる計算データに対する訂正に基づいて誤入力パターンを記録することで、ユーザが誤りやすい操作に対して的確に報知することが可能となる。
次に、本実施形態における電卓10の動作について説明する。
図4及び図5は、本実施形態における電卓10の計算処理を示すフローチャートである。図6、図7及び図8は、本実施形態における電卓10の計算処理の具体例を示す図である。
まず、図6を参照しながらユーザが誤入力してしまう傾向にある誤入力の種類である誤入力パターンの決定方法について説明する。
まず、計算を開始前に表示をクリアするためにユーザにより[AC]キー12が操作(押下)される。CPU21は、[AC]キー12が押下されると(ステップS1、Yes)、計算データ記憶エリア22dに新規の計算データを入力するため、新規の入力履歴を格納する位置を示す新規履歴入力の行Noを設定する(ステップS6)。初期状態では、入力履歴行の行Noを「001」に設定する。
次に、計算の対象とする数値を入力するためにユーザにより数値キーが操作されると(ステップS3、Yes)、CPU21は、入力操作された数値キーに応じた数値(数値コード)を入力し(ステップS8)、入力された数値を表示部16において表示させる。続いて、演算キーが操作されると(ステップS4、Yes)、CPU21は、入力操作された演算キーに応じた演算(演算コード)を入力し、入力された演算の演算記号を表示部16の状態表示エリア16aにおいて表示させる。CPU21は、連続計算時(計算途中)であれば、演算コードに応じた演算を実行して、演算途中の結果を表示部16に表示させる(ステップS9)。
CPU21は、検算モード中でない場合(通常算モード)(ステップS11、No)、計算データ記憶エリア22dの現在の入力履歴行に、表示部16に表示中の数値(入力された数値、あるいは計算途中の数値)と演算コードとを格納し、次の入力のために履歴入力行の行Noを1増やす(ステップS12)。
以下、同様にして、数値コードと演算コードの入力が繰り返されることにより、CPU21は、入力された数値コードと演算コードとを、行Noを更新しながら、入力履歴行に順次格納していく。
そして、ユーザ操作により「=」(イコール)キーが操作されると(ステップS5、Yes)、CPU21は、入力操作された演算キー(「=」キー)に応じた演算(演算コード)を入力し、それまでに入力された数値コードと演算コードに応じた計算を実行し、計算結果を表示部16に表示させる(ステップS10)。CPU21は、現在の入力履歴行に、表示部16に表示中の数値(計算結果の数値)と演算コードとを格納し、次の入力のために履歴入力行の行Noを1増やす(ステップS12)。
例えば、図6(A)は、[AC]キー12の操作によりクリアされた後、数値キーにより数値「15010」が入力され、「−」キー(減算キー)により演算コードが入力された時の表示部16の表示例を示している。CPU21は、表示部16に入力された数値「15010」を表示させる。また、CPU21は、表示部16の状態表示エリア16aに、現在の入力履歴行の行Noを示す「001」と、減算キーが操作されたことを示す「−」マークを表示させる。
続いて、数値「3100」が入力されると、CPU21は、図6(B)に示すように、数値「3100」を表示させる。そして、「=」キーの操作により計算実行が指示されると、CPU21は、図6(C)に示すように、計算結果とする数値「11910」を表示させると共に、表示部16に「=」マークを表示させる。
次に、1回目の計算について検算機能により検算をする場合について説明する。
まず、検算のための計算を開始前に表示をクリアするためにユーザにより[AC]キー12が操作(押下)される。CPU21は、[AC]キー12が押下されると(ステップS1、Yes)、計算データ記憶エリア22dに新規の計算データを入力するため、新規の入力履歴を格納する位置を示す新規履歴入力の行Noを設定する(ステップS6)。
ここで、検算キー18([Re-check]キー)が操作されると(ステップS2、Yes)、CPU21は、検算モードを設定し、検算モードにあることを明示するために検算状態シンボル「RE−CHK」を状態表示エリア16aに表示させる。また、CPU21は、検算データ記憶エリア22cに検算用の新規の計算データを入力するため、新規の入力履歴を格納する位置を示す新規履歴入力の行Noを設定する(ステップS7)。初期状態では、入力履歴行の行Noを「001」に設定する。
ユーザは、先に実行した計算(1回目の計算)を検算するために、同じ計算のための入力を開始する。
検算のための計算の対象とする数値を入力するためにユーザにより数値キーが操作されると(ステップS3、Yes)、CPU21は、入力操作された数値キーに応じた数値(数値コード)を入力し、入力された数値を表示部16において表示させる。続いて、演算キーが操作されると(ステップS4、Yes)、CPU21は、入力操作された演算キーに応じた演算(演算コード)を入力し、入力された演算の演算記号を表示部16の状態表示エリア16aにおいて表示させる。CPU21は、連続計算時(計算途中)であれば、演算コードに応じた演算を実行して、演算途中の結果を表示部16に表示させる(ステップS9)。
CPU21は、検算モード中である場合(ステップS11、Yes)、検算データ記憶エリア22cの現在の入力履歴行に、表示部16に表示中の数値(入力された数値、あるいは計算途中の数値)と演算コードとを格納し、次の入力のために履歴入力行の行Noを1増やす(ステップS13)。
ここで、CPU21は、前回(1回目)の計算時に計算データ記憶エリア22dの入力履歴行に格納された値(数値と演算コード)と、今回(2回目)の計算時に検算データ記憶エリア22cの入力履歴行に格納された値(数値と演算コード)とを比較する。
ここで、前回値と今回値とが異なると判別した場合(ステップS14、Yes)、CPU21は、前回の計算時のキー操作と、今回(検算)の計算時のキー操作とが不一致であること、すなわちキー操作が誤りであることをユーザに通知するための報知を出力する(ステップS17)。報知の出力形態としては、例えば表示部16にキー操作の誤りを示す表示をしたり、特定パターンの音を出力したりすることができる。なお、報知は、表示あるいは音の出力の何れか一方だけでも良いし、ユーザが予め選択できるようにしても良い。
また、CPU21は、表示部16に表示されている結果(演算の途中結果を示す数値)を、入力された数値の表示に戻す(ステップS17)。
ここで、誤りと判定されたキー操作(数値の誤入力)を訂正するために訂正キー17が操作されると(ステップS21、Yes)、CPU21は、数値キーの操作に応じて数値を入力して、先に入力された数値を訂正する(ステップS22)。
なお、検算モード中において検算キー18が操作された場合(ステップS18、Yes)、CPU21は、前回の計算において入力されたデータ(数値)と、今回の検算のための計算において入力されたデータ(数値)とを切り替え表示させる(ステップS19)。ユーザは、検算キー18を操作することで前回と今回の入力したデータを表示させて、何れのデータが正しいかを確認することができる。
ユーザが正しいと判断した数値が入力された後、ユーザ操作により「=」(イコール)キーが操作されると(ステップS20、Yes)、CPU21は、表示部16に表示されたデータ(数値)を正しいデータ(今回値)として入力し(ステップS23)、誤入力パターン記憶エリア22eに設定された何れの誤入力パターン(誤入力の種類)に合致するかを決定し、該当する誤入力パターンの間違い回数に1加算する(ステップS24)。
また、CPU21は、入力操作された演算キー(「=」キー)に応じた演算(演算コード)を入力し、それまでに入力された数値コードと演算コードに応じた計算を実行し、計算結果を表示部16に表示させる。CPU21は、現在の入力履歴行に、表示部16に表示中の数値(計算結果の数値)と演算コードとを格納する。
なお、計算式が長い場合には、前述と同様にして、数値コードと演算コードの入力が繰り返され、CPU21は、「=」キーが操作されるまで、入力された数値コードと演算コードに対して、前述と同様の処理を繰り返すものとする。
CPU21は、「=」キーが操作されて検算が完了すると、検算モードを解除して、通常の計算をする通常モードに戻る。
図6(D)〜(H)は、図6(A)〜(C)に示す1回目の計算に対する検算機能(2回目の計算)による処理の具体例を示している。
例えば、図6(D)は、[AC]キー12の操作によりクリアされた後、検算キー18の操作により検算モードに移行され、数値キーにより数値「15001」が入力され(図4,ステップS3→S8)、「−」キー(減算キー)により演算コードが入力された時の表示部16の表示例を示している。CPU21は、表示部16の状態表示エリア16aに、検算モード中であることを示す「RE−CHK」、現在の入力履歴行の行Noを示す「001」、減算キーが操作されたことを示す「−」マークを表示させる。また、CPU21は、表示部16に入力された数値「15001」を表示させる。具体的には、演算キーを押して計算実行される前の入力数値の表示に戻して表示させる。(ステップS4→S9→S11→S14Yes→S17)。
この場合、入力された数値「15001」が、図6(A)に示す1回目の計算の数値「15010」と不一致であるため、キー操作が誤りであることをユーザに通知するため、CPU21は、表示部16に判定結果シンボル「NG」を表示させると共に、誤りを報知するための第1音パターン「ピーッ」の音を音出力部27によって出力させる(ステップS17)。
ここで、入力した数値を修正するために訂正キー17が操作され(ステップS21)、続いて数値「15010」が入力され、「−」キー(減算キー)が操作されると、CPU21は、図6(E)に示すように、入力された数値「15010」を表示させ、表示データを正しいデータとして訂正入力する(ステップS23)。この場合、1回目の計算の数値「15010」と一致するため、CPU21は、キー操作が正しいと判定し、表示部16の「NG」を消去する。
また、CPU21は、ユーザの操作によって数値の訂正がされたことから、先に入力された数値「15001」が誤りのキー操作により入力されたデータであり、後に入力された数値「15010」が正しいキー操作により入力されたデータと判別する。CPU21は、この誤入力パターンが図3に示すBタイプに合致するため、Bタイプに対応する間違い回数を1加算すると共に、誤りデータエリアに誤りと判定したデータ「15001」と正しいデータ「15010」を記憶させる(ステップS23、S24)。CPU21は、誤入力パターンを登録したことをユーザに通知するための第1音パターンとは異なる第2音パターン「ピッ」の音を音出力部27によって出力させる。
さらに、検算を続けるために次の数値「310」が入力され(図4,ステップS3→S8)、「=」キーにより計算実行が指示されると、CPU21は、図6(F)に示すように、表示部16に入力された数値「310」を表示させる(ステップS5→S10)。
この場合、入力された数値「310」が、図6(B)に示す1回目の計算の数値「3100」と不一致であるため、キー操作が誤りであることをユーザに通知するため、CPU21は、図6(F)に示すように、表示部16に「NG」を表示させると共に、誤りを報知するための第1音パターン「ピーッ」の音を音出力部27によって出力させる(ステップS10→S11Yes→S17)。
ここで、入力した数値を修正するために訂正キー17が操作され(ステップS21)、続いて数値「3100」が入力され、「=」キーが操作されると、CPU21は、図6(G)に示すように、入力された数値「3100」を表示させ、表示データを正しいデータとして訂正入力する(ステップS23)。この場合、1回目の計算の数値「3100」と一致するため、CPU21は、キー操作が正しいと判定し、表示部16の「NG」を消去する。
CPU21は、ユーザの操作によって数値の訂正がされたことから、先に入力された数値「310」が誤りのキー操作により入力されたデータであり、後に入力された数値「3100」が正しいキー操作により入力されたデータと判別する。CPU21は、この誤入力パターンが図3に示すDタイプに合致するため、Dタイプに対応する間違い回数を1加算すると共に、誤りデータエリアに誤りと判定したデータ「310」と正しいデータ「3100」を記憶させる(ステップS23)。
また、CPU21は、図6(H)に示すように、計算結果とする数値「11910」を表示させると共に、一連の検算のための計算操作が完了したことをユーザに通知するために、表示部16に判定結果シンボル「OK」を表示させると共に、第3音パターン「ピッピッ」の音を音出力部27によって出力させる。
次に、他の計算と検算の具体例について、図7(A)〜(J)を参照して説明する。
図7(A)〜(C)は、通常モードにおいて「10070×10.03=101002.1」の計算を実行した時の表示部16の表示例を示している。
CPU21は、通常モードにおいて[AC]キー12の操作の後、数値「10070」が入力され(ステップS3)、[×]キー(乗算キー)が操作されると(ステップS4)、図7(A)に示すように、数値「10070」を表示させる(ステップS8)と共に、状態表示エリア16aに乗算キーが操作されたことを示す「×」マークを表示させる(ステップS9)。続いて、CPU21は、数値「10.03」が入力されると、図7(B)に示すように、数値「10.03」を表示させる(ステップS3、S8)。
ここで、「=」キーが操作されると、CPU21は、状態表示エリア16aに「=」マークを表示させると共に、演算を実行して、図7(C)に示すように演算結果とする数値「101002.1」を表示させる(ステップS5→S10)。
次に、図7(A)〜(C)に示す1回目の計算について検算をする場合について説明する。
例えば、図7(D)は、[AC]キー12の操作によりクリアされた後、検算キー18の操作により検算モードに移行され(ステップS2→S7)、数値キーにより数値「10007」が入力され(ステップS3、S8)、「×」キー(乗算キー)により演算コードが入力された時(ステップS4、S9)の表示部16の表示例を示している。CPU21は、表示部16の状態表示エリア16aに、検算モード中であることを示す「RE−CHK」、現在の入力履歴行の行Noを示す「001」、乗算キーが操作されたことを示す「×」マークを表示させる。また、CPU21は、表示部16に入力された数値「10007」を表示させる。
この場合、入力された数値「10007」が、図7(A)に示す1回目の計算の数値「10070」と不一致であるため、キー操作が誤りであることをユーザに通知するため、CPU21は、表示部16に「NG」を表示させると共に、誤りを報知するための第1音パターン「ピーッ」の音を音出力部27によって出力させる(ステップS4→S9→S11→S14Yes→S17)。
ここで、検算モード中において検算キー18が操作されると、CPU21は、1回目(前回)の計算において入力されたデータ(入力履歴行の行Noが「001」のデータ)を読み出して、図7(E)に示すように、表示部16に表示させる(ステップS18→S19)。図7(E)では、図7(A)と同じ数値「10070」が表示されている。また、CPU21は、前回の計算において入力されたデータであることを示すため、データ表示状態シンボル「前回」を表示部16に表示させる。ユーザは、前回の計算で入力されたデータを表示させることにより、キー操作の誤り(数値の誤り)を確認することができる。
ユーザは、検算キー18の操作により表示された、前回の計算で入力されたデータが正しいことが確認できた場合、表示部16に表示されたデータ(数値)を用いた検算を継続することができる。すなわち、図7(E)に示す前回のデータが表示された状態で、次の演算キーとして「×」キーが操作されると、CPU21は、図7(F)に示すように、データ表示状態シンボル「前回」を消去して、前回の入力数値を正しいデータとして検算での計算データを訂正入力する(ステップS20→S23)。
これにより、訂正キー17の操作に続いて、改めて正しいデータ(数値)を入力するための操作をする必要がないため、検算処理のための操作を簡単にすることができる。
ここで、前述した訂正キー17を用いて修正した場合と同様にして、CPU21は、ユーザの操作によって数値の訂正がされたことから、前回の計算において入力された数値「10007」が正しいデータであり、今回(検算)の計算において入力された数値「10070」が誤りのデータと判別する。CPU21は、この誤入力パターンが図3に示すBタイプに合致するため、Bタイプに対応する間違い回数を1加算すると共に、誤りデータエリアに誤りと判定したデータ「10007」と正しいデータ「10070」を記憶させる(ステップS23、S24)。CPU21は、誤入力パターンを登録したことをユーザに通知するための第2音パターン「ピッ」の音を音出力部27によって出力させる。
さらに、検算を続けるために次の数値「100.3」が入力され(ステップS3、S8)、「=」キーにより計算実行が指示されると、CPU21は、図7(G)に示すように、表示部16に入力された数値「100.3」を表示させる(ステップS5、S10)。
この場合、入力された数値「100.3」が、図7(B)に示す1回目の計算の数値「10.03」と不一致であるため、キー操作が誤りであることをユーザに通知するため、CPU21は、図7(F)に示すように、表示部16に「NG」を表示させると共に、誤りを報知するための第1音パターン「ピーッ」の音を音出力部27によって出力させる(ステップS11→S14Yes→S17)。
ここで、前述と同様にして検算キー18が操作されると、CPU21は、図7(H)に示すように、1回目(前回)の計算において入力されたデータを読み出して、表示部16に表示させる(ステップS18→S19)。図7(E)では、図7(B)と同じ数値「10.03」が表示されている。また、CPU21は、前回の計算において入力されたデータであることを示すため、データ表示状態シンボル「前回」を表示部16に表示させる。
さらに、検算キー18が操作されると、CPU21は、図7(I)に示すように、2回目(今回)の計算において入力されたデータを表示部16に表示させる(ステップS18→S19)。図7(I)では、図7(G)と同じ数値「100.3」が表示されている。また、CPU21は、今回(検算)の計算において入力されたデータであることを示すため、データ表示状態シンボル「今回」を表示部16に表示させる。
こうして、ユーザは、検算キー18の操作を繰り返すことで、前回の計算で入力されたデータと今回の計算で入力されたデータを交互に切り替えて表示させて、比較により正しいデータを確認することができる。
図7(I)に示すように今回の計算において入力された数値「100.3」が表示された状態で、「=」キーが操作されると、CPU21は、数値「100.3」を用いた計算を実行して、図7(J)に示すように、計算結果とする数値「1010021」を表示させると共に、一連の検算のための計算操作が完了したことをユーザに通知するために、表示部16に「OK」を表示させると共に、第3音パターン「ピッピッ」の音を音出力部27によって出力させる。
前述した例は、前回(1回目)の計算において入力された数値「10.03」が誤りであり、今回(検算)の計算において入力された数値「100.3」が正しい場合を示している。
CPU21は、ユーザの操作によって数値の訂正がされたことから、先に入力された数値「10.03」が誤りのデータであり、後に入力された数値「100.3」が正しいデータと判別する。CPU21は、この誤入力パターンが図3に示すCタイプに合致するため、Cタイプに対応する間違い回数を1加算すると共に、誤りデータエリアに誤りと判定したデータ「10.03」と正しいデータ「100.3」を記憶させる。
こうして、図5のステップS14において、前回値と今回値とが異なると判別した場合には、前回と今回(検算)の計算の何れかにおいて誤入力操作がされている。このため、検算の際にユーザにより誤りが確認され、入力されたデータが訂正される。CPU21は、ユーザによる訂正内容に基づいて、誤入力パターンを判定し、該当する誤入力パターンに対応する間違い回数を更新する。
次に、図5のステップS14において、前回値と今回値とが一致すると判別された場合について説明する。
CPU21は、前回値と今回値とが一致すると判別した場合(ステップS14、No)、入力されたデータが、誤入力パターン記憶エリア22eの誤入力パターンデータに設定された、操作頻度の高い誤入力パターンに合致するかを判別する。
操作頻度の高い誤入力パターンは、例えば、間違い回数が予め設定された基準回数(例えば10回)以上の誤入力パターンとしても良いし、間違い回数が多い順から予め設定した数(例えば3つ)の誤入力パターンとしても良い。また、予めユーザ操作によって何れかの誤入力パターンを選択しておいても良い。
CPU21は、入力されたデータが操作頻度の高い誤入力パターンに合致すると判定した場合(ステップS15、Yes)、入力されたデータが誤入力された可能性が高いため、ユーザに注意を促すための報知をする。例えば、CPU21は、表示部16に判定結果シンボル「注意」を表示させると共に、注意を報知するための第4音パターン「ポーン」の音を音出力部27によって出力させる。第4音パターン「ポーン」の音は、例えば、第2音パターン「ピッ」の音よりも音量が低く、また低音にする。すなわち、誤入力操作をユーザに報知するためではなく、注意を促すための音であるため、ユーザに不快感を与えないように控えめの音により報知する。
また、通常モードでの1回目の計算では注意を促すための報知をせず、検算(2回目の計算)においてのみ報知することにより、頻繁の報知によりユーザを不快にさせないようにできる。
また、CPU21は、ユーザに注意を促すための報知をした後、表示部16に表示されている結果(演算の途中結果を示す数値)を、入力された数値の表示に戻す(ステップS16)。
ここで、CPU21は、前述と同様にして、訂正キー17の操作に応じて前回値と今回値を表示させ(ステップS18,S19)、また訂正キー17の操作によって、ユーザからの数値入力ができるようにする(ステップS21,S22)。これにより、ユーザは、検算のために先に入力した数値を訂正することができる。
一方、CPU21は、入力されたデータが操作頻度の高い誤入力パターンに合致しないと判定した場合(ステップS15、No)、入力されたデータが誤入力された可能性が低いため、次の処理に移行するため、現在の表示部16において計算結果を表示しているかを判定する。
ここで、表示部16において計算結果を表示していない場合には(ステップS25、No)、CPU21は、計算途中であると判別し、次のキー操作待ちの状態に戻る。
また、表示部16において計算結果を表示している場合には(ステップS25、Yes)、CPU21は、検算の対象とする前回の計算データが記憶された入力履歴行の最後であるかを判別する。ここで、入力履歴行の最後である場合(ステップS26、Yes)、CPU21は、一連の検算のための計算操作が完了したことをユーザに通知するための報知をする(ステップS27)。すなわち、CPU21は、表示部16に「OK」を表示させると共に、第3音パターン「ピッピッ」の音を音出力部27によって出力させる。
CPU21は、検算が完了すると、検算モードを解除して、通常の計算をする通常モードに戻る。
次に、前回値と今回値とが一致する場合の他の計算と検算の具体例について、図8(A)〜(I)を参照して説明する。
図8(A)〜(C)は、通常モードにおいて「123040+5200=128240」の計算を実行した時の表示部16の表示例を示している。
CPU21は、[AC]キー12の操作の後、数値「123040」が入力され、[+]キー(加算キー)が操作されると、図8(A)に示すように、数値「123040」を表示させると共に、状態表示エリア16aに加算キーが操作されたことを示す「+」マークを表示させる(ステップS4,S9)。続いて、CPU21は、数値「5200」が入力されると、図8(B)に示すように、数値「5200」を表示させる(ステップS3,S8)。
ここで、「=」キーが操作されると、CPU21は、状態表示エリア16aに「=」マークを表示させると共に、演算を実行して、図8(C)に示すように演算結果とする数値「128240」を表示させる(ステップS5,S11、S12)。
次に、図8(A)〜(C)に示す1回目の計算について検算をする場合について説明する。
例えば、図8(D)は、[AC]キー12の操作によりクリアされた後、検算キー18の操作により検算モードに移行され(ステップS2,S7)、数値キーにより数値「123040」が入力され(ステップS3,S8)、「+」キー(加算キー)により演算コードが入力された(ステップS4,S9)時の表示部16の表示例を示している。CPU21は、表示部16の状態表示エリア16aに、検算モード中であることを示す「RE−CHK」、現在の入力履歴行の行Noを示す「001」、加算キーが操作されたことを示す「+」マークを表示させる。また、CPU21は、表示部16に入力された数値「123040」を表示させる。
この場合、入力された数値「123040」が、図8(A)に示す1回目の計算の数値「123040」と一致するが、誤入力パターンに合致すると判定されたものとする。例えば、数値「123040」は、図3に示すBタイプの誤入力パターン(間違いの種類として決定され間違い回数15回として登録)に合致すると判別される(ステップS15、Yes)。
キー操作に誤りの可能性があることをユーザに通知するため、CPU21は、図8(D)に示すように、表示部16に「注意」を表示させると共に、注意を促す報知をするための第4音パターン「ポーン」の音を音出力部27によって出力させる(ステップS16)。
ユーザは、判定結果シンボル「注意」の表示、あるいは第4音パターン「ポーン」の音に応じて、表示部16に表示された現在の入力した数値を確認することができる。ユーザは、前回と今回の何れにおいても同じ誤入力操作をした場合であっても、注意を促す報知に応じて計算途中で確認することができる。そして、誤入力していた場合には訂正キー17の操作をして、改めて正しい数値を入力して訂正することができる(ステップS18、No→S19)。
ここで、入力した数値を修正するために訂正キー17が操作され、続いて数値「123004」が入力され、「+」キーが操作されると、CPU21は、図8(E)に示すように、入力された数値「123004」を表示させる(ステップS22、S23)。
また、CPU21は、ユーザの操作によって数値の訂正がされたことから、先に入力された数値「123040」が誤りのキー操作により入力されたデータであり、後に入力された数値「123004」が正しいキー操作により入力されたデータと判別する。CPU21は、この誤入力パターンが図3に示すBタイプに合致するため、Bタイプに対応する間違い回数を1加算すると共に、誤りデータエリアに誤りと判定したデータ「123040」と正しいデータ「123004」を記憶させる。CPU21は、誤入力パターンを登録したことをユーザに通知するため第2音パターン「ピッ」の音を音出力部27によって出力させる。以下、前述と同様にして、検算を続けることができる。
このようにして、ユーザによる誤入力操作の可能性がある場合に報知することにより、入力操作の確認あるいは訂正を促すことができ、前回の計算と今回(検算)とにおいて同じ誤入力操作をする状況があっても、それに気づかずに検算機能による誤った判定がされることを回避することができる。
次に、注意を促す報知を出力する場合の変形例について説明する。
図8(F)(G)(H)は、図6(A)〜(C)と同じ計算(15010−3100=11910)の例を示している。なお、具体的な操作の説明については省略する。例えば、先の計算に対する図6(D)〜(H)に示す検算により誤入力パターンデータには、図3に示すように、Bタイプの誤入力パターンに対して(例1)として、誤りデータ「15001」、正しいデータ「15010」が格納されているものとする。
ここで、図8(F)〜(H)に示すように、計算を実行した後、この計算に対する検算が実行されたものとする。すなわち、[AC]キー12の操作によりクリアされた後、検算キー18の操作により検算モードに移行され、数値キーにより数値「15010」が入力され、「−」キー(減算キー)により演算コードが入力される。
この場合、入力された数値「15010」は、図8(F)に示す1回目の計算の数値「15010」と一致し、誤入力パターンデータとして格納された(例1)の正しいデータに該当する。従って、CPU21は、キー操作が誤りであることをユーザに通知するための報知を出力しないが、注意を促すための報知を出力する。
CPU21は、図8(I)に示すように、表示部16に判定結果シンボル「注意」を表示させると共に、注意を報知するための第4音パターン「ポーン」の音を音出力部27によって出力させる。
すなわち、CPU21は、数値「15010」と数値「15001」の何れについても誤入力操作の可能性があるとして、ユーザに注意を促すための報知を出力する。これにより、より多くのユーザによる誤入力操作の可能性がある入力操作(入力パターン)に対して注意を促す報知が可能となる。
従って、ユーザによる誤入力操作の可能性があるより多くの状況において報知することにより、検算機能による誤った判定を回避することができる。
なお、上記実施例では、1回目の入力データである入力数値と、2回目の入力データである入力数値とを比較するようにしたが、1回目の入力データである入力数値&演算子と、2回目の入力データである入力数値&演算子とを比較するようにして、数値&演算子のユーザが間違いやすいパターンを、誤入力の種類として決定するようにしても良い。また、入力数値そのものでなく、第1計算データとしての1回目に入力した際の途中結果の数値と、第2計算データとしての2回目に入力した際の途中結果の数値とを比較するようにしても良い(例:100+200+と入力した際の途中結果「300」と、100+20+と入力した際の途中結果「130」とを比較するようにしても良い)。
また、実施形態において記載した手法、すなわち図4及び図5のフローチャートに示す処理等の各手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納して配布することができる。そして、コンピュータは、外部記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、実施形態において説明した機能と同様の処理を実現することができる。
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク(インターネット)上を伝送させることができ、このネットワーク(インターネット)に接続されたコンピュータ(サーバ装置等)からプログラムデータを取り込み、前述した実施形態と同様の機能を実現することもできる。
なお、本願発明は、実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]
ユーザ操作により入力された1回目の第1計算データ又は入力データと2回目の第2計算データ又は入力データとを比較する計算データ比較手段と、
前記第1計算データ又は入力データと前記第2計算データ又は入力データとの比較結果に基づいて、前記第1計算データ又は前記第2計算データの誤入力の種類を決定する誤入力種類決定手段と、
ユーザ操作により新たに入力された計算データ又は入力データが前記誤入力種類決定手段により決定された誤入力の種類と合致する場合に報知する報知手段と、
を有する電子機器。
[2]
前記誤入力種類決定手段は、前記計算データ比較手段による比較により前記第1計算データ又は入力データと前記第2計算データ又は入力データとが異なると判別された場合に、前記第1計算データ又は入力データあるいは前記第2計算データ又は入力データに対する訂正に基づいて、前記誤入力の種類を決定する[1]記載の電子機器。
[3]
前記誤入力種類決定手段により決定された誤入力の種類を登録する登録手段をさらに有し、
前記報知手段は、前記第2計算データが、前記登録手段に登録された前記誤入力の種類と合致する場合に報知する[1]記載の電子機器。
[4]
前記報知手段により報知された場合に、前記第1計算データあるいは前記第2計算データを訂正する訂正手段をさらに有する[3]記載の電子機器。
[5]
コンピュータに、
ユーザ操作により入力された1回目の第1計算データ又は入力データと2回目の第2計算データ又は入力データとを比較する計算データ比較手段と、
前記第1計算データ又は入力データと前記第2計算データ又は入力データとの比較結果に基づいて、前記第1計算データ又は前記第2計算データの誤入力の種類を決定する誤入力種類決定手段と、
ユーザ操作により新たに入力された計算データ又は入力データが前記誤入力種類決定手段により決定された誤入力の種類と合致する場合に報知する報知手段として機能させるための計算処理プログラム。