(57)【特許請求の範囲】
【請求項１】
実数を、ルートを１つ含む多項式に変換し、この変換した多項式を、平方根記号を用いて表示させる平方根記号表示制御装置であって、
前記実数を記憶する実数記憶手段と、
この実数記憶手段に記憶されている実数を表示させる第１の表示制御手段と、
正の整数である候補値の平方根の小数部と、前記実数記憶手段に記憶されている実数の小数部とを算出するとともに、算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定することにより、候補値を決定する候補値決定手段と、
この候補値決定手段により決定された候補値に基づいて、前記実数をルートを１つ含む多項式に変換する変換手段と、
この変換手段により変換された多項式を平方根記号を用いて表示させる第２の表示制御手段と、
を備える平方根記号表示制御装置。
【請求項２】
請求項１記載の平方根記号表示制御装置において、
前記候補値決定手段は、候補値を変更するとともに、前記算出及び前記判定を繰り返し実行することにより、前記判定条件を満たす候補値を決定する決定手段を備えていることを特徴とする平方根記号表示制御装置。
【請求項３】
請求項１または２記載の平方根記号表示制御装置において、
前記整数の係数を決定し、前記実数記憶手段に記憶されている実数を係数倍する係数手段を更に備えるとともに、
前記候補値決定手段は、前記候補値の平方根の小数部と、前記係数手段により係数倍された実数の小数部とを算出して、前記判定を行う算出判定手段を備え、
前記変換手段は、前記係数手段により係数倍された実数に対する多項式を決定した後、この決定した多項式を前記係数で除算することによって、前記実数に対する多項式を決定する式決定手段を備えていることを特徴とする平方根記号表示制御装置。
【請求項４】
平方根記号表示制御装置に対して、実数を、ルートを１つ含む多項式に変換させ、この変換した多項式を、平方根記号を用いて表示させるためのプログラムであって、
前記実数を記憶する実数記憶手段と、
この実数記憶手段に記憶されている実数を表示させる第１の表示制御手段と、
正の整数である候補値の平方根の小数部と、前記実数記憶手段に記憶されている実数の小数部とを算出するとともに、算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定することにより、候補値を決定する候補値決定手段と、
この候補値決定手段により決定された候補値に基づいて、前記実数をルートを１つ含む多項式に変換する変換手段と、
この変換手段により変換された多項式を平方根記号を用いて表示させる第２の表示制御手段と、
を前記平方根記号表示制御装置に実現させるためのプログラム。
【請求項５】
記憶されている実数を表示させる第１の表示制御ステップと、
正の整数である候補値の平方根の小数部と、前記実数の小数部とを算出する算出ステップと、
前記算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定する判定ステップと、
前記判定により前記判定条件を満たすと判定された候補値に基づいて、前記実数をルートを１つ含む多項式に変換する変換ステップと、
前記変換された多項式を、平方根記号を用いて表示させる第２の表示制御ステップと、
を含むことを特徴とする平方根記号表示制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、計算装置に係り、詳細には、小数部を持つ実数を、平方根を含む多項式に変換する平方根記号表示制御装置等に関する。
【０００２】
【従来の技術】
従来、例えば電卓と称される小型の電子計算装置において、計算結果は一般的に小数部を持つ実数で表される。この小数部を持つ実数を計算の種類に適した見通しのよい形にするため、特開平１１―２８２８０７号公報に開示された発明のように、小数を分数に変換するといったものがある。あるいは、特開２０００−５７１００号公報に開示された発明のように、無理数である実数の２乗を分数に変換し、その分数の平方根を取ることによって、実数を√整数／整数の単項式に変換するといったものもある。
【０００３】
【発明が解決しようとする課題】
しかしながら、無理数である実数の変換を√整数／整数の単項式に変換した場合、さらにこれ以上の変換は行えず、例えば、√整数±整数などの多項式を実現することに関して難があった。
【０００４】
本発明の課題は、小数部を持つ実数を平方根を含む多項式に変形することが可能な計算装置、プログラムおよび制御方法を提供することである。
【０００５】
【課題を解決するための手段】
以上の課題を解決するため、請求項１記載の発明は、実数を、ルートを１つ含む多項式に変換し、この変換した多項式を、平方根記号を用いて表示させる平方根記号表示制御装置（例えば、図１の計算装置１０）であって、前記実数を記憶する実数記憶手段（例えば、図２のＲＡＭ２２０の実数データ記憶領域２２１）と、この実数記憶手段に記憶されている実数を表示させる第１の表示制御手段（例えば、図２のＣＰＵ２１０；第１表示制御プログラム２３５）と、正の整数である候補値の平方根の小数部と、前記実数記憶手段に記憶されている実数の小数部とを算出するとともに、算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定することにより、候補値を決定する候補値決定手段と（例えば、図２のＣＰＵ２１０；小数部処理プログラム２３４）、この候補値決定手段により決定された候補値に基づいて、前記実数をルートを１つ含む多項式に変換する変換手段と（例えば、図２のＣＰＵ２１０；実数変換処理プログラム２３３）、この変換手段により変換された多項式を平方根記号を用いて表示させる第２の表示制御手段（例えば、図２のＣＰＵ２１０；第２表示制御プログラム２３６）と、を備えることを特徴とする平方根記号表示制御装置としている。
【０００６】
また、請求項４記載の発明は、平方根記号表示制御装置に対して、実数を、ルートを１つ含む多項式に変換させ、この変換した多項式を、平方根記号を用いて表示させるためのプログラムであって、前記実数を記憶する実数記憶手段と、この実数記憶手段に記憶されている実数を表示させる第１の表示制御手段と、正の整数である候補値の平方根の小数部と、前記実数記憶手段に記憶されている実数の小数部とを算出するとともに、算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定することにより、候補値を決定する候補値決定手段と、この候補値決定手段により決定された候補値に基づいて、前記実数をルートを１つ含む多項式に変換する変換手段と、この変換手段により変換された多項式を平方根記号を用いて表示させる第２の表示制御手段と、を前記平方根記号表示制御装置に実現させることを特徴とするプログラムとしている。
【０００７】
また請求項５記載の発明は、記憶されている実数を表示させる第１の表示制御ステップと、正の整数である候補値の平方根の小数部と、前記実数の小数部とを算出する算出ステップと、前記算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定する判定ステップと、前記判定により前記判定条件を満たすと判定された候補値に基づいて、前記実数をルートを１つ含む多項式に変換する変換ステップと、前記変換された多項式を、平方根記号を用いて表示させる第２の表示制御ステップと、を含むことを特徴とする平方根記号表示制御方法としている。
【０００８】
この請求項１、４および５記載の発明によれば、記憶されている実数において、実数の小数部と正の整数である候補値の平方根の小数部を算出するとともに、算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定することにより、候補値を決定する。そして、その候補値に基づいて、前記実数をルートを１つ含む多項式に変換して表示することにより、実数を、例えば、ａ＋ｂ√ｃ（ａ、ｂは整数、ｃは正の整数）に変換し表示する。これにより、例えば無理数などの実数を、認識しやすい表示形態で表示することができる。
【０００９】
請求項２記載の発明は、請求項１記載の平方根記号表示制御装置において、前記候補値決定手段（例えば、図２のＣＰＵ２１０；小数部処理プログラム２３４）は、候補値を変更するとともに、前記算出及び前記判定を繰り返し実行することにより、前記判定条件を満たす候補値を決定する決定手段を備えていることを特徴とする電子計算装置としている。
【００１０】
この請求項２記載の発明によれば、候補値を決定する際に、候補値として１からｎ（ｎは正の整数）を随時当てはめ、その候補値の平方根の小数部と記憶されている実数の小数部において、２つの小数部の差が所定の判定条件を満たすか否かを判定し、判定条件が満たされるまで処理を繰り返すといったことが実現される。これにより、単純なプログラム構成で、本発明を実現することができる。
【００１１】
請求項３記載の発明は、請求項１または２記載の平方根記号表示制御装置において、前記整数の係数を決定し、前記実数記憶手段に記憶されている実数を係数倍する係数手段（例えば、図２のＣＰＵ２１０；図４のステップＳ４０９）を更に備えるとともに、前記候補値決定手段は、前記候補値の平方根の小数部と、前記係数手段により係数倍された実数の小数部とを算出して、前記判定を行う算出判定手段（例えば、図２のＣＰＵ２１０；図６のステップＳ６０５、Ｓ６０６）を備え、前記変換手段は、前記係数手段により係数倍された実数に対する多項式を決定した後、この決定した多項式を前記係数で除算することによって、前記実数に対する多項式を決定する式決定手段（例えば、図２のＣＰＵ２１０；図５のステップＳ４１９）を備えていることを特徴とする平方根記号表示制御装置としている。
【００１２】
この請求項３記載の発明によれば、記憶されている実数を係数倍し、係数倍した実数の小数部と候補地の平方根の小数部を算出して、その２つの小数値の差が、所定の条件を満たす候補値を決定し、計数倍した実数を多項式に変換したあと、多項式を係数で除算することによって、例えば、（ａ＋ｂ√ｃ）／ｍ（ｍは正の整数）に変換して表示する。これにより、例えば無理数などの実数を、認識しやすい表示形態で表示することができる。
【００１３】
【発明の実施の形態】
以下、図１〜図７を参照して本発明を適用した計算装置の実施の形態を詳細に説明する。
【００１４】
［外観］
図１は、本実施の形態を適用した計算装置１０の外観の一例を示した図である。計算装置１０として、一般的な関数電卓を適用した場合を例としているが、その他、計算機能を備えた計算装置であれば、これに限らない。
【００１５】
図１において、計算装置１０は、表示部１１０、実数をルートを含む多項式に変換する変換キー１２０（以下、単に「実数変換キー１２０」とする。）、実数をルートと分数を含む多項式に変換する変換キー１３０（以下、単に「実数変換キー１３０」とする。）および操作入力キー１４０で構成されている。また、操作入力キー１４０は、機能選択キー１４１、数字キー１４２、四則演算キー１４３および実行キー１４４で構成されている。
【００１６】
表示部１１０は、操作入力キー１４０の押下に応じた文字や符号、演算結果など、計算装置１０を使用するために必要な各種データが表示される部分であり、例えば、ＬＣＤ（Liquid Crystal Display）によって実現される。
【００１７】
実数変換キー１２０は、表示部１１０に表示された実数を、ルートを含む多項式に変換するときに操作する。実数変換キー１３０も同様に、表示部１１０に表示された実数をルートと分数を含む多項式に変換するときに操作する。
【００１８】
入力部１４０は、ユーザが数値の入力あるいは演算を実行するときに操作する。各種キーの内容においては、既に公知であるため、その説明を省略する。
【００１９】
［構成］
本実施の形態における、構成を説明する。図２は計算装置１０の内部構成を示すブロック図である。同図において、計算装置１０は、ＣＰＵ（Ce ntral Processing Unit）２１０、ＲＡＭ（Random Access Memory）２２０、ＲＯＭ（Read Only Memory）２３０、入力部１４０、表示部１１０およびバス２６０によって構成されている。
【００２０】
ＣＰＵ２１０は、入力部１４０の押下操作に従って対応したデータを入力し、ＲＯＭ２３０に予め記憶されているシステムプログラム２３１等の命令にしたがって、入力したデータの処理を行い、処理後のデータをＲＡＭ２２０へ記憶、あるいは表示部１１０に出力するなどの回路各部の動作の制御を行う。このＣＰＵ２１０には、ＲＡＭ２２０、ＲＯＭ２３０、入力部１４０および表示部１１０がバス２６０を介して接続されている。
【００２１】
ＲＡＭ２２０は、ＣＰＵ２１０の作業領域として、プログラムや数値を一時的に記憶し、本実施の形態においては、実数データ記憶領域２２１、表示データ記憶領域２２２、作業領域２２３を備える。
【００２２】
実数データ記憶領域２２１は、入力部１４０の操作により入力されたデータあるいは、演算後のデータが記憶される領域である。表示データ記憶領域２２２は、表示部１１０に表示するデータが記憶される領域である。作業領域２２３は、ＲＯＭ２３０に記憶されている各種プログラムを実行するために必要なデータを記憶する領域である。
【００２３】
ＲＯＭ２３０は、計算装置１０の各種機能を実現するためのプログラムが記憶されている。本実施の形態においては、ＲＯＭ２３０は、システムプログラム２３１、アプリケーションプログラム２３２、実数変換処理プログラム２３３、小数部処理プログラム２３４、第１表示制御プログラム２３５および第２表示制御プログラム２３６を備える。
【００２４】
システムプログラム２３１は、ＣＰＵ２１０の実行により、計算装置１０の基本的な機能を実行させるためのプログラムである。例えば、入力部１４０の押下によるデータ入力が発生したとき、ＣＰＵ１１０はそのデータに従った処理をサブルーチンプログラムを利用して実行する。
【００２５】
アプリケーションプログラム２３２は、ＣＰＵ２１０の実行により、各種関数演算を実現させるためのプログラムである。例えば、２次方程式の解を求めるプログラムなどを含む。
【００２６】
実数変換処理プログラム２３３は、ＣＰＵ２１０の実行により、実数データ記憶領域２２１に記憶された実数データ（以下、単に「実数データ」とする。）を無理数を含む式、例えば、ａ＋ｂ√ｃに変形するプログラムである。
【００２７】
小数部処理プログラム２３４は、実数変換処理プログラム２３３で使用するサブルーチンプログラムであり、ＣＰＵ２１０の実行により、実数データの小数部と整数ｎ（ｎは正の整数）の平方根の小数部において、２つの値の差を比較し、所定の条件を満足する整数ｎを算出するプログラムである。
【００２８】
第１表示制御プログラム２３５は、ＣＰＵ２１０の実行により、入力部１４０から入力されたデータあるいは演算結果のデータを表示データ記憶領域２２２に記憶し、表示部１１０に表示させるプログラムである。
【００２９】
第２表示制御プログラム２３６は、ＣＰＵ２１０の実行により、実数変換プログラム２３３の実行結果であるルートを含む多項式、例えばａ＋ｂ√ｃを表示データ記憶領域２２２に記憶し、表示部１１０に表示させるプログラムである。
【００３０】
［動作］
次に、本発明における、計算装置１０の動作を説明する。図３は、システムプログラム２３１の計算データ入力処理を示すフローチャートである。
【００３１】
まずユーザは入力部１４０の操作により、データを入力する。押下されたキーが数字キー１４２の場合（ステップＳ３０１：Ｙｅｓ）、ＣＰＵ２１０は押下された数字キー１４２に対応した数値データを表示データ記憶領域２２２に記憶して、表示部１１０に表示する（ステップＳ３０２）。そして、ＣＰＵ２１０はステップＳ３０１へ処理を移行する。
【００３２】
一方、押下されたキーが数字キー１４２でない場合（ステップＳ３０１：Ｎｏ）、ＣＰＵ２１０は押下されたキーが機能選択キー１４１あるいは四則演算キー１４３であるか判断する（ステップＳ３０３）。機能選択キー１４１あるいは四則演算キー１４３のいずれも押下されていない場合は（ステップＳ３０３：Ｎｏ）、ＣＰＵ２１０は他の処理へ移行する。
【００３３】
ＣＰＵ２１０が機能選択キー１４１あるいは四則演算キー１４３の押下を判断した場合（ステップＳ３０３：Ｙｅｓ）、ＣＰＵ２１０は実数データ記憶領域２２１に記憶されている数値データに対して演算処理を行い（ステップＳ３０４）、演算結果を表示データ記憶領域２２２に記憶する。そしてＣＰＵ２１０は、第１表示制御プログラム２３５を実行して、表示データ記憶領域２２２のデータを表示部１１０に表示する（ステップＳ３０５）。
【００３４】
次にＣＰＵ２１０は、実数変換キー１２０あるいは１３０が押下されたか判断する（ステップＳ３０６）。実数変換キー１２０あるいは１３０が押下されなかった場合（ステップＳ３０５：Ｎｏ）、ＣＰＵ２１０はステップＳ３０１へ処理を移行する。
【００３５】
一方、実数変換キー１２０あるいは１３０が押下された場合（ステップＳ３０６：Ｙｅｓ）、ＣＰＵ２１０は実数変換処理プログラム２３３を実行し（ステップＳ３０７）、処理結果を表示データ記憶領域２２２へ記憶し、第２表示制御プログラム２３６を実行して、表示部１１０へ表示する（ステップＳ３０８）。そしてＣＰＵ２１０はステップＳ３０１へ処理を移行する。
【００３６】
図４および図５は、実数変換処理プログラム２３３の実行に係る、計算装置１０の動作を示すフローチャートである。本処理の説明において、数値データをａ＋ｂ√ｃに変換する動作に加え、その変形例として、（ａ＋ｂ√ｃ）／ｍに変換する動作も同時に説明する。
【００３７】
実数変換処理プログラム２３３の実行を開始すると、ＣＰＵ２１０は実数データ記憶領域２２１に記憶されたデータを変数ｘに代入する（ステップＳ４０１）。変数ｘが０以上の場合（ステップＳ４０２：Ｎｏ）、ＣＰＵ２１０は変数ｘｓｇｎに１を代入する（ステップＳ４０３）。一方、変数ｘが０未満の場合（ステップＳ４０２：Ｙｅｓ）、ＣＰＵ２１０は変数ｘｓｇｎに−１を代入する（ステップＳ４０４）。ここで変数ｘｓｇｎは、実数データである変数ｘの正負を示す変数である。
【００３８】
次にＣＰＵ２１０は、変数ｘの絶対値の小数部を変数ｘｘに代入する（ステップＳ４０５）。例えば、ｘ＝１．２３４５の場合、変数ｘｘには０．２３４５が代入され、ｘ＝−１．２３４５の場合も、変数ｘｘには０．２３４５が代入される。
【００３９】
次にＣＰＵ２１０は、変数ｘｘを引数として、小数部処理プログラム２３４を実行する（ステップＳ４０６：図６）。小数部処理プログラム２３４の実行により、ＣＰＵ２１０は変数ｘｘとの差が所定の条件を満たす小数部を持つ√ｚｚ（ｚｚは正の整数）を導出し、変数ｚｚを決定する。
【００４０】
そしてＣＰＵ２１０は、変数ｚｚが０か否かを判定する（ステップＳ４０７）。変数ｚｚが０の場合（ステップＳ４０７：Ｙｅｓ）、ＣＰＵ２１０は変数ｘに小数部が存在しない、あるいは小数部処理プログラム２３４において、変数ｘｘの小数部との差が所定の条件を満たす小数部を持つ√ｚｚを導出できなかったと判断し、実数変換処理プログラム２３３を終了する。
【００４１】
一方、変数ｚｚが０以外の場合（ステップＳ４０７：Ｎｏ）、ＣＰＵ２１０は変数ｍが１より大きいか判定する（ステップＳ４０８）。変数ｍ（ｍは正の整数）は、ステップ３０６において、実数変換キー１３０が押下された場合、小数部処理プログラム２３４において、変数ｘｘと所定の条件を満たす√ｚｚを導出するために、変数ｘｘを乗算する変数である。
【００４２】
変数ｍが１より大きい場合（ステップＳ４０８：Ｙｅｓ）、ステップＳ４０６の小数部変換処理プログラム２３４の実行において、変数ｘｘをｍ倍した値と所定の条件を満たす√ｚｚが導出されたため、変数ｘもｍ倍する必要がある。そのため、ＣＰＵ２１０は変数ｘに変数ｘを変数ｍで乗算した値を代入する（ステップＳ４０９）。変数ｍが１以下の場合（ステップＳ４０８：Ｎｏ）、ＣＰＵ２１０はステップＳ４１０へ処理を進める。
【００４３】
続いてＣＰＵ２１０はステップＳ４１０を実行する。まず、変数ａに変数ｘの絶対値と√ｚｚとの差に対して小数点以下を四捨五入した整数値を代入し、さらに変数ａに変数ａを変数ｘｓｇｎで乗算した値を代入する。次に、変数ｂに変数ｘｓｇｎを代入し、変数ｃに変数ｚｚを代入する。そして変数ｗおよび変数ｙにそれぞれ１を代入する。
【００４４】
これは変数ｘをｘ≒ａ＋ｂ√ｃの形に変換する過程において、まずｃ＝ｚｚつまり√ｃ＝√ｚｚと置く。√ｚｚの小数部は、変数ｘの小数部に近似しているが、実際は√ｚｚは１以上の実数であるため、変数ｘと√ｚｚのそれぞれの整数部の値は異なる可能性が高い。そこで、ｘ≒ａ＋ｂ√ｃの両辺の整数部を補正するために、変数ａを変数ｘの絶対値と√ｚｚとの差に対して小数点以下を四捨五入した整数値とする。そして両辺の符号を一致させるために、右辺の（ａ＋ｂ√ｃ）に変数ｘｓｇｎをかける。つまり、変数ａに実数ａに変数ｘｓｇｎを乗算した値を代入し、変数ｂには変数ｘｓｇｎを代入する。変数ｗおよび変数ｙは、変数ｃつまり変数ｚｚの平方因数を導き出すために使用する変数である。
【００４５】
次にＣＰＵ２１０は、変数ｃを変数ｗの２乗で除算した値の小数部が０か否かを判定する（ステップＳ４１２）。０の場合（ステップＳ４１２：Ｙｅｓ）、ＣＰＵ２１０は変数ｗの値を変数ｃの平方因数と見なし、変数ｙに変数ｗの値を代入し（ステップＳ４１３）、処理をステップＳ４１４に進める。
【００４６】
一方、０以外の場合（ステップＳ４１２：Ｎｏ）、ＣＰＵ２１０は変数ｗの値は変数ｃの平方因数でないと判断し、そのまま処理をステップＳ４１４に進める。そしてＣＰＵ２１０は、変数ｗをカウントアップする（ステップＳ４１４）。
【００４７】
次にＣＰＵ２１０は変数ｗと√ｃの値を比較する。変数ｗの値が√ｃ以下の場合（ステップＳ４１５：Ｙｅｓ）、ＣＰＵ２１０はステップＳ４１２へ処理を移行する。一方、変数ｗの値が√ｃより大きい場合（ステップＳ４１５：Ｎｏ）、変数ｗの平方因数が√ｃよりも大きくなることはあり得ないため、ＣＰＵ２１０はステップＳ４１６へ処理を移行する。
【００４８】
次にＣＰＵ２１０は、変数ｂに変数ｂを変数ｙで乗算した値を代入し、変数ｃに変数ｃを変数ｙの２乗で除算した値を代入する（ステップＳ４１６）。これは変数ｙは変数ｃの平方因数であるため、これを根号外に出すために変数ｂと変数ｙを乗算し、また変数ｃを平方因数を根号外に出した後の素数とするために、変数ｃを変数ｙの２乗で除算する。
【００４９】
続いてＣＰＵ２１０は、変数ｍが１より大きいか判定する（ステップＳ４１７）。変数ｍが１以下の場合（ステップＳ４１７：Ｎｏ）、ＣＰＵ２１０は表示データ記憶領域２２２に多項式ａ＋ｂ√ｃを記憶する（ステップＳ４１８）。変数ｍが１より大きい場合（ステップＳ４１７：Ｙｅｓ）、ＣＰＵ２１０は表示データ記憶領域２２２に多項式（ａ＋ｂ√ｃ）／ｍを記憶する（ステップＳ４１９）。
【００５０】
そしてＣＰＵ２１０は実数変換処理プログラム２３３を終了し、ステップＳ３０８へ処理を移行する。
【００５１】
以上のように、ＣＰＵ２１０は実数データ記憶領域２２１に記憶されているデータを、実数変換処理プログラム２３３の命令に従ってルートを含んだ多項式に変換し、その結果を表示部１１０に表示する。
【００５２】
図６は、小数部処理プログラム２３４の実行に係る、計算装置１０の動作を示すフローチャートである。小数部処理プログラム２３４の実行を開始すると、ＣＰＵ２１０は、変数ｄに１×１０-12、変数ｍに１、変数ｎに０、変数ｎｍａｘに１００をそれぞれ代入する（ステップＳ６０１）。
【００５３】
変数ｄは、変数ｘｘと√ｎの小数部を比較する際に閾値として用いる変数であり、この値が小さいほど、変数ｘｘにより近い小数部を持つ√ｎを導出することができる。変数ｍは、変数ｘｘを係数倍して√ｎを導出する際の係数を表す変数である。変数ｎは、変数ｘｘに近い小数部を持つ√ｎを導出するための変数である。変数ｎｍａｘは、変数ｎのカウントアップの上限を示す変数である。
【００５４】
上述した変数ｄおよび変数ｎｍａｘに代入する数値は、本処理を説明する上の仮の数値であり、実際に本発明を動作させる際には、これらの数値は処理精度あるいは処理速度などを考慮して調整される。
【００５５】
次にＣＰＵ２１０は、変数ｘｘが０かどうか比較する（ステップＳ６０２）。変数ｘｘが０の場合（ステップＳ６０２：Ｙｅｓ）、ＣＰＵ２１０は変数ｘは処理する小数部を持たないと判断し、変数ｚｚに０を代入する（ステップＳ６０３）。そして、小数部処理プログラム２３４を終了し、ステップＳ４０７へ処理を移行する。
【００５６】
一方、変数ｘｘが０でない場合（ステップＳ６０２：Ｎｏ）、ＣＰＵ２１０は変数ｎをカウントアップする（ステップＳ６０４）。
【００５７】
次にＣＰＵ２１０は、√ｎの小数部と変数ｘｘの差の絶対値を変数ｄｄに代入する（ステップＳ６０５）。そしてＣＰＵ２１０は変数ｄｄと変数ｄを比較する（ステップＳ６０６）。変数ｄｄが変数ｄ以下の場合（ステップＳ６０６：Ｙｅｓ）、ＣＰＵ２１０は√ｎの小数部と変数ｘｘの値が近似していると判断し、変数ｚｚに変数ｎの値を代入する（ステップＳ６０７）。そして、小数部処理プログラム２３４を終了し、ステップＳ４０７へ処理を移行する。
【００５８】
一方、変数ｄｄが変数ｄより大きい場合（ステップＳ６０６：Ｎｏ）、ＣＰＵ２１０は変数ｎと変数ｎｍａｘの値を比較する（ステップＳ６０８）。変数ｎが変数ｎｍａｘより小さい場合（ステップＳ６０８：Ｙｅｓ）、ＣＰＵ２１０はステップＳ６０４に処理を移行する。
【００５９】
一方、変数ｎが変数ｎｍａｘ以上の場合（ステップＳ６０８：Ｎｏ）、ＣＰＵ２１０は、変数ｎｍａｘの値までの整数において、変数ｘｘに近似した小数部を持つ√ｎを導出することができなかったと判断し、表示部１１０にエラー表示を行う（ステップＳ６０９）。そしてＣＰＵ２１０はユーザに対して、処理の続行あるいは終了の選択を操作させる表示を行う。
【００６０】
ユーザが入力部１４０の操作によって、処理の終了を選択した場合（ステップＳ６１０：Ｎｏ）、ＣＰＵ２１０は変数ｚｚに０を代入し（ステップＳ６１２）、小数部処理プログラム２３４を終了し、ステップＳ４０７へ処理を移行する。
【００６１】
一方、ユーザが処理の続行を選択した場合（ステップＳ６１０：Ｙｅｓ）、ＣＰＵ２１０はステップＳ３０６において、実数変換キー１２０あるいは１３０のどちらが押下されたか判断する（ステップＳ６１２）。ステップＳ３０６において、実数変換キー１２０が押下された場合（ステップＳ６１２：１２０）、ＣＰＵ２１０は変数ｎｍａｘに１００を加算した値を変数ｎｍａｘに代入し（ステップＳ６１３）、ステップＳ６０４に処理を移行し、ステップＳ４０７へ処理を移行する。
【００６２】
一方、ステップＳ３０６において、実数変換キー１３０が押下された場合（ステップＳ６１２：１３０）、ＣＰＵ２１０は変数ｍをカウントアップし、変数ｘｘに変数ｘｘに変数ｍを乗算した値を代入する。そして、変数ｎに０を代入し、ステップＳ６０４に処理を移行する。
【００６３】
以上のように、小数部処理プログラム２３４の命令にしたがって、ＣＰＵ２１０は、実数データである変数ｘの小数部と√ｎの小数部の差が変数ｄｄ以下となる整数ｎを導出する。
【００６４】
図７（ａ）は、ステップＳ３０５において第１表示制御プログラム２３５を実行した時の表示部１１０の一例を示し、図７（ｂ）は、ステップＳ３０８において第２表示制御プログラム２３５を実行した時の表示部１１０の一例を示している。
【００６５】
ＣＰＵ２１０は、実数データ記憶領域２２１のデータ、例えば、図７（ａ）に表示されている実数に対して実数変換処理プログラム２２３を実行した時、実行結果として、「３＋２√７」を表示部１１０に表示する。このように、実数を認識しやすい多項式に表示することができる。
【００６６】
また変形例として、実数を（ａ＋ｂ√ｃ）／ｍに変換する動作も上述したが、この場合も同様に、ＣＰＵ２１０は実数変換処理プログラム２２３の実行結果として、「（ａ＋ｂ√ｃ）／ｍ」を表示部１１０に表示する。
【００６７】
【発明の効果】
請求項１、４および５記載の発明によれば、記憶されている実数において、実数の小数部と正の整数である候補値の平方根の小数部を算出するとともに、算出した２つの小数部の差が、所定の判定条件を満たすか否かを判定することにより、候補値を決定し、その候補値に基づいて、前記実数をルートを１つ含む多項式に変換して表示することにより、実数を、例えば、ａ＋ｂ√ｃ（ａ、ｂは整数、ｃは正の整数）に変換し表示する。これにより、例えば無理数などの実数を、認識しやすい表示形態で表示することができる。
【００６８】
請求項２記載の発明によれば、候補値を決定する際に、候補値として１からｎ（ｎは正の整数）を随時当てはめ、その候補値の平方根の小数部と記憶されている実数の小数部において、２つの小数部の差が所定の判定条件を満たすか否かを判定し、判定条件が満たされるまで処理を繰り返すといったことが実現される。これにより、単純なプログラム構成で、本発明を実現することができる。
【００６９】
請求項３記載の発明によれば、記憶されている実数を係数倍し、係数倍した実数の小数部と候補地の平方根の小数部を算出して、その２つの小数値の差が、所定の条件を満たす候補値を決定し、計数倍した実数を多項式に変換したあと、多項式を係数で除算することによって、例えば、（ａ＋ｂ√ｃ）／ｍ（ｍは正の整数）に変換して表示する。これにより、例えば無理数などの実数を、認識しやすい表示形態で表示することができる。
【図面の簡単な説明】
【図１】計算装置の外観を示す図。
【図２】計算装置の内部構成を示すブロック図。
【図３】計算装置の基本処理を示すフローチャート。
【図４】実数変換処理プログラムの動作フローチャート。
【図５】図４に続く、実数変換処理プログラムの動作フローチャート。
【図６】小数部処理プログラムの動作フローチャート。
【図７】計算装置の表示例を示す図。
【符号の説明】
１０    計算装置
２１０    ＣＰＵ
２２０    ＲＡＭ
２２１    実数データ記憶領域
２２２    表示データ記憶領域２２２
２２３    作業領域
２３０    ＲＯＭ
２３１    システムプログラム
２３２    アプリケーションプログラム
２３３    実数変換処理プログラム
２３４    小数部処理プログラム
２３５    第１表示制御プログラム
２３６    第２表示制御プログラム
１４０    入力部
１１０    表示部
【図１】
0003900929.tif 000002
【図２】
0003900929.tif 000003
【図３】
0003900929.tif 000004
【図４】
0003900929.tif 000005
【図５】
0003900929.tif 000006
【図６】
0003900929.tif 000007
【図７】
0003900929.tif 000008