以下、図面により本発明の実施の形態について説明する。
図1は、本実施形態に係る税計算機の外観構成を示す正面図である。本実施形態では、税計算機を計算専用の電卓10として実現している。
なお、税計算機は、電卓10として構成する他、計算機能を有する(計算処理プログラムが実装された)パーソナルコンピュータ、タブレット型コンピュータ、スマートフォン、携帯電話機、タッチパネル式PDA(personal digital assistants)、電子ブック、携帯ゲーム機等として構成することができる。なお、電卓10のような物理的なキー(ボタン)が実装されていない税計算機は、電卓10のキーと同様なソフトウェアキーボードを表示し、このソフトウェアキーボードに対するキー操作に応じて計算処理を実行する。
本実施形態における電卓10は、複数の税率、例えば5種類の税率により税計算をする税計算機能が設けられている。例えば、インドでは消費税として、5種類の税率(0%、5%、12%、18%、28%)が用いられている。従って、本実施形態における電卓10は、インドなどにおいて、5種類以下の複数の消費税が混在する商品の総額などを算出する税計算に好適である。
電卓10の筐体正面には、複数のキーを含むキー入力部11、表示部12およびソーラーパネル13が設けられる。キー入力部11には、数値キー、演算キー、税計算機能キー、機能キー、検算機能キーが設けられる。数値キーには、例えば[00][0]〜[9]のそれぞれに対応する複数のキーを含む。演算キーには、四則演算による通常計算に使用する、例えば[+](加算)キー11h1、[−](減算)キー11h2、[×](乗算)キー11h3、[÷](除算)キー11h4、[=](演算実行)キー11h0のそれぞれに対応する複数のキーを含む。
税計算機能キーには、税計算キー([GST+n(TAX−n)])11b、税計算合計キー([GST GT(GT)])11c、税計算モード切替キー([GST+/TAX−])11dが設けられる。ここで、GSTとは、インドの消費税を意味する「Goods and Service Tax」に対する略記号である。また、[ ]内の文字列(ただし、( )内の文字列を除く。)は、各税計算キー11bのキートップに印刷された文字列を示しており、[ ]内のさらに( )内の文字列は、電卓10の筐体正面に印刷された文字列を便宜的に示すものとする。本明細書では、税計算キー11bに限らず、同様の表記とする。
税計算キー([GST+n(TAX−n)])11bには、税0計算キー([GST+0(TAX−0)])11b0、税1計算キー([GST+1(TAX−1)])11b1、税2計算キー([GST+2(TAX−2)])11b2、税3計算キー([GST+3(TAX−3)])11b3、税4計算キー([GST+4(TAX−4)])11b4が含まれる。税0計算キー([GST+0(TAX−0)])11b0は、税率0を用いた税計算の実行指示を入力するために操作される。同様にして、税1計算キー([GST+1(TAX−1)])11b1、税2計算キー([GST+2(TAX−2)])11b2、税3計算キー([GST+3(TAX−3)])11b3、税4計算キー([GST+4(TAX−4)])11b4は、それぞれ税率1、税率2、税率3、税率4を用いた税計算の実行指示を入力するために操作される。本明細書では、このように、税計算キー([GST+n(TAX−n)])11bと表現する場合、「n」は0〜4までの各数値の代わりに用いられる。本明細書では、税計算キー11bに限らず、「n」が取り得るすべての数値(0〜4の整数)のうち、いずれの数値であるかを特段限定しない場合には、具体的な数値ではなく「n」を用いて便宜的に説明する。
1つの税計算キー11b(税n計算キー11b0〜11b4)は、税込み計算キー[GST+n]と税抜き計算キー[TAX−n]を兼ねている。税計算キー11b(税n計算キー11b0〜11b4)は、税計算モード切替キー([GST+/TAX−])11dの操作に応じて切り替えられる税計算モードに応じて、税込み計算キー[GST+n]あるいは税抜き計算キー[TAX−n]として使用される。1つの税計算キー11bを税込み計算キー[GST+n]と税抜き計算キー[TAX−n]として共用することで、限られた筐体正面の面積を有効に利用して、複数(5種類)の税率のそれぞれに対応する税込み計算処理および税抜き計算処理を実行可能なキーを設けている。
なお、税計算キー11b(税n計算キー11b0〜11b4)に割り当てられる税率(税率0〜税率4)は、電卓10の工場出荷時に予め設定されている。例えば、税n計算キー11b0〜11b4には、インドにおける使用に合わせて、5種類の税率(0%、5%、12%、18%、28%)がそれぞれ設定される。また、税n計算キー11b0〜11b4に割り当てられる税率(税率0〜税率4)は、ユーザ操作によって任意に設定することができる。
本実施形態における電卓10は、工場出荷前に電池交換された場合には、複数の税計算キー11b(税n計算キー11b0〜11b4)に対して、税率自動設定プログラムによって、予め設定された税率を設定する税率自動設定処理を実行する。これにより、工場出荷前における税計算キー11bに対する税率設定作業を効率化している。一方、電卓10は、工場出荷後のユーザの利用時に電池交換された場合には、税計算キー11bに設定された税率が電池交換前とは異なることが容易にわかる税率を設定する。本実施形態では、ユーザ使用時の電池交換時には、税計算キー11bに設定された税率を例えば「0%」に設定する(税率設定クリア)。これにより、税計算キー11bの操作により税計算を実行しても、入力した数値と税計算後の数値が同じとなり、税計算キー11bに対して正しい税率が設定されていないことを容易に認識することができる。
税計算合計キー([GST GT(GT)])11cは、四則計算や定数計算などの通常計算(基本計算)について総合計を表示させるためのグランドトータルキー([GT]キー)と、税計算の計算結果について総合計を表示させるためのGSTグランドトータルキー([GST GT]キー)を兼ねる。なお、税計算合計キー11cがGSTグランドトータルキーとして機能する場合、税計算が実行されるとともに、電卓10の処理モードが税合計リコールモード(GST GTリコールモード)へ遷移する。一方、税計算合計キー11cがグランドトータルキーとして機能する場合、電卓10の処理モードは特に遷移するわけではなく、単に、合計メモリエリア22hに記憶されている数値が呼び出され、表示部12に表示される。
税計算合計キー11cは、税計算合計キー11cが操作された直前の動作状態に応じて、グランドトータルキー([GT]キー)あるいはGSTグランドトータルキー([GST GT]キー)の何れかとして機能する。つまり、例えば、税計算キー11bの操作によって税計算が実行された直後に税計算合計キー11cが押下された場合には、税計算キー11bは、税計算の計算結果について総合計を表示させるGSTグランドトータルキー([GST GT]キー)として機能する。また、例えば、演算実行キー([=]キー)11h0の操作によって通常計算が実行された直後に税計算合計キー11cが押下された場合、すなわち、税計算キー11bの操作によって税計算が実行された直後でない場合には、税計算キー11bは、通常計算(基本計算)について総合計を表示させるためのグランドトータルキー([GT]キー)として機能する。なお、ここでの税計算合計キー11cの押下時間は、予め定められた任意の時間よりも短い時間であり、次に述べる「長押し」よりも短い時間である。また、短い時間押下することを、本明細書では便宜的に「短押し」、または通常の押下する操作等と記述する。
さらに、税計算合計キー11cは、通常の押下する操作とは異なる操作(例えば、長押し)がされた場合には、前述とは逆のキーとして機能する。つまり、例えば、税計算キー11bの操作によって税計算が実行された直後に税計算合計キー11cが長押しされた場合には、税計算合計キー11cは、グランドトータルキー([GT]キー)として機能する。また、例えば、演算実行キー([=]キー)11h0の操作によって通常計算が実行された直後に税計算合計キー11cが長押しされた場合、すなわち、税計算キー11bの操作によって税計算が実行された直後でない場合には、税計算合計キー11cは、GSTグランドトータルキー([GST GT]キー)として機能する。なお、税計算合計キー11cに対する通常と異なる操作は、前述した長押しする操作(上述の予め定められた任意の時間以上、押下した状態を継続する操作)以外の他の操作を用いることも可能である。
機能キーには、例えばオールクリアキー([AC]キー11a)、クリアキー([C]キー)、複数のメモリキー([MRC][M−][M+])、ルートキー([√]キー)、[%]キー11gなどが含まれる。[%]キー11gは、パーセント計算のために使用される他、税計算キー11b(税n計算キー11b0〜11b4)のそれぞれに対応する税率をキー操作によって入力される値に設定するための税率設定処理を起動するために使用される。
検算機能キーは、先に実行された計算の内容について確認/修正するための検算機能において使用されるキーである。検算機能キーには、確認キー([CHECK BACK]キー11e、[CHECK FOWARD]キー11f)と、修正キー([CORRECT]キー)11kが含まれる。[CHECK BACK]キー11e及び[CHECK FOWARD]キー11fは、先に実行された計算の内容(計算データ)をステップ単位で切り替えて表示させるためのキーである。[CHECK BACK]キー11eが操作された場合、ステップ数が少ない方向のステップの計算データに表示を切り替え、[CHECK FOWARD]キー11fが操作された場合、ステップ数が多い方向のステップの計算データに表示を切り替える。なお、1ステップは、計算のために入力された「置数+ファンクション」が単位となる。「ファンクション」には、四則計算、税込み計算、税抜き計算などのために操作されたキーのコードが記憶される。修正キー11kは、[CHECK BACK]キー11eあるいは[CHECK FOWARD]キー11fの操作により表示された計算の内容(「置数+ファンクション」)の修正を指示するためのキーである。修正キー11kの操作後に修正後の計算の内容を入力することで、表示された先に入力された計算データを修正することができる。
ラウンドセレクタ11yは、端数処理の計算方法を設定する。例えば、「F」設定は、表示部12に小数点以下を含む表示可能な最大桁の表示を指定する。「CUT」設定は、小数点セレクタ11zで指定された桁の切り捨てを指定する。「UP」設定は、小数点セレクタ11zで指定された桁の切り上げを指定する。「5/4」設定は、小数点セレクタ11zで指定した桁の四捨五入を指定する。小数点セレクタ11zは、小数点以下を何桁まで表示部12に表示させるかを設定する。なお、「ADD2」設定は、入力された数値に対して所定の桁数への小数点設定を指定する。
表示部12は、ドットマトリクス型の液晶表示ユニットからなる。表示部12には、キー入力部11のキーに対する操作により入力された数値が表示される。表示部12には、限られた行数分(例えば1行)の数値が表示される。また、表示部12の辺に沿って設けられた状態表示エリアには、設定中の計算モードや各種設定状態を示す文字や記号(シンボル)が表示される。例えば、状態表示エリアには、ステップ数12a、税計算モードシンボル12b、税計算キーシンボル12c、税合計リコールモードシンボル12d、総合計表示シンボル12e、メモリシンボル12f、設定シンボル12g、[%]シンボル12hなどが表示される。なお、図1では、状態表示エリアを説明するため、表示可能なすべてのシンボルを同じ画面上に便宜的に示したが、電卓10が取り得る任意の状態において、このように多数のシンボルが同じ画面上に同時に表示されるとは限らない。
ステップ数12aは、キー入力部11のキーに対する操作により入力された「置数+ファンクション」を1ステップとした、現在の表示対象としているステップの位置を示す。税計算モードシンボル12bは、現在の税計算モードを示すもので、税込み計算を実行する税込み計算モードの場合には例えば[GST+]を表示し、税抜き計算を実行する税抜き計算モードの場合には、例えば[TAX−]を表示する。
税計算キーシンボル12cは、税計算キー11bの操作により税計算が実行された場合に、税計算に用いた税率と、税込み計算あるいは税抜き計算の何れかを示すシンボルである。税計算キー11bが税込み計算キー[GST+n]として使用された場合、税率0〜4のそれぞれに対応する[GST+0]、[GST+1]、[GST+2]、[GST+3]、[GST+4]の何れかが表示される。また、税計算キー11bが税抜き計算キー[TAX−n]として使用された場合、税率0〜4のそれぞれに対応する[TAX−0]、[TAX−1]、[TAX−2]、[TAX−3]、[TAX−4]の何れかが表示される。
税合計リコールモードシンボル12dは、税計算合計キー([GST GT(GT)])11cの操作により税合計リコールモード(GST GTリコールモード)に遷移したことを示すシンボルであり、例えば「RCL」が表示される。税合計リコールモードでは、税計算合計キー11cに対するキー操作に応じて、各税率(税率0〜4)で計算した税計算の総合計として、税込総合計額、税抜総合計額、税額総合計額を切替表示させることができる。また、税合計リコールモードでは、税計算キー11bに対するキー操作により表示対象とする税率(税率0〜4)を指定し、指定した税率別の税計算の総合計として、税込合計額、税抜合計額、税額合計額を切替表示させることができる。
総合計表示シンボル12eは、演算実行キー[=]11h0の操作に応じて行われる通常計算の計算結果が合計メモリエリア22hに記憶されていることを示すシンボルであり、例えば「GT」が表示される。メモリシンボル12fは、メモリキー([M−][M+])の操作に応じて、メモリ機能により数値が記憶されていることを示すシンボルである。
設定シンボル12gは、税計算キー11bに対する税率を設定するための税率設定処理を実行するモードを示すシンボルであり、例えば[SET]が表示される。
[%]シンボル12hは、パーセント計算のために[%]キー11gが操作された場合、及び税率設定処理において[%]キー11gが操作された場合に表示されるシンボルであり、例えば[%]が表示される。
ソーラーパネル13は、電卓10を使用する際の周辺環境光の照度がある程度明るいとき、発電する。ソーラーパネル13は、発電中、電卓10の電源部26(図2に示す)として機能し、電卓10の各部へ給電する。また、ソーラーパネル13が発電していないときは、電卓10が別途備える電源部26としての一次電池より電卓10の各部へ給電される。
図2は、本実施形態における電卓10の電子回路の構成を示すブロック図である。電卓10の電子回路は、CPU21を含む、コンピュータを構成する複数のユニットを備えている。
CPU21は、メモリ22に記憶された工場検査プログラム22a、計算処理プログラム22bなどのプログラムを実行することにより、回路各部の動作を制御する制御部として機能する。キー入力部11への入力操作が行われると、CPU21は、キー入力部11からのキー入力信号により入力操作がされたキーを検出し、検出された各キーに応じた各種の計算処理を実行する。電卓10は、CPU21が工場検査プログラム22aあるいは計算処理プログラム22bに記述された命令に従い回路各部の動作を制御し、ソフトウェアとハードウェアとが協働して動作することにより、以下の動作説明で述べる起動時の処理、計算機能による処理などを実現する。
工場検査プログラム22a及び計算処理プログラム22bは、予めメモリ22に記憶されていても良いし、記録媒体読取部24を介してメモリカード等の外部記録媒体23から読み込まれても良いし、あるいは通信部25を介して通信ネットワークN(インターネット等を含む)上のサーバ30からダウンロードされても良い。
メモリ22には、工場検査プログラム22a及び計算処理プログラム22bが記憶される他に、工場検査プログラム22aによる工場検査処理が実行済み(処理完了)であるか否かを示す工場検査後フラグ(完了データ)を記憶する工場検査後フラグエリア22cが設けられる。工場検査後フラグエリア22cは、電池交換時などの電源部26(ソーラーパネル13)からの給電が停止された場合でも、工場検査後フラグの状態を保持することができる不揮発性の記憶エリアである。
また、メモリ22には、税計算の計算結果を記憶するエリア(税メモリ)、税率記憶エリア22e、税率別税合計メモリエリア22g、合計メモリエリア22h、税合計リコールモードエリア22k、税計算モードエリア22m、バッファメモリエリア22n、表示メモリエリア22pなど各データを記憶するエリアが設けられる。税メモリ(第1メモリ)には、税率別合計メモリエリア22d、税率別税合計メモリエリアが含まれる。税率別合計メモリエリア22dには、税率0〜4のそれぞれに対応する合計メモリエリア(税率0合計メモリエリア、税率1合計メモリエリア、税率2合計メモリエリア、税率3合計メモリエリア、税率4合計メモリエリア)が設けられる。税率別合計メモリエリア22dの税率0合計メモリエリアは、税率0に基づいた税計算により算出されるデータを記憶するためのエリアである。税率0合計メモリエリアには、税率0の税込み計算の結果に基づく数値が記憶される。具体的には、最後に[AC]キー11aを入力操作してから後に1回以上行われた税率0の税込み計算の結果としての税込み額(第0税込み額)、税額(第0税額)、税抜き額(第0税抜き額)の各合計額が、第0税込合計額、第0税抜合計額、第0税合計額として、それぞれ記憶される。
税率1合計メモリエリア、税率2合計メモリエリア、税率3合計メモリエリア、税率4合計メモリエリアは、前述した税率0合計メモリエリアと同様にして、それぞれの税率1〜4に基づいた税計算により算出されるデータを記憶するためのエリアである。詳細な説明については省略する。
税率記憶エリア22eは、税計算キー11b(税n計算キー11b0〜11b4)のそれぞれに設定された税率0〜4を示す数値が記憶される。例えば、税n計算キー11b0〜11b4には、工場出荷時に、インドにおける使用に合わせて、5種類の税率(0%、5%、12%、18%、28%)が設定される。この場合、税率記憶エリア22eには、税n計算キー11b0〜11b4に対応する税率0〜4のそれぞれに対して、「0」、「5」、「12」、「18」、「28」の数値が記憶される。
税率別税合計メモリエリア22gは、全ての税率0〜4に基づいた税計算により算出される数値の合計を示すデータを記憶するためのエリアである。税率別税合計メモリエリア22gには、税計算合計キー11cの入力操作に応じて、第0〜第4税込合計額を合計した税込総合計額、税込総合計額に対応する税抜総合計額、税込総合計額に対応する税総合計額が記憶される。
合計メモリエリア22hは、通常計算により算出される数値の合計を示すデータを記憶するためのエリアである(第2メモリ)。合計メモリエリア22hには、演算実行キー[=]11h0の操作に応じて通常計算の計算結果が算出されることにより、計算結果とする数値が合計メモリエリア22hに記憶された数値に加算される。
税合計リコールモードエリア22kは、税計算合計キー11cに対する入力操作に応じて、リコールモードの状態にあるか否かを示す税合計リコールモードフラグが、オン状態またはオフ状態に設定される。税合計リコールモードは、税計算キー11bの操作による税計算の直後に税計算合計キー11cが押下された場合、あるいは通常計算の直後に税計算合計キー11cが長押しされた場合にオンされる(税合計リコールモードへの遷移)。また、税合計リコールモードは、税合計リコールモードをオフするための予め定められた指示として、例えば[AC]キー11aが操作された場合にオフされる。なお、税合計リコールモードのオン/オフの切り替えは、税計算合計キー11cと[AC]キー11aの操作に限られるものではない。例えば、別のキー操作に応じて、あるいは電卓10の処理結果に応じて、税合計リコールモードのオン/オフを切り替えるようにしても良い。
税合計リコールモードがオン状態の場合には、税計算合計キー11cが操作(押下)される毎に、税率別税合計メモリエリア22gに記憶された税込総合計額、税抜総合計額、税総合計額を切り替えて表示させることができる。また、税合計リコールモードがオン状態の場合には、税計算キー11b(税n計算キー11b0〜11b4)が操作(押下)される毎に、税率別税率別税合計メモリエリア22dに記憶された、税込合計額、税抜合計額、税合計額を切り替えて表示させることができる。
税合計リコールモードのオン状態は、キー入力部11の数値キー及び演算キーの入力がされた場合も維持される。従って、税計算合計キー11cあるいは税計算キー11b(11b0〜11b4)の入力操作によって税計算の結果を表示させて確認しながら、数値キー及び演算キーを用いた通常計算を実行することができる。税合計リコールモードのオン状態における通常計算では、税計算の結果とする数値を表示部12に表示させて、表示部12に表示された置数に対して、四則計算などを実行することができる。
税計算モードエリア22mは、税計算モード切替キー11dに対する入力操作に応じて切り替えられる、税込み計算モードあるいは税抜き計算モードの何れの状態にあるかを示す税計算モードデータが記憶される。
バッファメモリエリア22nは、最後に入力されたファンクションと組になって単位をなすように入力された置数が記憶される。また、表示メモリエリア22pは、そのときに表示部12に表示されている数値が記憶される。例えば、数値キーの操作により置数として数値「100」と、ファンクションとして税1計算キー([GST+1(TAX−1)])11b1とが順次操作された場合、バッファメモリエリア22nには置数としての数値「100」が記憶され、表示メモリエリア22pには税率1の税込み計算の結果として表示部12にも表示されている数値「105」が記憶されている(ただし、税率1を5%とした場合)。このように、バッファメモリエリア22nおよび表示メモリエリア22pに記憶されている各数値は、最新の入力操作に応じて、順次上書き更新される。
次に、本実施形態における電卓10の動作について説明する。図3は、本実施形態における電卓10の起動時における税率設定処理を示すフローチャート、図4は、本実施形態における電卓10の計算処理の動作を説明するためのフローチャートである。図5は、税率記憶エリア22eに記憶される税率0〜4を示す数値の一例を示す図である。
本実施形態における電卓10は、工場から出荷される前、工場検査プログラム22aを実行済みでない状態(後述の工場検査後フラグがオフ)が初期状態である。電卓10は、工場検査処理により各種の動作チェックがされた後、電源部26における電池が新しいものに交換されてから、出荷される。
まず、工場出荷前に電卓10により実行される処理から説明を始める。
CPU21は、電池交換に伴って起動されたかどうかを判別する(ステップS1)。この判別は、電源部26から供給される電圧を検知した結果に基づいて行われてよい。ここで、電池交換に伴う起動でない場合(ステップS1:No)、CPU21は、後述するステップS6の処理を実行する。一方、電池交換に伴って起動された場合(ステップS1:Yes)、全初期化処理を実行する(ステップS2)。
全初期化処理において、CPU21は、税率記憶エリア22eを含めた、メモリ22の全ての内容と表示部12の表示内容とをクリアする。即ち、CPU21は、全初期化処理において、メモリ22の税率別税合計メモリエリア22d、税率記憶エリア22e、税合計メモリエリア22g、合計メモリエリア22h、バッファメモリエリア22n、表示メモリエリア22pを全てクリアする。また、CPU21は、税合計リコールモードエリア22kに記憶された税合計リコールモードフラグをオフする。CPU21は、先の税計算結果などの数値が表示された状態から電池交換が行われた場合には、先に表示された数値をクリアして「0」を表示する。また、CPU21は、表示部12の状態表示エリアに先のシンボルが表示された状態から電池交換が行われた場合には、先に表示されたシンボルをクリアして非表示にする。
このように、電池交換を伴う全初期化処理では、税率記憶エリア22eもクリアされるため、複数の税計算キー11bに対して設定される税率0〜4もクリアされる。ここで、税率記憶エリア22eがクリアされることで、税率0〜4の全てが「0」となるものとする。
次に、CPU21は、工場検査後フラグエリア22cを参照して、工場検査後フラグが、工場検査処理が実行済み(工場検査後フラグがオン)を示しているか判別する(ステップS3)。ここで、上述の通り、工場検査後フラグがオンでないので(ステップS3:No)、CPU21は、入力操作の待機状態となる。
ここで、キー入力部11に対する操作によって工場検査処理の実行が指示されると(ステップS6:Yes)、CPU21は、工場検査処理を実行する(ステップS7)。なお、工場検査処理の実行は、例えばユーザが電卓10を通常使用している場合には操作される可能性が極めて低い、例えば、複数のキー(例えば3キー以上)の組合せ、さらには長押しキー操作([AC]キー11aを長押しなど)を組合せて操作することで指示されるものとする。すなわち、工場検査処理は、出荷前の工場内のみで実行されるようにしている。
CPU21は、工場検査処理によって、電卓10を構成する各部が正常に動作しているかを確認するための動作を各ユニットに実行させる。例えば、CPU21は、表示部12を構成する液晶表示ユニットに対して、点灯、点滅、消灯などを実行させて動作チェックをする。また、CPU21は、動作クロックを高速/低速に切り替えて、それぞれの動作状態をチェックする。その他、CPU21は、各ユニットの動作チェックを実行する。
CPU21は、工場検査処理が完了すると、工場検査処理が実行済みであることを示すように、工場検査後フラグエリア22cの工場検査後フラグをオンする(ステップS8)。
こうして、工場検査処理によって動作チェックされた後、電卓10は、出荷される前に電池が交換される。電池交換後、前述の税率設定処理が再度実行される。その場合の処理については後述する。
一方、ステップS6において、工場検査処理の実行が指示されず(ステップS6:No)、[AC]キー11aが操作された場合(ステップS9:Yes)、CPU21は、計算処理プログラム22bによる計算処理に移行して、[AC]キー11aの操作に応じた処理を実行する(後述する)。
なお、この状態では、税計算キー11bに対して正しい税率が設定されていないため、税計算キー11bの操作により正しい税計算をすることができない。図5には、工場検査後の税率記憶エリア22eに記憶される税率0〜4の値40を示している。図5に示すように、税率記憶エリア22eがクリアされることで税率0〜4の全てが「0」の状態にある場合、入力された数値に対して税計算キー11bの操作に応じて税計算を実行したとしても、税計算の結果として表示される数値は入力された数値と同じとなる。また、複数の税計算キー11bの何れを操作して税計算の実行を指示しても、同様にして税計算の結果として表示される数値は入力された数値と同じとなる。
次に、工場出荷前に、工場検査処理によって動作チェックされた後、電卓10の電池が交換された場合に、電卓10により実行される処理について説明する。
次に、CPU21は、工場検査後フラグエリア22cを参照して、工場検査後フラグが、工場検査処理が実行済み(工場検査後フラグがオン)を示しているか判別する(ステップS3)。上述の通り、ステップS8において、工場検査後フラグをオンにしたので(ステップS3:Yes)、CPU21は、入力操作の待機状態となる。
CPU21は、電池交換に伴って起動されると(ステップS1:Yes)、再度、全初期化処理を実行する(ステップS2)。
次に、CPU21は、工場検査後フラグエリア22cを参照して、工場検査後フラグが、工場検査処理が実行済み(工場検査後フラグがオン)を示しているか、再度判別する(ステップS3)。この場合、前述の通り、ステップS7、S8が実行されたことにより、工場検査処理が実行済みであるため、工場検査後フラグがオンに設定されている。CPU21は、工場検査後フラグがオンであるので(ステップS3:Yes)、税率自動設定処理を実行する(ステップS4)。
税率自動設定処理では、CPU21は、税計算キー11b(税n計算キー11b0〜11b4)のそれぞれに対して予め設定された税率0〜4を設定する。本実施形態では、CPU21は、インドにおいて使用される5種類の税率(0%、5%、12%、18%、28%)に合わせて、税率0〜4のそれぞれに対して「0」、「5」、「12」、「18」、「28」の数値を、税率3合計メモリエリア22eに記憶させる。図5には、工場検査後に電池交換された場合の税率0〜4の値41を示している。税率記憶エリア22eが税率自動設定処理において設定される税率0〜4を示す数値は、例えば計算処理プログラム22aに予め設定されており、計算処理プログラム22aによる処理によって自動的に設定される。
従って、電卓10を工場から出荷する前に、工場検査処理を実行した場合には、操作者が電卓10に対してキー操作などをして、複数の税計算キー11b(税n計算キー11b0〜11b4)のそれぞれに対して、正しい初期値とする税率を設定する作業をする必要がない。
CPU21は、税率自動設定処理を完了した後、税率1合計メモリエリア22cの工場検査後フラグをオフする(ステップS5)。すなわち、工場検査後フラグをオフすることで、今後、電池交換に伴って起動されたとしても税率自動設定処理が実行されないようにする。工場検査後フラグをオンする処理は、工場検査処理後のみに実行され、工場検査処理は、ユーザ使用時には実行されないようにしている。従って、電卓10が出荷された後、ユーザ使用時に工場検査後フラグをオンされることがない。
その後、CPU21は、入力操作の待機状態となる。これ以降の処理は、前述と同様であるので、記述を省略する。
この状態では、税計算キー11bに対して正しい税率が設定されているため、税計算キー11bの操作により正しい税計算をすることができる。すなわち、電卓10は、複数の税計算キー11bに対して正しい税率0〜4が設定された、出荷が可能な状態となる。また、電卓10は、工場検査後フラグエリア22cの工場検査後フラグがオフされた状態で出荷される。
次に、電卓10が出荷された後、ユーザにより使用される場合について説明する。
まず、ユーザは、計算を開始前に、税率記憶エリア22eを除くメモリの内容と表示部12の表示内容とをクリアするため、[AC]キー11aを操作(押下)する。CPU21は、[AC]キー11aが操作されると(ステップA9:Yes)、メモリ22の税率別税合計メモリエリア22d、税合計メモリエリア22g、合計メモリエリア22h、バッファメモリエリア22n、表示メモリエリア22pを全てクリアする(ステップA12)。また、CPU21は、税合計リコールモードエリア22kに記憶された税合計リコールモードフラグをオフする(ステップA13)。CPU21は、先の税計算結果などの数値が表示された状態で[AC]キー11aが操作された場合には、先に表示された数値をクリアして「0」を表示する。また、CPU21は、表示部12の状態表示エリアに先のシンボルが表示された状態で[AC]キー11aが操作された場合には、先に表示されたシンボルをクリアして非表示にする。
このように、電池交換を伴わないメモリ及び表示のクリア処理では、税率記憶エリア22eはクリアされないので、前述の税率自動設定処理(ステップS4)において税計算キー11b(税n計算キー11b0〜11b4)のそれぞれに対して設定された税率0〜4の各数値はクリアされず、保持されたままである。
ここで、[AC]キー11aの入力操作の直後に、税計算キー11b(税n計算キー11b0〜11b4の何れか)に対する入力操作を検出した場合(ステップA19:Yes)、A117:Yes)、CPU21は、入力操作が行われた税n計算キー11b0〜11b4の何れかに対して設定された税率をメモリ22の税率記憶エリア22eから読み出して表示部12において表示させる(ステップA118)。例えば、[AC]キー11aの入力操作の直後に税1計算キー11b1が操作された場合、CPU21は、税1計算キー11b1に設定された税率1(5%)を示す数値を、税率記憶エリア22eから読み出して表示部12に「5」を表示させる。
なお、[AC]キー11aの入力操作の直後に、続けて、税計算キー11b以外の他のキー操作をすることなく、税計算キー11b(税n計算キー11b0〜11b4の何れか)に対する入力操作を検出した場合(ステップA19:Yes、A117:Yes)、すなわち、税計算キー11bのキー操作が連続する限り、CPU21は、入力操作がされた税計算キー11bに対して設定された税率0〜4の何れかを、前述と同様にしてメモリ22から読み出して表示部12に表示させる(ステップA118)。
すなわち、[AC]キー11aの入力操作の直後であれば、税計算キー11b(税n計算キー11b0〜11b4)の何れかを連続して操作することで、それぞれの税計算キー11bに対して設定された税率0〜4を連続的に切り替えて表示させることができる。なお、最後に[AC]キー11aを入力操作してから後、税計算キー11bの入力操作のみが2回以上連続して行われているとき、2回目以降の税計算キー11bの入力操作は、厳密には、[AC]キー11aの入力操作の直後に行われたものではないが、本明細書では、そのような入力操作も[AC]キー11aの入力操作の直後に行われたものとみなす。また、最後に[AC]キー11aを入力操作してから後、税計算キー11b以外の入力操作が一度でも行われれば、それ以降に行われる税計算キー11bの入力操作は、[AC]キー11aの入力操作の直後に行われたものではないものとみなす。
次に、計算の対象とする数値を入力するためにユーザにより数値キーが操作されると(ステップA10:Yes)、CPU21は、入力操作された数値キーに応じた数値(数値コード)を入力し、入力された数値を表示メモリエリア22pに記憶させるとともに、表示部12において表示させる(ステップA15)。
続いて、演算キーが操作されると(ステップA11:Yes)、CPU21は、入力操作された演算キーに応じた演算(演算コード)を入力して、入力された演算の演算(記号)シンボルを表示部12の状態表示エリアにおいて表示させる(ステップA16)。
また、CPU21は、入力された演算コードと入力済みの数値コードをもとに演算を実行し、演算途中の結果の数値を表示メモリエリア22pに記憶させるとともに、表示部12に表示させる。以下、同様にして、数値コードと演算コードの入力が繰り返されることにより、CPU21は、入力された数値コードと演算コードとを順次記憶していく。そして、ユーザ操作により演算実行キー「=」(イコール)11h0が操作されると(ステップA17:Yes)、CPU21は、入力操作された演算実行キー(「=」キー)11h0に応じた演算コードを入力し、それまでに入力された数値コードと演算コードに応じた計算を実行し、計算結果の数値を表示メモリエリア22pに記憶させるとともに、表示部12に表示させる。また、CPU21は、数値コードと演算コードに応じた通常計算の結果とする数値を合計メモリエリア22hに記憶させる(ステップA18)。合計メモリエリア22hに既に数値が記憶されている場合には、CPU21は、先に記憶された数値に通常計算の結果とする数値を加算してメモリ22に記憶させる。ユーザ操作により演算実行キー「=」(イコール)11h0が操作されていない場合(ステップA17:No)、CPU21は、入力操作の待機状態へ戻る。
[AC]キー11aの入力操作の直後以外に、表示部12に数値が表示された状態において、税計算キー11bの入力操作を検出した場合(ステップA19:Yes→A117:No)、CPU21は、表示部12に表示された数値(置数)、即ち、表示メモリエリア22pに記憶されている数値に対して、入力操作が行われた税n計算キー11b0〜11b4の何れかに設定された税率を用いて税計算を実行する。なお、税計算の対象とする数値は、通常計算によって表示された数値に限らず、単に数値キーの入力操作により入力された数値を対象とすることができる。
税計算キー11b(税n計算キー11b0〜11b4のそれぞれ)は、税込み計算を実行するためのキーと税抜き計算を実行するためのキーを兼ねている。CPU21は、税計算キー11bが操作された場合に、税計算モードエリア22mを参照して、現在の税計算モードが、税込み計算モードと税抜き計算モードの何れであるかを判別する。ここで、現在の税計算モードが税込み計算モードである場合(ステップA110、税込み)、CPU21は、表示部12に表示中の数値を税抜き額として、その数値と税計算キー11bに対応する税率とを用いて税込み計算を実行して、税計算の結果をキー操作に応じて表示させる税込み計算処理を実行する(ステップA111)。また、現在の税計算モードが税抜き計算モードである場合(ステップA110、税抜き)、CPU21は、表示部12に表示中の数値を税込み額として、その数値と税計算キー11bに対応する税率とを用いて税抜き計算を実行して、税計算の結果をキー操作に応じて表示させる税抜き計算処理を実行する(ステップA112)。
なお、税計算モードは、税計算モード切替キー11dの操作によって切り替えられる。CPU21は、税計算モード切替キー11dの操作を検出した場合(ステップA14:Yes)、税計算モードエリア22mを参照して、現在の税計算モードが、税込み計算モードと税抜き計算モードの何れであるかを判別する。
ここで、現在の税計算モードが税込み計算モードである場合(ステップA113、税込み)、CPU21は、税計算モードエリア22mに税抜き計算モードを示す税計算モードデータを記憶させる(ステップA114)。また、CPU21は、税抜き計算モードを示す税計算モードシンボル12b([TAX−])を、表示部12の状態表示エリアに表示させる(ステップA116)。
一方、現在の税計算モードが税抜き計算モードである場合(ステップA113、税抜き)、CPU21は、税計算モードエリア22mに税込み計算モードを示す税計算モードデータを記憶させる(ステップA115)。また、CPU21は、税込み計算モードを示す税計算モードシンボル12b([GST+])を、表示部12の状態表示エリアに表示させる(ステップA116)。
CPU21は、税計算モード切替キー11dの操作に応じて税計算モードを切り替えた場合、税率別税合計メモリエリア22dに記憶された計算結果(税抜合計額、税込合計額、税合計額)をそのまま維持する。従って、税込み計算と税抜き計算を混在して実行する場合に、税計算モードを切り替えたとしても、計算途中の計算結果が保持される。
なお、前述した説明では、税計算キー11bに対して出荷時に設定された税率0〜4を用いて税計算(税込み計算、税抜き計算)を実行する例について説明しているが、税計算キー11b(税n計算キー11b0〜11b4)に対してユーザ操作によって任意の税率を設定することができる。
CPU21は、入力操作の待機状態において、税率設定指示を示すキー操作を検出すると(ステップA119:Yes)、税率設定処理を実行する(ステップA120)。税率設定指示は、例えば、[AC]キー11aの入力操作の直後に[%]キー11gが長押し(例えば2秒以上)されることにより指示される。CPU21は、税率設定処理を開始すると、表示部12の状態表示エリアに、設定シンボル12g[SET]と[%]キー11gに対応する[%]シンボル12hを表示させる。
CPU21は、ユーザによるキー操作に応じて、税計算キー11b(税n計算キー11b0〜11b4)のそれぞれに対応する税率0〜4を設定する。税率設定のための操作方法としては、例えば、税率を示す数値の数値キーの操作による入力と、[%]キー11gの操作による数値の入力完了の指示を、複数の税n計算キー11b0〜11b4について順番に入力することで実行が可能である。また、税n計算キー11b0〜11b4の何れかのキーを操作して、数値を変更したい所望の税率を表示部12に表示させた状態において、税率を示す数値を数値キーの操作により入力し、[%]キー11gの操作により入力した数値を確定する指示を行うことでも、実行が可能である。さらに、他の税率設定のための操作方法としては、税率を示す数値の数値キーの操作による入力と、[%]キー11gの操作による数値の入力完了の指示の後に、税率の設定対象とする税n計算キー11b0〜11b4の何れかのキーを操作することでも、実行可能である。図5には、ユーザ設定された税率0〜4の値42の一例を示している。すなわち、税率0〜4は、それぞれ「28」、「18」、「12」、「8」、「5」に変更されている。このように、ユーザは、所望の税n計算キー11b0〜11b4に対して新たな税率を設定したり、税n計算キー11b0〜11b4に各設定された税率を入れ替えたりすることで、使い勝手良くカスタマイズした上で、電卓10を使用することができる。
次に、電卓10が出荷された後にユーザにより電池が交換された場合について説明する。CPU21は、電池交換に伴って起動されたかどうかを判別する(ステップS1)。ここでは、電池交換に伴って起動されたので(ステップS1:Yes)、前述と同様、CPU21は、電池交換を伴わないメモリ及び表示のクリア処理を実行する(ステップS2)。この時、税率記憶エリア22eもクリアされるため、ユーザの入力操作により設定された税率0〜4もクリアされる。ここで、税率記憶エリア22eがクリアされることで、税率0〜4の全てが「0」となる。図5には、出荷後に電池交換された場合の税率記憶エリア22eに記憶される税率0〜4の値43を示している。
次に、CPU21は、工場検査後フラグエリア22cを参照して、工場検査後フラグが、工場検査処理が実行済み(工場検査後フラグがオン)を示しているか判別する。ここで、工場検査後フラグがオンでないため(ステップS3:No)、CPU21は、入力操作の待機状態となる。ここで、前述の通り、工場検査処理の実行を指示する操作がユーザにより行われる可能性は極めて低いので、工場検査処理の実行は指示されず(ステップS6:No)、[AC]キー11aが操作される(ステップS9:Yes)。[AC]キー11aが操作されたことに応じて、CPU21は、計算処理プログラム22bによる計算処理に移行して、[AC]キー11aの操作に応じた処理を実行する。このように、電卓10は、税率記憶エリア22eに設定された税率0〜4が全て「0」の状態でユーザにより使用される。
電池交換により税率記憶エリア22eがクリアされることで税率0〜4の全てが「0」の状態にある場合、ユーザは、入力した数値に対して税計算キー11bの操作に応じて税計算を実行したとしても、税計算の結果として表示される数値が入力された数値と同じとなる。また、複数の税計算キー11bの何れを操作して税計算の実行を指示しても、同様にして税計算の結果として表示される数値は入力された数値と同じとなる。このため、ユーザは、税計算が正しく実行されていないことを容易に認識することができる。
また、ユーザは、入力した数値に対する税計算の結果が、入力した数値と同じことから税率が0%となっていることを認識できるため、前述した税率設定処理により、改めてユーザ設定した税率を設定することで、電池交換前と同じ税計算を実行することができる。
本実施形態における電卓10は、出荷後のユーザによる使用時には、電池交換に伴う起動時に、工場内で実行された税率自動設定処理を実行しない。電池交換後に、税率自動設定処理によって税率0〜4を初期値に自動設定した場合、ユーザが入力した数値に対して税計算を実行した場合、初期値の税率を用いた税計算結果とする数値が表示される。この場合、ユーザは、税率設定処理によって変更した税率をもとにした税計算の結果であるか、あるいは初期値の税率をもとにした税計算の結果であるかを容易に識別することができない。
本実施形態の電卓10は、電池交換時には、税率自動設定処理によって設定される税率0〜4とは明らかに異なる税率(ここでは全て「0」)にするので、税計算キー11bの操作による税計算をすることで、税計算キー11bに設定された税率が正しい状態にないことを容易に把握できる。
なお、前述した説明では、出荷後の電池交換時には、税率0〜4を全て「0」にするとしているが、税計算をした結果、税計算の結果が明らかに正しくないことをユーザが認識可能な数値であれば「0」以外の数値に設定することも可能である。例えば、税率としては使用されることがない大きな数値(例えば、3桁あるいは4桁以上の数値)とすることも可能である。
また、出荷後の電池交換時には、計算の結果が明らかに正しくないことをユーザが認識可能な数値を設定すれば、税率0〜4が全て同じでなくても良い。
このようにして、本実施形態における電卓10は、工場出荷前では税計算キー11bに対する税率の設定を工場検査プログラム22aによる自動設定により実行するので、税計算に使用する税率の数が多くなったとしても(税計算キー11bのキー数が多くなったとしても)、税率設定のための作業の負担を増大させることがない。また、工場での税率自動設定をする一方で、出荷後のユーザによる使用時では、電池交換時に税率自動設定を行わず、税計算の実行時に税計算キー11bに対して税率が変更されたことを容易に認識できるようにしたので、ユーザによる誤った税計算を防止することができる。
なお、実施形態において記載した手法、すなわち図3、図4のフローチャートに示す処理等の各手法は、コンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フレキシブルディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納して配布することができる。そして、コンピュータは、外部記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、実施形態において説明した機能と同様の処理を実現することができる。
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク(インターネット)上を伝送させることができ、このネットワーク(インターネット)に接続されたコンピュータ(サーバ装置等)からプログラムデータを取り込み、前述した実施形態と同様の機能を実現することもできる。
なお、本願発明は、実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]実行指示の入力に応じて第1計算を実行可能な制御部を有する計算機であって、 前記制御部は、
ある処理の実行後に、前記ある処理を実行済みであることを示す第1情報を前記計算機の記憶部に記憶させ、
前記計算機の初期化処理を伴う起動時に、前記第1情報が前記記憶部に記憶されている場合、前記第1計算に用いる数値を、予め決められた第1数値に設定する処理を実行し、かつ、
前記ある処理を実行済みでないことを示す第2情報を前記記憶部へ記憶させる、計算機。
[2]前記制御部は、
前記初期化処理を伴う起動時に、前記第1情報が前記記憶部に記憶されていない場合、前記第1計算に用いる数値を、前記第1数値とは異なる第2数値に設定する、[1]記載の計算機。
[3]前記制御部は、前記初期化処理として、前記第1計算に用いる数値を、前記第1数値とは異なる第2数値に設定する、[1]又は[2]記載の計算機。
[4]前記制御部は、前記計算機の電池交換に伴い、前記初期化処理を実行する、[1]乃至[3]の何れか一項記載の計算機。
[5]前記制御部は、実行指示の入力に応じて第2計算を実行可能であり、
前記初期化処理を伴う起動時に、前記第1情報が前記記憶部に記憶されている場合、前記第2計算に用いる数値を、予め決められた第3数値に設定する処理を実行する、[1]乃至[4]の何れか一項記載の計算機。
[6]前記制御部は、
前記初期化処理を伴う起動時に、前記第1情報が前記記憶部に記憶されていない場合、前記第2計算に用いる数値を、前記第2数値に設定する、[5]記載の計算機。
[7]実行指示の入力に応じて第1計算を実行可能な制御部を有する計算機の制御部により実行される設定方法であって、
ある処理の実行後に前記ある処理を実行済みであることを示す第1情報を前記計算機の記憶部に記憶させ、
前記計算機の初期化処理を伴う起動時に、前記第1情報が前記記憶部に記憶されている場合、前記第1計算に用いる数値を、予め決められた第1数値に設定する処理を実行し、かつ、
前記ある処理を実行済みでないことを示す第2情報を前記記憶部へ記憶させる、設定方法。
[8]実行指示の入力に応じて第1計算を実行可能な計算機のコンピュータによって、 ある処理の実行後に、前記ある処理を実行済みであることを示す第1情報を前記計算機の記憶部に記憶させ、
前記計算機の初期化処理を伴う起動時に、前記第1情報が前記記憶部に記憶されている場合、前記第1計算に用いる数値を、予め決められた第1数値に設定する処理を実行し、かつ、
前記ある処理を実行済みでないことを示す第2情報を前記記憶部へ記憶させるためのプログラム。