(57)【特許請求の範囲】
【請求項１】
ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとの組からなる第１計算データを、入力順に複数登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された複数の前記第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとの組からなる第２計算データを複数入力する検算データ入力手段と、
前記検算データ入力手段により入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する第１の判別手段と
を備え、
前記第１及び第２演算データは、加減算又は乗除算を示すデータであり、
前記第１の判別手段は、前記検算データ入力手段により、前記第２数値データと前記第２演算データとしての前記乗除算を示す第４演算データとの組からなる第１の第２計算データと、前記第２数値データと前記第２演算データとしての前記加減算を示す第３演算データとの組からなる第２の第２計算データとが入力される毎に、前記第１の第２計算データと前記第２の第２計算データと、前記第１の第２計算データと前記第２の第２計算データにそれぞれ対応する前記第１計算データとが一致するか否かを判別することを特徴とする電子機器。
【請求項２】
ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとの組からなる第１計算データを、入力順に複数登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された複数の前記第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとの組からなる第２計算データを複数入力する検算データ入力手段と、
前記検算データ入力手段により入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する第１の判別手段と
を備え、
前記第１の判別手段は、
前記検算データ入力手段により前記第２計算データとして、第３数値データと乗除算を示す第４演算データとの組からなる第４計算データと、第４数値データと加減算を示す第３演算データとの組からなる第３計算データとが入力された場合に、前記第４計算データと前記第３計算データのそれぞれ対応する前記第１計算データと一致するか判別し、さらに
前記第４数値データと前記第４演算データとの組からなる第６計算データと、前記第３数値データと前記第３演算データとの組からなる第７計算データのそれぞれについて前記第１計算データと一致するか判別することを特徴とする電子機器。
【請求項３】
ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとの組からなる第１計算データを、入力順に複数登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された複数の前記第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとの組からなる第２計算データを複数入力する検算データ入力手段と、
前記検算データ入力手段により入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する第１の判別手段と、
前記計算データ登録手段に登録された複数の前記第１計算データが、数値データと加減算を示す演算データとの組からなる第３計算データ、あるいは、数値データと乗除算を示す演算データとの組からなる第４計算データと前記第３計算データの並びの計算データである場合に、前記第２計算データを前記逆入力順に入力可能であると判別する第２の判別手段と、
を備え、
前記検算データ入力手段は、前記第２の判別手段により入力可能と判別された場合に、前記第２計算データを前記逆入力順に入力することを特徴とする電子機器。
【請求項４】
ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとの組からなる第１計算データを、入力順に複数登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された複数の前記第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとの組からなる第２計算データを複数入力する検算データ入力手段と、
前記検算データ入力手段により入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する第１の判別手段と、
前記計算データ登録手段に登録された複数の前記第１計算データに、数値データと加減算を示す演算データとの組からなる複数の第３計算データに対して加減算又は乗除算により計算する第５計算データが含まれるかに基づいて、前記第２計算データを前記逆入力順に入力可能であるかを判別する第２の判別手段と、
を備え、
前記検算データ入力手段は、前記第２の判別手段により入力可能と判別された場合に、前記第２計算データを前記逆入力順に入力することを特徴とする電子機器。
【請求項５】
前記検算データ入力手段により前記第２計算データを入力する順番を、前記入力順にするか、あるいは前記逆入力順にするか、ユーザ操作に応じて設定する入力順設定手段をさらに備え、
前記検算データ入力手段は、前記入力順設定手段により設定された入力順に応じて、前記第２計算データを入力する請求項１から請求項４のいずれか一項に記載の電子機器。
【請求項６】
コンピューターを、
ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとの組からなる第１計算データを、入力順に複数登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された複数の前記第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとの組からなる第２計算データを複数入力する検算データ入力手段と、
前記検算データ入力手段により入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する第１の判別手段と、
前記計算データ登録手段に登録された複数の前記第１計算データが、数値データと加減算を示す演算データとの組からなる第３計算データ、あるいは、数値データと乗除算を示す演算データとの組からなる第４計算データと前記第３計算データの並びの計算データである場合に、前記第２計算データを前記逆入力順に入力可能であると判別する第２の判別手段として機能させ、
前記検算データ入力手段を、前記第２の判別手段により入力可能と判別された場合に、前記第２計算データを前記逆入力順に入力させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器及び計算処理プログラムに関する。
【背景技術】
【０００２】
従来、１回目に入力した計算式を記憶しておき、２回目に同じ計算式との比較により検算する２度打ち検算の機能を備えた電子機器（電卓）が知られている（例えば、特許文献１参照）。２度打ち検算では、１回目に計算式を入力した時と全く同じ入力順で２回目に計算式を入力させて、１回目に入力された計算式の先頭から順番に比較する。電子機器は、１回目と２回目に入力された計算式に相違があることを検出した場合には、誤入力を表示や音によって報知する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１５７９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このように従来の２度打ち検算では、１回目の計算式を入力した時と全く同じ入力順で２回目の計算式を入力させている。しかし、同じ入力順で計算式を入力した場合、例えばユーザのキー操作の癖などが原因で誤入力していると、同じ誤入力を繰り返す可能性がある。このため誤って計算式が入力されているにも関わらず、２度打ち検算により誤入力を検出することができなくなってしまう。
【０００５】
本発明は、前記のような課題に考慮してなされたもので、１回目に入力した計算式とは異なる入力順で２回目に同じ計算式を入力して、２度打ち検算をすることが可能な電子機器及び計算処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、本発明の電子機器は、ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとの組からなる第１計算データを、入力順に複数登録する計算データ登録手段と、前記計算データ登録手段により入力順に登録された複数の前記第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとの組からなる第２計算データを複数入力する検算データ入力手段と、前記検算データ入力手段により入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する第１の判別手段とを備え、前記第１及び第２演算データは、加減算又は乗除算を示すデータであり、前記第１の判別手段は、前記検算データ入力手段により、前記第２数値データと前記乗除算を示す第４演算データとの組からなる第１の第２計算データと、前記第２数値データと前記加減算を示す第３演算データとの組からなる第２の第２計算データとが入力される毎に、前記第１の第２計算データと前記第２の第２計算データと、前記第１の第２計算データと前記第２の第２計算データにそれぞれ対応する前記第１計算データとが一致するか否かを判別することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、１回目に入力した計算式とは異なる入力順で２回目に同じ計算式を入力して、２度打ち検算をすることが可能となる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態に係る電子機器の外観構成を示す正面図。
【図２】本実施形態における電卓の電子回路の構成を示すブロック図。
【図３】本実施形態における電卓の計算処理を示すフローチャート。
【図４】本実施形態における電卓の計算処理を示すフローチャート。
【図５】本実施形態における電卓の計算処理を示すフローチャート。
【図６】本実施形態における電卓による計算処理の具体例を説明するための図。
【図７】本実施形態における電卓による計算処理の具体例を説明するための図。
【図８】本実施形態における電卓の計算処理の具体例を説明するための表示例を示す図。
【発明を実施するための形態】
【０００９】
以下、図面により本発明の実施の形態について説明する。  
図１は、本実施形態に係る電子機器の外観構成を示す正面図である。本実施形態では、電子機器を加算器方式の計算専用の電卓１０として実現している。加算器方式の電卓１０は、現在表示されている数値に対して、次に入力される数値と演算子に応じた演算を実行する。
【００１０】
なお、電子機器は、電卓１０として構成する他、計算機能を有する（計算処理プログラムが実装された）パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯電話機、タッチパネル式ＰＤＡ(personal digital assistants)、電子ブック、携帯ゲーム機等として構成することができる。なお、電卓１０のような物理的なキー（ボタン）が実装されていない電子機器は、電卓１０のキーと同様なソフトウェアキーボードを表示し、このソフトウェアキーボードに対するキー操作に応じて計算処理を実行する。
【００１１】
電卓１０の筐体正面には、複数のキーを含むキー入力部１１および表示部１２が設けられる。  
キー入力部１１には、数値入力キー、演算キー、機能キーが設けられる。数値入力キーには、［００］［０］〜［９］の数字キー、［・］（小数点キー）等を含み、これらのキーが１又は複数操作されることにより数値データが入力される。演算キーには、例えば［＋＝］（加算）、［−］（減算）、［×］（乗算）、［÷］（除算）の演算子キー、［Ｇ＊］（グランドトータルキー）、［Ｍ＋］/［Ｍ−］（メモリ計算実行キー；計算結果をメモリに加算/メモリから減算）、［Ｍ＊］（メモリリコールクリアキー）、［ＭＵ／ＭＤ］（マークアップ／マークダウンキー）などキーが含まれ、これらのいずれかのキーが操作されることにより演算データが入力される。機能キーには、例えば［ＣＡ］キー１１ａ（クリアオールキー）、［Ｃ］キー（クリアキー）、上キー１１ｂ、下キー１１ｃなどが含まれる。さらに、電卓１０のキー入力部１１には、例えば、検算機能の実行を指示するための検算キー１１ｅ（［RECHECK］キー）、検算機能において入力済みの一連の計算データの修正を指示するための修正キー１１ｆ（［CORRECT］キー）が設けられる。
【００１２】
表示部１２は、ドットマトリクス型の液晶表示ユニットからなる。表示部１２には、キー入力部１１のキーに対する操作により入力された数式が表示される他、表示部１２の辺に沿って設けられた状態表示エリアに、設定中の計算モードや各種設定状態、計算データ（通常の計算実行時及び検算時に入力される計算データ）の入力履歴行を示す文字や記号（シンボル）が表示される。
【００１３】
図２は、本実施形態における電卓１０の電子回路の構成を示すブロック図である。電卓１０の電子回路は、ＣＰＵ２１を含む、コンピュータを構成する複数のユニットを備えている。
【００１４】
ＣＰＵ２１は、メモリ２２に記憶された計算処理プログラム２２ａを実行することにより、回路各部の動作を制御し、キー入力部１１からのキー入力信号に応じた各種の演算処理を実行する。電卓１０は、ＣＰＵ２１が計算処理プログラム２２ａに記述された命令に従い回路各部の動作を制御し、ソフトウェアとハードウェアとが協働して動作することにより、以下の動作説明で述べる検算機能による処理を含む計算処理を実現する。本実施形態における検算機能は、２度打ち検算をするもので、２回目の検算のために１回目と同じ計算式を入力する際に、１回目とは異なる入力順（逆方向の入力順）により入力する逆方向検算が可能である。本実施形態では、１回目とは異なる入力順として、例えば、１回目に順方向で入力された計算式を逆方向の順番（逆入力順）で入力できるようにする。
【００１５】
計算処理プログラム２２ａは、予めメモリ２２に記憶されていても良いし、記録媒体読取部２３を介してメモリカード等の外部記録媒体２３から読み込まれても良いし、あるいは通信部２５を介して通信ネットワーク（インターネット等を含む）上のサーバからダウンロードされても良い。
【００１６】
メモリ２２には、計算処理プログラム２２ａが記憶される他に、計算モード記憶エリア２２ｂ、データモード記憶エリア２２ｄ、今回データバッファ２２ｅ、前回データ（ワークエリア）バッファ２２ｆ、計算入力バッファ２２ｇ、計算データ記憶エリア２２ｈなど各データを記憶するエリアが設けられる。
【００１７】
計算モード記憶エリア２２ｂは、電卓１０の現在の計算モードを示すモードデータが記憶されるエリアであり、例えば、（１）計算登録（通常）モード、（２）検算モード、（３）確認（レビュー）モードのいずれかを記憶するエリアである。（１）計算登録（通常）モードは、ユーザのキー操作に応じて順次入力された数値データと演算データを含む計算データ（第１計算データ）を、入力順に計算データ記憶エリア２２ｈに記憶（登録）するモードである。なお、入力された計算データにより計算実行された計算結果データは、表示されると共に、計算データ記憶エリア２２ｈに記憶（登録）される。（２）検算モードは、計算登録モードにて計算データ記憶エリア２２ｈに登録された複数の計算データ（数値データと演算データ）のそれぞれと、計算データ記憶エリア２２ｈに記憶された複数の計算データに対応してユーザのキー操作に応じて入力された数値データと演算データとを含む計算データ（第２計算データ）とが、それぞれ一致するか否かを判別するモードである。検算モードにおいて入力された計算データ（今回データ）について、例えば不一致と判別された場合に、不一致を表す報知を出力する。
【００１８】
今回データバッファ２２ｅは、検算モード時に検算のためにユーザ操作により入力された数値データと演算データを含む計算データ（第２計算データ（今回データ））を入力順に記憶するためのバッファである。
【００１９】
前回データバッファ２２ｆは、検算モード時において検算対象とする前回（１回目）に入力された計算データを記憶するためのバッファである。前回データバッファ２２ｆには、計算データ記憶エリア２２ｈに記憶された複数の計算データ（前回データ）から、検算の対象とする行位置に記憶された計算データ（１組の数値データと演算データ）が順番に読み出されて順次を記憶される。前回データバッファ２２ｆは、検算機能により逆方向検算が実行される場合には、計算データ記憶エリア２２ｈに入力順に記憶された計算データ（前回データ）を逆方向に並べ替えるためのワークバッファとして使用される。
【００２０】
計算入力バッファ２２ｇは、ユーザのキー入力部１１の操作によって入力される数値データと演算データを含む計算データと、この計算データに応じた計算結果データ（数値データ）を記憶するバッファである。計算入力バッファ２２ｇは、例えば第１数値データを記憶する領域（Ｘレジスタ）、第２数値データを記憶する領域（Ｙレジスタ）、及び演算データを記憶する領域（レジスタ）を含む。計算入力バッファ２２ｇに記憶される第１数値データと第２数値データは、演算データに応じた演算に用いられて、第２数値データまでの演算結果データが求められる。演算結果データは、第１数値データとして記憶され、次の数値データ（第２数値データ）との計算に用いられる。
【００２１】
計算データ記憶エリア２２ｈには、計算登録モードにおいて通常の計算用に入力される数式の計算データ（第１計算データ（前回データ））が記憶される。より詳細には、計算データ記憶エリア２２ｈには、ユーザのキー操作に応じて順次入力された数値データと演算データを含む計算データが１行分のデータとして順次登録される。また計算データ記憶エリア２２ｈには、入力された計算データにより計算が実行されて得られた計算結果データが記憶（登録）される。検算モードにおいて、計算データ記憶エリア２２ｈに記憶された一連の計算データのうち、検算対象とする入力行に対応する計算データが、前回データ（登録データ）として読み出されて前回データバッファ２２ｆに記憶（登録）される。計算データ記憶エリア２２ｈは、複数の入力行（例えば、３００行（ｓｔｅｐ）分）が確保され、ユーザによるキー操作により入力される数値データと演算データを含む計算データが順次記憶（登録）される。なお、本実施形態では、演算キーの操作により演算データが入力された場合に、演算データの入力前に入力された数値データと演算データとを同じ入力行に記憶させるものとする。
【００２２】
また、電卓１０は、計算処理プログラム２２ａに基づくＣＰＵ２１の制御により、各種パターンの電子音を出力する音出力部２７を有する。
【００２３】
次に、本実施形態における電卓１０の動作について説明する。  
図３、図４、及び図５は、本実施形態における電卓１０の計算処理を示すフローチャートである。図６及び図７は、本実施形態における電卓１０による計算処理の具体例を説明するための図、図８は、本実施形態における電卓１０の計算処理の具体例を説明するための表示例を示す図である。
【００２４】
まず、ユーザは、計算を開始前に表示をクリアするため、［ＣＡ］キー１１ａを操作（押下）する。ＣＰＵ２１は、［ＣＡ］キー１１ａが操作されると（ステップＡ１、Ｙｅｓ）、計算モードを通常の計算を実行する計算登録モードに設定する。すなわち、ＣＰＵ２１は、計算モード記憶エリア２２ｂに計算登録モードを示すモードデータを記録し、表示部１２の状態表示エリアにおける検算シンボルをオフする。なお、初期状態では、行番号を［０００］に設定する（ステップＡ５）。
【００２５】
次に、計算の対象とする数値を入力するためにユーザにより数値キーが操作されると（ステップＡ３、Ｙｅｓ）、ＣＰＵ２１は、入力操作された数値キーに応じた数値データを入力して計算入力バッファ２２ｇに記憶させる。また、ＣＰＵ２１は、行番号を更新（＋１）して、入力された数値を表示部１２において表示させる（ステップＡ７）。
【００２６】
続いて、演算キーが操作されると（ステップＡ４、Ｙｅｓ）、ＣＰＵ２１は、入力操作された演算キーに応じた演算データを入力して計算入力バッファ２２ｇに記憶させると共に、入力された演算の演算（記号）シンボルを表示部１２の状態表示エリアにおいて表示させる（ステップＡ８）。
【００２７】
ＣＰＵ２１は、計算登録モード中であれば（ステップＡ１６、Ｙｅｓ）、計算入力バッファ２２ｇに記憶された数値データと演算データを計算データ記憶エリア２２ｈの現在の入力行に登録し、次の計算データを入力するため行番号を１増やす（ステップＡ１５）。
【００２８】
以下、同様にして、数値データと演算データの入力が繰り返されることにより、ＣＰＵ２１は、入力された数値データと演算データとを、行番号を更新しながら、計算データ記憶エリア２２ｈに順次記録していく。ＣＰＵ２１は、入力済みの数値データと、入力された数値データ及び演算データとをもとに演算を実行し、計算結果を表示部１２に表示させる。
【００２９】
ここで、計算処理の具体例を示す。図６は、電卓１０による計算処理の具体例を説明するためのもので、計算処理の対象とする数値が記載された伝票の一例を示している。図６に示す伝票では、品名「Ａ」〜「Ｄ」のそれぞれについて、数量と単価が記載され、また値引き額が記載されている。ここでは、図６に示す伝票に記載された品名「Ａ」〜「Ｄ」のそれぞれの金額と値引き額の合計額を電卓１０によって計算するものとして説明する。
【００３０】
図７は、電卓１０による計算処理の具体例を説明するためのもので、図６に示す数値の合計を算出する計算式を入力する入力順を示している。図７（Ａ）は、１回目の通常の入力順（順方向）で入力される場合の計算データ（数値データと演算データ）の並びを示している。検算機能により２度打ち検算をする際に、１回目と同じ順方向で入力する場合には、図７（Ａ）に示す入力順で計算データ（数値データと演算データ）が入力される。一方、図７（Ｂ）は、検算機能により２度打ち検算をする際に、１回目の通常の入力順と逆方向の逆入力順で入力される場合の計算データ（数値データと演算データ）の並びを示している。なお、図７（Ａ）（Ｂ）に示す［＋］［＝］の演算子は、何れもキー入力部１１の［＋＝］キーの操作により入力される演算データを示している。
【００３１】
図８（Ａ）〜（Ｈ）には、図７（Ａ）に示す入力順で入力操作がされた場合の電卓１０の表示例を示している。  
図８（Ａ）は、［ＣＡ］キー１１ａの操作により表示部１２の表示がクリアされた後（ステップＡ１，Ａ５）、数値キーにより数値データ「５０６７」が入力され、「×」キー（乗算キー）により演算データ「×」が入力された時の表示部１２の表示例を示している。ＣＰＵ２１は、表示部１２に入力された数値データ「５０６７」を表示させると共に、演算シンボル「×」を状態表示エリアに表示させる（ステップＡ３，Ａ７，Ａ４，Ａ８）。また、ＣＰＵ２１は、数値データ「５０６７」と演算データ「×」を含む計算データを計算データ記憶エリア２２ｈの行番号［００１］に登録し、次の計算データを入力するため行番号を１増やして行番号［００２］とする（ステップＡ１５）。
【００３２】
続いて、ユーザによる数値キーの操作により「６７１」の数値データが入力されると、ＣＰＵ２１は、図８（Ｂ）に示すように、数値「６７１」を表示させ（ステップＡ３，Ａ７）、次に「＋」キー（加算キー）の操作により演算データが入力されると、ＣＰＵ２１は、図８（Ｃ）に示すように、数値「５０６７」と「９７１」の乗算結果の数値データ「３３９９９５７」と演算シンボル「＋」を表示させる（ステップＡ４，Ａ８）。そして数値データ「６７１」と演算データ「＋」を計算データ記憶エリア２２ｈの行番号［００２］に登録し、次の計算データを入力するため行番号を１増やして行番号［００３］とする（ステップＡ１５）。
【００３３】
同様にして、数値キーにより数値データ「６５１」が入力され、「×」キー（乗算キー）により演算データ「×」が入力されると、ＣＰＵ２１は、図８（Ｄ）に示すように、表示部１２に入力された数値データ「６５１」を表示させると共に、演算シンボル「×」を状態表示エリアに表示させる（ステップＡ３，Ａ７，Ａ４，Ａ８）。また、ＣＰＵ２１は、数値データ「６５１」と演算データ「×」を含む計算データを計算データ記憶エリア２２ｈの行番号［００３］に登録し、次の計算データを入力するため行番号を１増やして行番号［００４］とする（ステップＡ１５）。
【００３４】
続いて、ユーザによる数値キーの操作により「１４３」の数値データ、「＋」キー（加算キー）の操作により演算データが入力されると、ＣＰＵ２１は、図８（Ｅ）に示すように、数値「６５１」と「１４３」の乗算結果の数値データ「９３０９３」と演算シンボル「＋」を表示させる（ステップＡ４，Ａ８）。そして数値データ「１４３」と演算データ「＋」を計算データ記憶エリア２２ｈの行番号［００４］に登録し、次の計算データを入力するため行番号を１増やして行番号［００５］とする（ステップＡ１５）。
【００３５】
以下、同様にして、数値データ「９０２３」と演算データ「×」、数値データ「７９６」と演算データ「＋」、数値データ「８２６９」と演算データ「×」、数値データ「５０３４」と演算データ「＋」が順次入力されると、ＣＰＵ２１は、数値「９０２３」と「７９６」の乗算結果の数値データ「７１８２３０８」、数値「８２６９」と「５０３４」の乗算結果の数値データ「４１６２６１４６」を順次表示させ、またそれぞれの計算データを入力順に計算データ記憶エリア２２ｈに記憶させる。さらに、値引き分については、数値データ「９００」、演算データ「−」が入力されると、ＣＰＵ２１は、図８（Ｇ）に示すように、入力された数値「９００」と演算シンボル「−」を表示させ、その後、演算実行が［＋＝］キーの入力操作により指示されると、図８（Ｈ）に示すように、入力済みの計算式の計算結果とする数値「５２３００６０４」を表示させる。
【００３６】
以上により１回目の計算式の計算データが入力され、計算結果が求められる。１回目の計算データ（図７（Ａ））は、以下の説明において、適宜、前回データとして扱われる。
【００３７】
次に、本実施形態における検算機能について説明する。  
まず、検算キー１１ｈ（［RECHECK］キー）が操作されると（ステップＡ２、Ｙｅｓ）、ＣＰＵ２１は、計算モードを検算モードに設定し（ステップＡ６）、表示をクリアした後、検算モードにあることを明示するために検算シンボル「ＲＥＣＨＥＣＫ」を状態表示エリアに表示させる。また、ＣＰＵ２１は、検算用の新規の計算データを入力するため、指定行の行番号を初期値［０００］に設定する。
【００３８】
ＣＰＵ２１は、検算モードの設定に応じて、逆方向検算可否チェック処理を実行する（ステップＡ９）。逆方向検算可否チェック処理は、検算のために２回目に入力する計算式を、１回目の入力順と逆方向の逆入力順で入力可能であるか、計算データ記憶エリア２２ｈに記憶された計算データ（前回データ）をもとに判別する処理である。
【００３９】
図４は、本実施形態における逆方向検算可否チェック処理Ａを示すフローチャートである。  
ＣＰＵ２１は、計算データ記憶エリア２２ｈに記憶された１回目に入力された計算式を表す複数の計算データ（前回データ）が、数値の加減算を示す計算データ、あるいは乗除算の結果の加減算を示す計算データからなるかを判別する。具体的には、数値の加減算を示す計算データは、数値データと加減算を示す演算データからなる。また、乗除算の結果の加減算を示す計算データは、図７（Ａ）に示すように、数値データと乗除算を示す演算データを含む計算データと、数値データと加減算を示す演算データとを含む計算データの並びからなる。
【００４０】
数値または乗除算の結果の加減算を示す計算データのみが計算データ記憶エリア２２ｈに記憶されていると判別された場合（ステップＢ１、Ｙｅｓ）、ＣＰＵ２１は、逆方向検算可能と判断する。
【００４１】
一方、数値または乗除算の結果の加減算を示す計算データのみが計算データ記憶エリア２２ｈに記憶されていないと判別された場合（ステップＢ１、Ｎｏ）、ＣＰＵ２１は、逆方向検算不可と判断して、逆方向検算可否チェック処理Ａを終了する。
【００４２】
図５は、本実施形態における逆方向検算可否チェック処理Ｂを示すフローチャートである。  
ＣＰＵ２１は、計算データ記憶エリア２２ｈに記憶された１回目に入力された計算式を表す複数の計算データ（前回データ）に、複数の数値の加減算を示す計算データに対して、計算する計算データが含まれるかに基づいて判別する。具体的には、数値データと加減算を示す演算データを含む複数の計算データに対して、例えば総合計や平均値を計算する計算データが含まれるかに基づいて判別する。
【００４３】
複数の数値の加減算を示す計算データに対して、計算する計算データが含まれないと判別された場合（ステップＣ１、Ｎｏ）、ＣＰＵ２１は、逆方向検算可能と判断する。
【００４４】
一方、複数の数値の加減算を示す計算データに対して、計算する計算データが含まれると判別された場合（ステップＢ１、Ｙｅｓ）、ＣＰＵ２１は、逆方向検算不可と判断して、逆方向検算可否チェック処理Ｂを終了する。
【００４５】
なお、逆方向検算可否チェック処理Ａ，Ｂは、通常の計算登録モードにおいて入力可能な計算式に応じて、実行可能にするものとする。例えば、計算登録モードにおいて、複数の数値の加減算を示す計算データに対して総合計や平均値を計算する計算データを入力しない場合には、逆方向検算可否チェック処理Ｂを実行しなくても良い。
【００４６】
逆方向検算可否チェック処理の結果、逆方向検算可能と判断された場合（ステップＡ１０、Ｙｅｓ）、ＣＰＵ２１は、表示部１２において、順方向／逆方向の選択画面を表示させる（ステップＡ１１）。図８（Ｉ）は、順方向／逆方向の選択画面の一例を示している。順方向／逆方向の選択画面では、状態表示エリアにおいて「順方向」と「逆方向」の入力順を表すシンボルを付加する。なお、初期状態では、「順方向」が選択された状態（「順方向」シンボルオン）で表示する。
【００４７】
ここで、検算キー１１ｈ（［RECHECK］キー）が操作されると（ステップＡ１２、Ｙｅｓ）、ＣＰＵ２１は、「逆方向」の入力順が選択されたものと判別し、図８（Ｊ）に示すように、「逆方向」シンボルをオンする（ステップＡ１３）。
【００４８】
こうして、２度打ち検算のために２回目の計算データを入力する際に、ユーザ操作によって、通常の入力順あるいは逆入力順の何れかを任意に選択することができる。従って、ユーザは、例えば処理対象としている計算式の内容に応じて、逆入力順の計算データの入力が有効であるかを判別して、入力順を切り替えることができる。
【００４９】
また、ＣＰＵ２１は、逆方向検算を実行可能とするために、計算データ記憶エリア２２ｈに記憶された計算データをもとに入力順を逆にした計算データを作成して、前回データバッファ２２ｆ（ワークエリア）に記憶させる。ＣＰＵ２１は、入力操作毎に入力されるデータ毎に逆順にするのではなく、２回目に入力される計算データとの比較対象とする計算データ毎に並べ替えをする。例えば、計算データ記憶エリア２２ｈに行番号毎に記憶された計算データ（数値データ、演算データ）毎に並べ替えをするものとする。
【００５０】
以下、ＣＰＵ２１は、計算登録モードにおいて先に実行した計算（１回目の計算）を検算するために、同じ計算のための計算データ（今回データ）を入力する（ステップＡ３，Ａ７、Ａ４，Ａ８）。
【００５１】
なお、逆方向検算可否チェック処理の結果、逆方向検算不可と判断された場合（ステップＡ１０、Ｎｏ）、ＣＰＵ２１は、例えば表示部１２の状態表示エリアにおいて「順方向」のみを表示して、逆方向検算の選択ができないことをユーザが容易に認識できるようにする。以下、ＣＰＵ２１は、計算登録モードにおいて先に実行した計算（１回目の計算）を検算するために、同じ計算のための計算データ（今回データ）の入力を開始させる（ステップＡ１４）。ここでは、１回目と同じ入力順により計算データを順次入力させる（ステップＡ３，Ａ７、Ａ４，Ａ８）。
【００５２】
以下、逆方向検算を実行する場合について説明する。図８（Ｋ）〜（Ｐ）は、逆方向検算のための入力操作がされた場合の電卓１０の表示例を示している。  
ＣＰＵ２１は、検算モードにおいて数値データと演算データを入力すると（ステップＡ３，Ａ７、Ａ４，Ａ８，Ａ１７、Ｙｅｓ）、この入力された計算データを今回データバッファ２２ｅの現在の行番号の位置に今回データとして記憶させ、また前回データバッファ２２ｆに記憶された、現在の入力対象とする行番号に対応する前回データを読み出す（ステップＡ１８）。ＣＰＵ２１は、前回データと今回データとが一致するかを判別する。ここで、前回データと今回データとが一致すると判別された場合（ステップＡ１９、Ｙｅｓ）、ＣＰＵ２１は、登録行の最終行についての判別が完了していなければ（ステップＡ２２、Ｎｏ）、前述と同様にして、次の行番号に対応する計算データ（数値データ、演算データ）の入力に移行する（ステップＡ３，Ａ７、Ａ４，Ａ８）。
【００５３】
図８（Ｋ）は、図７（Ｂ）に示す最初の行番号に対応する計算データ（今回データ）として、数値データ「９００」、演算データ「−」が入力された時の表示例を示している。この場合、今回データが前回データの最後に入力された計算データ（数値データ「９００」、演算データ「−」）と一致するため、不一致を通知するための報知が出力されない。
【００５４】
以下同様にして、計算データ（今回データ）として、数値データ「８２６９」及び演算データ「×」、数値データ「５０３４」及び演算データ「＋」が順次入力されると、ＣＰＵ２１は、それぞれの今回データに対応する前回データとの比較の結果、それぞれ一致すると判別し（ステップＡ１９、Ｙｅｓ）、図８（Ｌ）に示すように、入力された計算データの演算結果とする数値「４１６２４１４６」を表示させる。
【００５５】
次に、計算データ（今回データ）として、数値データ「９０２３」及び演算データ「×」、数値データ「７９５」及び演算データ「＋」が順次入力されたものとする。すなわち、前回データバッファ２２ｆの現在の行番号には、数値データ「７９６」及び演算データ「＋」の前回データが記憶されているが、前回データと異なる数値データ「７９５」が今回データとして入力されている。
【００５６】
この場合、ＣＰＵ２１は、前回データと今回データが不一致であると判別し（ステップＡ１９、Ｎｏ）、不一致であることを表す報知を出力する（ステップＡ２０）。図８（Ｍ）は、報知が出力された時の表示例を示している。報知の出力形態としては、例えば表示部１２の状態表示エリアに誤りを示す「ＮＯＴ  ＯＫ」シンボル（ＯＫに斜め線で字消し）を表示したり、特定パターンの音（例えば、「ピー」）を出力したりすることができる。この報知により、ユーザは、前回（１回目）の計算データ入力時のキー操作と、今回（検算（２回目））の計算データ入力時のキー操作とが不一致であること、すなわちキー操作に誤りがあったことを認識することができる。
【００５７】
ユーザは、前回データと今回データとが不一致であることが報知された場合、修正キー１１ｆの操作によって、その時点で入力済みの計算データを修正するための修正モードに移行させることができる。ＣＰＵ２１は、修正キー１１ｆの入力操作により修正モードに移行し、ユーザ操作により入力される計算データ（修正データ）により、現在の行番号の前回データを修正する。例えば、ＣＰＵ２１は、ユーザ操作に応じて、前回データあるいは今回データを表示させて、何れかを修正データとして選択させる、あるいはキー入力部１１の操作により新たに入力された数値（あるいは演算）を修正データとして入力する。ＣＰＵ２１は、修正データが入力された後、再度、修正キー１１ｆが操作された場合、修正完了が指示されたと判別して修正モードを終了する。
【００５８】
図８（Ｎ）は、不一致が報知された後に修正モードに移行して修正した際の表示例を示している。図８（Ｎ）では、キー入力部１１の操作の後に、数値データ「７９６」と演算データ「＋」を含む計算データ（修正データ）が入力された例を示している。修正データが入力された後、修正キー１１ｆの操作により修正モードが終了されると、ＣＰＵ２１は、図８（Ｎ）に示すように、修正後の計算データの演算結果とする数値「７１８２３０８」を表示させる。
【００５９】
その後、引き続き、計算データ（今回データ）として、数値データ「６５１」及び演算データ「×」、数値データ「１４３」及び演算データ「＋」、数値データ「５０６７」及び演算データ「×」、数値データ「６７１」及び演算データ「＋」が順次入力されると、ＣＰＵ２１は、前回データとの比較の結果、不一致なしと判別して計算データの演算結果とする数値「３３９９９５７」を表示させる。ここで、ＣＰＵ２１は、登録行の最終行までの検算が完了したことを判別すると（ステップＡ２２、Ｙｅｓ）、検算完了を示す特定パターンの音（例えば、「ピピッ」）を出力する。また、ＣＰＵ２１は、不一致なしを示すメッセージを表示させることも可能である。なお、報知は、表示あるいは音の出力の何れか一方だけでも良いし、出力形態をユーザが予め設定できるようにしても良い。
【００６０】
また、ＣＰＵ２１は、入力済みの計算式の計算結果が表示されていなければ（ステップＡ２３、Ｙｅｓ）、例えば予め決められた一定時間（例えば１秒）が経過した後に、計算結果を表示させる（ステップＡ２４）。図８（Ｐ）は、計算結果とする数値「５２３００６０４」が表示された表示例を示している。図８（Ｐ）の表示例では、検算完了（不一致なし）を示す「ＯＫ」シンボルが付加されている。
【００６１】
このようにして、本実施形態における電卓１０では、１回目に入力された計算式の入力順と逆方向で、順次、２回目に検算用の同じ計算式の計算データ（今回データ）を入力して、２度打ち検算の検算処理を実行することができる。従って、例えば、ユーザのキー操作の癖などが原因で誤入力している場合に、検算用の計算データの入力順を変更することでユーザのキー操作の癖が現れにくくすることができる。これにより、１回目と２回目に入力される計算データの入力操作において同じ誤入力が発生しにくくなり、２度打ち検算による誤入力検出を確実にすることができる。
【００６２】
なお、図６及び図７に示す具体例では、複数の乗算の結果を加算する計算式の例を示しているため、ＣＰＵ２１は、数値データと乗算を示す演算データを含む計算データと、数値データと加算を示す演算データを含む計算データとが入力される毎に、それぞれに対応する第１計算データ（前回データ）と一致するかを判別する。なお、除算を示す演算データを含む計算データは、乗算を示す演算データを含む計算データと同様にして扱われ、減算を示す演算データを含む計算データは、加算を示す演算データを含む計算データと同様にして扱われる。また、ＣＰＵ２１は、数値を加減算する計算式を対象とする場合には、ＣＰＵ２１は、数値データと加減算を示す演算データを含む計算データが入力される毎に、対応する第１計算データ（前回データ）と一致するか否かを判別する。
【００６３】
こうして、逆方向検算をする場合に、計算式の内容に応じて、１回目に入力された前回データとの比較対象とする計算データを区分するので、前回データと今回データとの比較を適切に実行することができる。
【００６４】
また、前述した説明では、図７に示すように、乗算又は除算の結果について加減算する計算式において、１回目の入力順と２回目の逆入力順のそれぞれにおいて、乗算（又は除算）の計算データの被乗数（又は被除数）と乗数（除数）の並びが一致する場合に、前回データと今回データが一致すると判別するとしている。例えば、図７（Ａ）（Ｂ）に示す例において、数値データ「８２６９」と演算データ「×」を含む計算データと、数値データ「５０３４」と演算データ「＋」を含む計算データが順次入力されている場合に、入力された計算データが一致していると判別する。しかし、被乗数（又は被除数）と乗数（除数）の順番が入れ替わっても計算結果の数値が同じとなるため、ＣＰＵ２１は、被乗数（又は被除数）と乗数（除数）の順番が入れ替わった計算データが入力された場合にも、前回データと一致すると判別できるように検算処理を実行する。この場合、ＣＰＵ２１は、前述したように、検算モードにおいて、第１回目の判別として、数値データと乗除算を示す演算データを含む計算データと、数値データと加減算を示す演算データを含む計算データとが入力された場合に、それぞれに対応する前回データと一致するか判別する。さらに、ＣＰＵ２１は、第２回目の判別として、入力された２つの計算データの数値データを入れ替えた２つの計算データを生成し、２つの計算データのそれぞれについて、第１回目の判別に用いた同じ前回データと一致するかを判別する。例えば、数値データ「５０３４」と演算データ「×」を含む計算データと、数値データ「８２６９」と演算データ「＋」を含む計算データを生成して、同様にして、前回データとの比較をする。ＣＰＵ２１は、第１回目と第２回目の何れかにおいて前回データと一致すると判別された場合に、同じ計算データが入力されたものと判別する。
【００６５】
これにより、逆入力検算において、２回目に入力される計算データの数値データの並びが１回目と異なった場合であっても、計算結果については同じ計算式が入力されていれば誤入力と判別しないようにできる。従って、必要以上に計算式の修正作業をする必要がないので検算処理を効率的に行うことができる。
【００６６】
なお、実施形態において記載した手法、すなわち図３のフローチャートに示す処理等の各手法は、コンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して配布することができる。そして、コンピュータは、外部記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、実施形態において説明した機能と同様の処理を実現することができる。
【００６７】
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク（インターネット）上を伝送させることができ、このネットワーク（インターネット）に接続されたコンピュータ（サーバ装置等）からプログラムデータを取り込み、前述した実施形態と同様の機能を実現することもできる。
【００６８】
なお、本願発明は、実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【００６９】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとをそれぞれ含む複数の第１計算データを入力順に登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された前記複数の第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとをそれぞれ含む複数の第２計算データを入力する検算データ入力手段と、
前記検算データ入力手段により少なくとも１つの前記第２計算データが入力される毎に、入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する判別手段と
を備えることを特徴とする電子機器。
【００７０】
［２］前記判別手段による判別結果に応じて報知する報知手段を備えることを特徴とする請求項１記載の電子機器。
【００７１】
［３］前記第１及び第２演算データは、加減算又は乗除算を示すデータであり、
前記判別手段は、前記検算データ入力手段により、前記第２数値データと前記加減算を示す第３演算データを含む前記第２計算データが入力される毎に、前記第１計算データと一致するか否かを判別する請求項１または請求項２記載の電子機器。
【００７２】
［４］前記第１及び第２演算データは、加減算又は乗除算を示すデータであり、
前記判別手段は、前記検算データ入力手段により、前記第２数値データと前記乗除算を示す第４演算データを含む第４計算データと、前記第２数値データと前記加減算を示す第３演算データを含む第３計算データとが入力される毎に、前記第１計算データと一致するか否かを判別する請求項１または請求項２記載の電子機器。
【００７３】
［５］前記検算データ入力手段により前記第２計算データを入力する順番を、前記入力順にするか、あるいは前記逆入力順にするか、ユーザ操作に応じて設定する入力順設定手段をさらに備え、
前記検算データ入力手段は、前記入力順設定手段により設定された入力順に応じて、前記第２計算データを入力する請求項１または請求項２記載の電子機器。
【００７４】
［６］前記計算データ登録手段に登録された前記複数の第１計算データが、前記第１数値データと加減算を示す第３演算データを含む第３計算データ、あるいは、前記第１数値データと乗除算を示す第４演算データを含む第４計算データと前記第３計算データの並びの何れかであるかに基づいて、前記第２計算データを前記逆入力順に入力可能であるかを判別する判別手段をさらに備え、
前記検算データ入力手段は、前記判別手段により入力可能と判別された場合に、前記第２計算データを前記逆入力順に入力することを特徴とする請求項１または請求項２記載の電子機器。
【００７５】
［７］前記計算データ登録手段に登録された前記複数の第１計算データに、前記第１数値データと加減算を示す第３演算データを含む複数の第３計算データに対して計算する第５計算データが含まれるかに基づいて、前記第２計算データを前記逆入力順に入力可能であるかを判別する判別手段をさらに備え、
前記検算データ入力手段は、前記判別手段により入力可能と判別された場合に、前記第２計算データを前記逆入力順に入力することを特徴とする請求項１または請求項２記載の電子機器。
【００７６】
［８］前記判別手段は、
前記検算データ入力手段により前記第２計算データとして、第３数値データと乗除算を示す第４演算データを含む第４計算データと、第４数値データと加減算を示す第３演算データを含む第３計算データとが入力された場合に、前記第４計算データと前記第３計算データのそれぞれ対応する前記第１計算データと一致するか判別し、さらに
前記第４数値データと前記第４演算データを含む第６計算データと、前記第３数値データと前記第３演算データを含む第７計算データのそれぞれについて前記第１計算データと一致するか判別することを特徴とする請求項１記載の電子機器。
【００７７】
［９］コンピュータを、
ユーザ操作により入力された第１数値データとユーザ操作により入力された第１演算データとをそれぞれ含む複数の第１計算データを入力順に登録する計算データ登録手段と、
前記計算データ登録手段により入力順に登録された前記複数の第１計算データのそれぞれと対応して、前記入力順と逆の逆入力順に、ユーザ操作により第２数値データと第２演算データとをそれぞれ含む複数の第２計算データを入力する検算データ入力手段と、
前記検算データ入力手段により少なくとも１つの前記第２計算データが入力される毎に、入力された前記第２計算データと、前記第２計算データに対応する前記第１計算データとが一致するか否かを判別する判別手段として機能させるための計算処理プログラム。
【符号の説明】
【００７８】
１０…電卓、１１…キー入力部、１２…表示部、２１…ＣＰＵ、２２…メモリ、２２ａ…計算処理プログラム、２２ｂ…計算モード記憶エリア、２２ｅ…今回データバッファ、２２ｆ…前回データバッファ、２２ｈ…計算データ記憶エリア。
【図１】
0006759591.tif 000002
【図２】
0006759591.tif 000003
【図３】
0006759591.tif 000004
【図４】
0006759591.tif 000005
【図５】
0006759591.tif 000006
【図６】
0006759591.tif 000007
【図７】
0006759591.tif 000008
【図８】
0006759591.tif 000009