(57)【特許請求の範囲】
【請求項１】
ユーザに数値データとして小数を入力させる数値入力手段と、
前記数値入力手段により入力された小数を表示する表示手段と、
前記表示手段により表示された小数の数字の１つをカーソルの桁移動操作によってユーザに指定させる指定手段と、
前記表示手段で表示された小数のうち前記指定手段により指定された数字から最終桁の数字までを循環小数の循環節として認識する認識手段と、
前記表示手段で表示された小数に対して、前記指定手段により指定された数字と最終桁の数字に循環小数符号を付加して表示する符号表示手段と
を備えたことを特徴とする計算装置。
【請求項２】
循環小数を表示部に表示する制御にかかわるコンピュータが実行可能なプログラムを格納した記憶媒体であって、
コンピュータを、
ユーザに数値データとして小数を入力させる数値入力手段、
前記数値入力手段により入力された小数を表示する表示手段、
前記表示手段により表示された小数の数字の１つをカーソルの桁移動操作によってユーザに指定させる指定手段、
前記表示手段で表示された小数のうち前記指定手段により指定された数字から最終桁の数字までを循環小数の循環節として認識する認識手段、
前記表示手段で表示された小数に対して、前記指定手段により指定された数字と最終桁の数字に循環小数符号を付加して表示する符号表示手段、
として機能させるプログラムを格納したことを特徴とする記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算装置に係り、詳細には、循環小数を入力／表示する計算装置に関する。
【０００２】
【従来の技術】
従来の計算装置において、既に、小数を入力したり、また、入力された小数を表示部に表示することができる計算装置は存在する。
また、小数を分数に変換することのできる計算装置も存在する。
【０００３】
【発明が解決しようとする課題】
しかしながら、従来の計算装置では、循環小数を入力したり、また循環小数を表示部に表示することができるものはなかった。
さらに、入力された小数を分数に変換する場合、計算装置の内部演算桁数が限られているため、分数に変換できる小数の桁数には限度があり、特に循環小数を分数に変換することに関して難があった。
【０００４】
本発明の課題は、循環小数の入力及び表示が可能な計算装置を提供するとともに、循環小数を入力及び表示するためのプログラムを記憶した記憶媒体を提供することである。
【０００５】
【課題を解決するための手段】
本発明にかかる計算装置は、ユーザに数値データとして小数を入力させる数値入力手段と、前記数値入力手段により入力された小数を表示する表示手段と、前記表示手段により表示された小数の数字の１つをカーソルの桁移動操作によってユーザに指定させる指定手段と、前記表示手段で表示された小数のうち前記指定手段により指定された数字から最終桁の数字までを循環小数の循環節として認識する認識手段と、前記表示手段で表示された小数に対して、前記指定手段により指定された数字と最終桁の数字に循環小数符号を付加して表示する符号表示手段とを備えたことを特徴とする。
【０００６】
また、本発明にかかる記憶媒体は、循環小数を表示部に表示する制御にかかわるコンピュータが実行可能なプログラムを格納した記憶媒体であって、コンピュータを、ユーザに数値データとして小数を入力させる数値入力手段、前記数値入力手段により入力された小数を表示する表示手段、前記表示手段により表示された小数の数字の１つをカーソルの桁移動操作によってユーザに指定させる指定手段、前記表示手段で表示された小数のうち前記指定手段により指定された数字から最終桁の数字までを循環小数の循環節として認識する認識手段、前記表示手段で表示された小数に対して、前記指定手段により指定された数字と最終桁の数字に循環小数符号を付加して表示する符号表示手段、として機能させるプログラムを格納したことを特徴とする。
【００２０】
【発明の実施の形態】
以下、図１〜図４を参照して本発明に係る計算装置の実施の形態を詳細に説明する。
まず構成を説明する。
【００２１】
図１は、計算装置１の内部構成を示すブロック図である。
この図１において、計算装置１は、ＣＰＵ（Central processing Unit ）１１、入力部１２、ＲＯＭ（Read Only Memory）１３、ＲＡＭ（Random Access Memory）１４、駆動回路１５、及び表示部１６によって構成されている。なお、内部メモリとして、ＲＯＭ１３及びＲＡＭ１４以外にもあるが、図示は省略する。
【００２２】
また、以下の明細書中において、循環小数を、例えば０．［１４２８５７］や０．１［６］と記載し、記号“［”及び“］”の間の数値が循環節とする。なお、図面においては、一般的に数学で用いられている記号を利用する。例えば、循環小数が０．［１４２８５７］の場合、循環節の最初の数字“１”と最後の数字“７”の上に循環小数シンボル“・”を記し（図３（ｄ）参照）、循環小数が０．１［６］の場合、循環節である“６”の上に循環小数シンボル“・”を記す（図４（ｃ）参照）。
【００２３】
ＣＰＵ１１は、ＲＯＭ１３に格納されているシステムプログラム及び当該システムに対応する各種アプリケーションプログラムの中から指定されたアプリケーションプログラムをＲＡＭ１４内のプログラム格納領域（不図示）に展開し、入力部１２から入力される各種指示あるいはデータをＲＡＭ１４内に一時的に格納し、この入力指示及び入力データに応じてＲＡＭ１４内に展開されたアプリケーションプログラムにしたがって各種処理を実行し、その処理結果をＲＡＭ１４内に格納するとともに、表示部１６に表示する。
【００２４】
ＣＰＵ１１は、ＲＯＭ１３に記憶されている循環小数処理プログラムにしたがい、循環小数処理（循環小数の入力や表示を行う処理や循環小数を分数に変換する処理）を実行する。
上記循環小数処理の詳細については図２のフローチャートを用いて後述するので、ここでは概略を述べるにとどめる。
【００２５】
ＣＰＵ１１は、入力部１２から入力される各種キーの押下信号により、循環小数の循環節までの入力値を特定し、入力された循環小数の循環節までを表示部１６に表示する（図３（ａ）参照）。さらに、ＣＰＵ１１は、循環小数の循環節の最初の数字（小数第ｍ位）を入力部１２に設けられたカーソルキーの押下信号及びカーソル位置指定に対応する“キー”の押下信号を基に特定し、表示部１６に表示された循環小数に対し、その特定された数字の上に循環小数シンボルである“・”なる記号を付加する（図３（ｃ）参照）。そして、ＣＰＵ１１は、当該特定された数字以降の数字部分が循環節であると認識する。
【００２６】
例えば、循環小数０．［１４２８５７］の場合、ユーザにより０．１４２８５７が入力され、さらに数字“１”の位置にカーソルがユーザにより移動されて、カーソル位置指定に対応する“キー”が入力されることになり、ＣＰＵ１１は入力値“０．１４２８５７”中のカーソル位置指定された“１”以降の“１４２８５７”の部分が循環節であると認識し、循環小数０．［１４２８５７］を認識することとなる。
【００２７】
そして、ＣＰＵ１１は、カーソルのある小数第ｍ位が入力された循環小数の循環節の最後の数字（最終桁）であるか否かを判別し、最終桁でない場合にはＣＰＵ１１はさらに入力された循環小数の循環節の最後の数字（最終桁）を抽出する処理を行い、表示部１６に表示された循環小数に対し、抽出した最終桁の数字の上に、循環小数シンボルである“・”なる記号を付加する（図３（ｄ）参照）。
【００２８】
さらに、ＣＰＵ１１は、上記処理後、入力部１２に設けられた“小分変換キー”が入力されたか否かを、入力部１２から入力される押下信号を基に判別し、“小分変換キー”が入力されていた場合には、入力された循環小数から当該循環小数に等しい分数を算出する処理に移行する。
【００２９】
入力された循環小数から当該循環小数に等しい分数を算出する処理において、まず、ＣＰＵ１１は入力部１２から入力された循環小数（Ｘ）の循環節の桁数（ｎ）を算出する処理を行う。そして、ＣＰＵ１１は、循環小数（Ｘ）、及び循環節の桁数（ｎ）を利用して、“Ｙ＝Ｘ×１０n−Ｘ”の演算を実行して、“Ｙ”の値を算出するとともに、“Ｚ＝１０n−１”の演算を実行して、“Ｚ”の値を算出する。さらに、ＣＰＵ１１は、“Ｙ”の小数部分の桁数（Ｓ）を算出する処理を行う。さらに、ＣＰＵ１１は、当該循環小数（Ｘ）と等しい分数（Ａ）を算出する処理（等価的にＡ＝（Ｘ×１０n−Ｘ）×１０s／｛（１０n−１）×１０s｝の演算と等しい処理）を行い、算出された分数に対して約分処理を実行して、解となる既約分数を算出し、さらに算出結果である分数を、表示部１６に解表示する（図３（ｅ）参照）。
【００３０】
入力部１２は、カーソルキー、数字入力キーおよび各種機能キーなどを備えており、押下されたキーの押下信号をＣＰＵ１１へ出力する。
【００３１】
ＲＯＭ１３は、ＣＰＵ１１により計算装置１の起動時に実行されるＩＰＬ（Initial Program Loader）プログラム、循環小数処理プログラム（循環小数の入力や表示を行う処理や循環小数を分数に変換する処理を行うためのコードが書かれたプログラム）の他、ＩＰＬプログラムや循環小数処理プログラムに係る各種データの初期設定値等を格納する。
【００３２】
ＲＡＭ１４は、ＣＰＵ１１により実行される循環小数処理プログラムや各種アプリケーションプログラムを格納するプログラム格納エリアと、入力指示、入力データ、及び処理結果等を格納するワークメモリ等からなる。
【００３３】
駆動回路１５は、ＣＰＵ１１により実行される循環小数処理に係るデータや処理結果の他、入力部１２から入力される入力データ等を表示信号として表示部１６に出力して、表示部１６の所定の表示位置に表示する。
【００３４】
表示部１６は、液晶ディスプレイ等から構成され、駆動回路１５から入力される表示信号に応じて、各種データを表示する。
【００３５】
次に動作を説明する。
図２は、ＣＰＵ１１による循環小数処理の一例を示すフローチャートである。ここで、ＣＰＵ１１は、ＲＯＭ１３に予め格納されている循環小数処理プログラムをＲＯＭ１３から読み出し、当該循環小数処理プログラムに書かれたプログラムコードにしががい、各種処理を行うことになる。
【００３６】
ユーザは入力部１２に設けられた“キー”を利用して数値を１桁づつ順次入力し、ＣＰＵ１１は、入力部１２から入力される押下信号を基に、ユーザにより入力された“キー”に対応する数字若しくは小数点を、表示部１６に表示する処理を行う（ステップＳ１）。
【００３７】
ＣＰＵ１１はステップＳ１でユーザにより入力された“キー”が小数点に対応する“キー”であるか否かを入力部１２から入力される押下信号により判別する（ステップＳ２）。
【００３８】
ステップＳ２で小数点ではなく数字がユーザにより入力されていたとＣＰＵ１１が判定した場合には、ＣＰＵ１１は、入力部１２に設けられた“実行演算キー”がユーザにより押下されたか否かを判別し（ステップＳ３）、ユーザにより“実行演算キー”が押下された場合には、他の演算処理へと移行する。
【００３９】
一方、ステップＳ３でＣＰＵ１１がユーザにより“実行演算キー”が押下されていないと判別した場合には、ステップＳ１に戻り、ユーザにより数字若しくは小数点が入力される操作が続行される。そして、ステップＳ２でＣＰＵ１１により小数点が入力されたと判定されるまで、ステップＳ１、ステップＳ２、及びステップＳ３の処理が繰り返される。
【００４０】
ステップＳ２でＣＰＵ１１が小数点が入力されたと判別した場合、ユーザは入力部１２に設けられた“キー”を利用して数値を１桁づつ順次入力し、ＣＰＵ１１は、入力部１２から入力される押下信号を基に、ユーザにより入力された“キー”に対応する数字を、表示部１６に表示する処理を行う（ステップＳ４）。
【００４１】
ＣＰＵ１１はユーザにより入力部１２に設けられた“循環小数キー”が押下されたか否かを、入力部１２から入力される押下信号により判別し（ステップＳ５）、さらに“循環小数キー”がユーザにより押下されていない場合には、ＣＰＵ１１は、入力部１２に設けられた“実行演算キー”がユーザにより押下されたか否かを判別する（ステップＳ６）。ステップＳ６でユーザにより“実行演算キー”が押下された場合には、他の演算処理へと移行する。
【００４２】
一方、ステップＳ６でＣＰＵ１１がユーザにより“実行演算キー”が入力されていないと判別した場合には、ステップＳ４に戻り、ユーザにより数字が入力される操作が続行される。そして、ステップＳ５でＣＰＵ１１がユーザにより“循環小数キー”が押下されたと判別するまで、ステップＳ４、ステップＳ５、及びステップＳ６の処理が繰り返される。
【００４３】
ステップＳ５でＣＰＵ１１がユーザにより“循環小数キー”が押下されたと判別した場合、ユーザは入力部１２に設けられた“カーソルキー”を利用してカーソルを移動させ、当該カーソルを循環小数の循環節の最初の数字の位置に移動させる（ステップＳ７）。
【００４４】
なお、ユーザによりステップＳ５で入力部１２に設けられた“循環小数キー”が押下された場合、ユーザにより循環小数の循環節まで入力されたことになる。例えば、循環小数０．［１４２８５７］の場合、ユーザにより０．１４２８５７が入力されたことになり、なお、“０”と“．”はステップＳ１で、“１”、“４”、“２”、“８”、“５”、“７”はステップＳ５で入力されている。
【００４５】
ＣＰＵ１１は、ユーザによりカーソル位置指定が行われたか否かを、すなわち循環小数の循環節の最初の数字にカーソルが移動した場合に押下される“キー”が押下されたか否かを、入力部１２から入力される押下信号を基に、判別する（ステップＳ８）。
【００４６】
ステップＳ８でユーザによりカーソル位置指定が行われるまで、ステップＳ７、及びステップＳ８の処理が繰り返され、ステップＳ８でＣＰＵ１１がユーザによりカーソル位置指定が行われたと判別した場合、ＣＰＵ１１は循環小数の循環節の最初の数字に当たる、カーソル位置指定がされた数字の上に循環小数シンボルである“・”なる記号を付加して、表示部１６に表示する（ステップＳ９）。そして、ＣＰＵ１１は、カーソル位置指定がなされた数字以降（当該カーソル位置指定がなされた数字を含む）の数字部分が循環節であると認識する。
【００４７】
例えば、循環小数０．［１４２８５７］の場合、ユーザにより０．１４２８５７が入力され、さらに数字“１”の位置にカーソルがユーザにより移動されて、カーソル位置指定に対応する“キー”が押下されることになり、ＣＰＵ１１は入力値“０．１４２８５７”中のカーソル位置指定された“１”以降の“１４２８５７”の部分が循環節であると認識し、循環小数０．［１４２８５７］を認識することとなる。
【００４８】
ＣＰＵ１１は、カーソル位置が小数第ｍ位であるかを特定し、当該“ｍ”の値をＲＡＭ１４の所定領域に格納する（ステップＳ１０）。
【００４９】
ＣＰＵ１１は、小数第ｍ位が入力された数値の最終桁であるか、すなわち循環小数の循環節の最後の数字に当たるか、を判別する（ステップＳ１１）。
【００５０】
ステップＳ１１でＣＰＵ１１が小数第ｍ位がユーザにより入力された数値の最終桁でないと判別された場合には、当該ｍの値を“１”インクリメントする処理を行い（ステップＳ１２）、さらにＣＰＵ１１は、小数第ｍ位が入力された数字の最終桁であるか、すなわち循環小数の循環節の最後の数字に当たるか、を判別する（ステップＳ１３）。
【００５１】
ステップＳ１３でＣＰＵ１１により小数第ｍ位がユーザにより入力された数値の最終桁であると判別されるまで、ステップＳ１２、及びステップＳ１３の処理が繰り返され、ステップＳ１３でＣＰＵ１１により小数第ｍ位がユーザにより入力された数値の最終桁であると判別された場合、ＣＰＵ１１は循環小数の循環節の最後の数字に当たる、小数第ｍ位に対応する数字の上に循環小数シンボルである“・”なる記号を付加して、表示部１６に表示する（ステップＳ１４）。
【００５２】
例えば、循環小数０．［１４２８５７］の場合、ステップＳ９で循環小数の循環節の最初の数字である”１”の上に、またステップＳ１４で当該循環節の最後の数字である”７”の上に循環小数シンボルである“・”なる記号が付加されることになる（図３（ｄ）参照）。
【００５３】
また、循環小数０．１［６］の場合には、ステップＳ１２からステップＳ１４の処理は行われず、ステップＳ９で循環小数の循環節の最初の数字である“６”の上に循環小数シンボルである“・”なる記号が付加されることになる（図４（ｃ）参照）。
【００５４】
なお、上記処理までで、循環小数の入力、及び表示部１６への循環小数の入力及び表示に関する処理が終了することになる。
【００５５】
ＣＰＵ１１は、ユーザにより入力部１２に設けられた“小分変換キー”が押下されたか否かを、入力部１２から入力される押下信号を基に、判別し（ステップＳ１５）、ユーザにより“小分変換キー”が押下されていない場合には、他処理へと移行する。
【００５６】
ステップＳ１５でＣＰＵ１１がユーザにより入力部に設けられた“小分変換キー”が押下されたと判別した場合には、循環小数を分数に変換する処理に移行し、まず、ＣＰＵ１１は上記処理でユーザにより入力された循環小数（Ｘ）をＲＡＭ１４に格納する処理を行う（ステップＳ１６）。例えば、循環小数０．［１４２８５７］の場合、ＲＡＭ１４には数値“０．１４２８５７”が格納されるとともに、循環節“１４２８５７”がどの部分であるかを示す情報もＲＡＭ１４に格納される。
【００５７】
ＣＰＵ１１は、循環小数（Ｘ）の循環節の桁数（ｎ）を算出し、算出結果をＲＡＭ１４に格納する（ステップＳ１７）。例えば、循環小数０．［１４２８５７］の場合、循環節の桁数（ｎ）は“６”となる。
【００５８】
そして、ＣＰＵ１１は、ＲＡＭ１４に格納された循環小数（Ｘ）、及び循環節の桁数（ｎ）を利用して、“Ｙ＝Ｘ×１０n−Ｘ”の演算を実行して、“Ｙ”の値を算出してＲＡＭ１４に格納する（ステップＳ１８）とともに、“Ｚ＝１０n−１”の演算を実行して、“Ｚ”の値を算出しＲＡＭ１４に格納する（ステップＳ１９）。
【００５９】
なお、ステップＳ１８の演算は、循環小数のどの部分が循環節であるかを考慮した上で演算する。例えば、循環小数０．［１４２８５７］の場合、Ｙ＝｛０．１４２５７×１０6＋０．１４２５７｝−０．１４２５７の演算を実行し、また、循環小数０．１［６］の場合、Ｙ＝｛０．１６×１０1＋０．０６｝−０．１６の演算を実行する。
【００６０】
ＣＰＵ１１は、“Ｓ”に初期値として“０”を設定してＲＡＭ１４に格納し（ステップＳ２０）、ＣＰＵ１１は、ＲＡＭ１４に格納された“Ｙ”の値が小数であるか否かを判別し（ステップＳ２１）、当該“Ｙ”の値が小数であると判別された場合には、さらにＣＰＵ１１は、“Ｙ←Ｙ×１０”の演算を実行して、新たな“Ｙ”の値を算出してＲＡＭ１４に格納する（ステップＳ２２）とともに、ＣＰＵ１１は、ＲＡＭ１４に格納された“Ｓ”の値を“１”インクリメントし、“１”インクリメント後の“Ｓ”の値をＲＡＭ１４に格納する（ステップＳ２３）。
【００６１】
ステップＳ２１でＣＰＵ１１により“Ｙ”の値が小数でないと判別されるまでステップＳ２１、ステップＳ２２、及びステップＳ２３の処理が繰り返し行われる。
【００６２】
ここで、循環小数の循環節が小数第ｍ位から始まる場合には、最終的にＲＡＭ１４に格納される“Ｓ”の値は、“ｍ−１”（小数第１位から小数第（ｍ−１）位までの桁数）であり、循環小数０．１［６］の場合、最終的にＲＡＭ１４に格納される“Ｓ”の値は“１”となる。
【００６３】
また、循環小数０．［１４２８５７］の場合には、ステップＳ２２からステップＳ２３の処理は行われず、最終的にＲＡＭ１４に格納される“Ｓ”の値は、“０”のままである。
【００６４】
ステップＳ２１でＣＰＵ１１により“Ｙ”の値が小数でないと判別されると、ＣＰＵ１１は、ステップＳ１９でＲＡＭ１４に格納された“Ｚ”の値を利用して、“Ｚ←Ｚ×１０s”の演算を実行し、新たな“Ｚ”の値を算出してＲＡＭ１４に格納する（ステップＳ２４）。
【００６５】
そして、ＣＰＵ１１は循環小数（Ｘ）に等しい分数（Ａ）を、“Ａ＝Ｙ／Ｚ”の演算を実行して、当該分数（Ａ）の値を算出してＲＡＭ１４に格納し（ステップＳ２５）、さらに、ＣＰＵ１１は、当該分数（Ａ）を約分する処理を行って、解表示する既約分数を算出しＲＡＭ１４に格納する（ステップＳ２６）。
【００６６】
ＣＰＵ１１は、ステップＳ２６で算出された既約分数を、循環小数（Ｘ）に等しい分数として表示部１６に解表示する（ステップＳ２７）。
【００６７】
例えば、循環小数０．［１４２８５７］の場合、ステップＳ２６で算出される分数は“１／７”であり、ステップＳ２７で表示部１６に解表示される分数は“１／７”である。なお、表示部１６には、既にステップＳ１からステップＳ１４の処理により循環小数０．［１４２８５７］が表示されている。
【００６８】
さらに、上記循環小数処理における処理過程について、図３及び図４を参照して要約して説明する。
図３は、循環小数処理における処理過程の一例を説明するための図であり、図４は、循環小数処理における処理過程の他の例を説明するための図である。
まず、図３の処理過程の場合について説明する。なお、この場合に入力される循環小数は、“０．［１４２３８５７］”である。
【００６９】
ユーザは入力部１２を利用して、図３（ａ）に示すように循環小数の循環節まで、すなわち“０．１４２８５７”を入力し、入力後、入力部１２に設けられた“循環小数キー”を入力する（図２のステップＳ１からステップＳ５）。
【００７０】
そして、ユーザは入力部１２に設けられたカーソルキーを利用して、図３（ｂ）に示すように循環小数の循環節の最初の数字“１”の位置までカーソルを移動する処理を行った後にカーソル位置指定を行う（図２のステップＳ７からステップＳ８）。
【００７１】
ＣＰＵ１１は、ユーザによりカーソル位置指定が行われると、図３（ｃ）に示すようにカーソル位置指定された数字“１”の上に循環小数シンボルである“・”を表示する（図２のステップＳ９）。そして、ＣＰＵ１１は、入力値“０．１４２８５７”中のカーソル位置指定が行われた数値“１”以降の“１４２８５７”の部分が循環節であると認識し、循環小数０．［１４２８５７］を認識することとなる。
【００７２】
ＣＰＵ１１は、カーソル位置が小数第ｍ位にあるかを特定し、さらに小数第ｍ位がユーザにより入力された最終桁であるか、すなわちユーザにより入力された循環小数の循環節の最後の数字に当たるか、を判別し、図３の場合にはカーソル位置は最終桁ではないので、最終桁を抽出する処理を行い、図３（ｄ）に示すように最終桁の数字“７”の上に循環小数シンボルである“・”を表示する（図２のステップＳ１０からステップＳ１４）。
【００７３】
さらにユーザにより入力部１２に設けられた“小分変換キー”が入力される（図２のステップＳ１５）と、ＣＰＵ１１は等価的にＡ＝（Ｘ×１０n−Ｘ）×１０s／｛（１０n−１）×１０s｝と等しい内部演算を行い、入力された循環小数（Ｘ）と等しい分数（Ａ）を算出し、当該分数（Ａ）に対して約分処理を行い、当該循環小数（Ｘ）と等しい規約分数“１／７”を算出する（図２のステップＳ１６からステップＳ２６）。なお、ｎは循環小数の桁数であり、Ｓは“Ｙ＝Ｘ×１０n−Ｘ”で算出される“Ｙ”の小数部分の桁数である。ここで、循環小数“０．［１４２８５７］”の場合、ｎの値は“６”であり、Ｓの値は“０”である。また、ステップＳ１８で算出される“Ｙ”の値は小数でない、すなわち整数であるためステップＳ２１からステップＳ２３の繰り返し処理は行われない。
【００７４】
最後に、ＣＰＵ１１は、図３（ｅ）に示すように算出した結果である分数“１／７”を表示部１６に表示する処理を行う（図２のステップＳ２７）。
【００７５】
次に、図４の処理過程の場合について説明する。なお、この場合に入力される循環小数は、“０．１［６］”である。
【００７６】
ユーザは入力部１２を利用して、図４（ａ）に示すように循環小数の循環節まで、すなわち“０．１６”を入力し、入力後入力部１２に設けられた“循環小数キー”を入力する（図２のステップＳ１からステップＳ５）。
【００７７】
そして、ユーザは入力部１２に設けられたカーソルキーを利用して、図４（ｂ）に示すように循環小数の循環節の最初の数字“６”の位置までカーソルを移動する処理を行った後にカーソル位置指定を行う（図２のステップＳ７からステップＳ８）。
【００７８】
ＣＰＵ１１は、ユーザによりカーソル位置指定が行われると、図４（ｃ）に示すようにカーソル位置指定された数字“１”の上に循環小数シンボルである“・”を表示する（図２のステップＳ９）。そして、ＣＰＵ１１は、入力値“０．１６”中のカーソル位置指定が行われた数値“６”以降の“６”の部分が循環節であると認識し、循環小数０．１［６］を認識することとなる。
【００７９】
ＣＰＵ１１は、カーソル位置が小数第ｍ位にあるかを特定し、さらに小数第ｍ位がユーザにより入力された最終桁であるかを判別し、図３の場合にはカーソル位置は最終桁ではあるので、最終桁を抽出する処理（図２のステップＳ１２からステップＳ１４）を行わない（図２のステップＳ１０からステップＳ１１）。
【００８０】
さらにユーザにより入力部１２に設けられた“小分変換キー”が押下される（図２のステップＳ１５）と、ＣＰＵ１１は等価的にＡ＝（Ｘ×１０n−Ｘ）×１０s／｛（１０n−１）×１０s｝と等しい内部演算を行い、入力された循環小数（Ｘ）と等しい分数（Ａ）を算出し、当該分数（Ａ）に対して約分処理を行い、当該循環小数（Ｘ）と等しい規約分数“１／６”を算出する（図２のステップＳ１６からステップＳ２６）。なお、ｎは循環小数の桁数であり、Ｓは“Ｙ＝Ｘ×１０n−Ｘ”で算出される“Ｙ”の小数部分の桁数である。ここで、循環小数“０．１［６］”の場合、ｎの値は“１”であり、Ｓの値は“１”である。
【００８１】
最後にＣＰＵ１１は、図４（ｄ）に示すように算出した結果である分数“１／６”を表示部１６に表示する処理を行う（図２のステップＳ２７）。
【００８２】
以上説明したように、本実施の形態の計算装置によれば、循環小数の循環節までを入力するとともに当該循環節を指定することにより循環小数の入力が行えるとともに、指定された循環節に対して、循環小数の循環節の最初と最後に対して循環小数シンボルである“・”なる記号を付加するため、循環小数の表示が可能となる。
【００８３】
さらに、入力された循環小数と等しい分数が所定のアルゴリズム（ステップＳ１６からステップＳ２６）にしたがい算出されるため、循環小数を分数に変換することが可能となる。
【００８４】
なお、上記本実施の形態では、循環小数の循環節までを入力後、当該循環小数の循環節を指定することにより循環小数を入力する場合であるが、これに限定されるものではなく、循環小数の循環節前までを入力し、所定キー（循環節の始まりを示すキー）を入力後に循環節を入力するなどの入力方法であってもよい。
【００８５】
【発明の効果】
本発明によれば、ユーザが数値データとして小数を入力し、表示された小数の数字の１つをカーソルの桁移動操作によって指定することで、小数のうちユーザにより指定された数字から最終桁の数字までが循環小数の循環節として計算装置により認識され、表示された小数に対して、ユーザが指定した数字と最終桁の数字に循環小数符号が付加されて表示されるようになるため、循環小数の入力が可能となるとともに、循環小数の表示が可能となる。
【図面の簡単な説明】
【図１】図１は、計算装置１の内部構成を示すブロック図である。
【図２】図２は、ＣＰＵ１１による循環小数処理の一例を示すフローチャートである。
【図３】図３は、循環小数処理における処理過程の一例を説明するための図である。
【図４】図４は、循環小数処理における処理過程の他の例を説明するための図である。
【符号の説明】
１      計算装置
１１  ＣＰＵ
１２  入力部
１３  ＲＯＭ
１４  ＲＡＭ
１５  駆動回路
１６  表示部
【図１】
0003817937.tif 000002
【図２】
0003817937.tif 000003
【図３】
0003817937.tif 000004
【図４】
0003817937.tif 000005