トップ :: G 物理学 :: G06 計算;計数

【発明の名称】 平方根記号表示制御装置、平方根記号表示制御方法、およびプログラム
【発明者】 【氏名】村井 信吾
【住所又は居所】東京都羽村市栄町3丁目2番1号 カシオ計算機株式会社羽村技術センター内
【課題】小数以下の値(小数部)を有する実数を、0または正の整数による平方根の和又は差の計算式に変換し、平方根記号(根号;√)に相当する記号を使って表示すること。

【解決手段】√A±√Bの計算式を求める場合であれば、整数A及び整数Bに1から予め定められている上限値まで順に整数を割当て、数値計算をして近似値を求める。そして、変換前の実数との誤差が予め定められている範囲内に収まっている場合に適切な変換が行われたとする。平方根表示の計算式へ変換されたならば、平方根記号(根号)または平方根記号に相当する記号(例えば“「”記号など)を適宜付与して、表示出力する。
【特許請求の範囲】
【請求項1】実数を記憶している実数記憶手段と、この実数記憶手段に記憶されている実数を表示させる第1の表示制御手段と、前記実数記憶手段に記憶されている実数を、予め定められている演算に基づいて、0または正の整数による平方根の和又は差の計算式に変換する変換手段と、この変換手段により変換された計算式を、予め定められている平方根記号を用いて表示させる第2の表示制御手段と、を備えていることを特徴とする平方根記号表示制御装置。
【請求項2】請求項1に記載の平方根記号表示制御装置において、更に、実数を入力する実数入力手段と、この実数入力手段により入力された実数を前記実数記憶手段に記憶させる記憶制御手段と、を備えていることを特徴とする平方根記号表示制御装置。
【請求項3】請求項1または2に記載の平方根記号表示制御装置において、更に、前記第1の表示制御手段による表示と、前記第2の表示制御手段による表示とを切り換える表示切換手段、を備えていることを特徴とする平方根記号表示制御装置。
【請求項4】請求項1〜3の何れかに記載の平方根記号表示制御装置において、前記変換手段は、0または正の整数である、第1の候補値および第2の候補値を決定する候補値決定手段と、この候補値決定手段により決定された前記第1の候補値および第2の候補値それぞれの平方根の和又は差の計算値と、前記実数記憶手段に記憶されている実数との差が、予め定められている判定条件を満たすか否かを判定する判定手段と、を有し、この判定手段により前記判定条件を満たすと判定された第1の候補値および第2の候補値、それぞれの平方根の和又は差の計算式を、前記実数を表す計算式として決定すること、を特徴とする平方根記号表示制御装置。
【請求項5】請求項4に記載の平方根記号表示制御装置において、前記判定条件は、当該装置固有のマシン・イプシロンに基づく予め定められている数値範囲であることを特徴とする平方根記号表示制御装置。
【請求項6】請求項4または5に記載の平方根記号表示制御装置において、前記候補値決定手段は、第1の候補値に基づいて第2の候補値を決定することを特徴とする平方根記号表示制御装置。
【請求項7】請求項4〜6の何れかに記載の平方根記号表示制御装置において、前記変換手段は、前記候補値決定手段による第1の候補値および第2の候補値の決定と、前記判定手段による前記判定条件を満たすか否かの判定とを繰り返し実行させ、前記判定条件を満たす第1の候補値および第2の候補値それぞれの平方根の和又は差の計算式を求める演算処理手段を備えていることを特徴とする平方根記号表示制御装置。
【請求項8】請求項4〜7の何れかに記載の平方根記号表示制御装置において、前記実数は、計算処理の結果あるいは途中結果において算出される実数であり、前記第2の表示制御手段は、前記変換手段により変換された計算式を記憶し、前記実数に代えて前記計算処理を実行する実行手段を備えていることを特徴とする平方根記号表示制御装置。
【請求項9】平方根記号を表示させるための平方根記号表示制御装置に、実数を記憶させるための実数記憶機能と、この実数記憶機能によって記憶されている実数を表示させる第1の表示制御機能と、前記実数記憶機能によって記憶されている実数を、予め定められている演算に基づいて、0または正の整数による平方根の和又は差の計算式に変換する変換機能と、この変換機能により変換された計算式を予め定められている平方根記号を用いて表示させる第2の表示制御機能と、を実現させるためのプログラム。
【請求項10】実数を記憶している実数記憶ステップと、この実数記憶ステップによって記憶した実数を表示する第1の表示制御ステップと、前記実数記憶ステップによって記憶した実数を、予め定められている演算に基づいて、0または正の整数による平方根の和又は差の計算式に変換する変換ステップと、この変換した計算式を予め定められている平方根記号を用いて表示する第2の表示制御ステップと、を有することを特徴とする平方根記号表示制御方法。
【発明の詳細な説明】【0001】
【発明の属する技術分野】この発明は、小数以下の値(小数部)を有する実数を、0または正の整数による平方根の和又は差の計算式に変換し、平方根記号(根号;√)に相当する記号を使って表示する機能を備えた、平方根記号表示制御装置、平方根記号表示制御方法、及びプログラムに関する。
【0002】
【従来の技術】従来、関数電卓やポケット・コンピュータなどの電子計算装置で平方根を扱う場合は、平方根を求めたい実数の小数で表現された近似値を求めるのが一般的である。例えば、ユーザは、√3を使って計算する場合、3を入力した後に予め定められているキーを押下し、演算処理によって√3の近似値(1.732050…)を求める。以降の演算過程では、√3の代りに該近似値を使うことになる。一部の電子計算装置では、数式を内部表現として持つことで、√(ルート)記号を有した平方根表示のまま記憶して、先の例ならば√3をそのままに演算を行う。そして、最終的に√3+2の解が求まった段階で、数値計算によって近似値(3.732050…)を求める。
【0003】
【発明が解決しようとする課題】しかしながら、従来の平方根の扱いでは、計算によって小数表現の近似値を求めることはできたが、その逆変換、即ち小数表示された値を平方根に変換して表示することはできない。その為、小数と平方根が入り混じった計算をするには、ユーザは、平方根のデータを別途計算機等で事前に入力値の形式を小数に合わせる手間を必要とし作業が煩雑になる問題があった。また、例えば、コレスキ分解やベクトル演算など、平方根のまま計算するほうが有利な演算処理に対して、手持ちのデータが少数表示されるため、ユーザは、止む無く演算の複雑な小数による計算をしなければならないという不便があった。また、計算の入力や計算結果の表示が小数である場合、桁数が多くなることが多い。このため、表示スペースの限られた卓上電卓等を用いた場合は、ユーザにとって、表示のスクロールや表示スペースの切換を頻繁に行う必要が生じ、使い勝手が良くないという問題もある。
【0004】本発明は、上記の課題に鑑みてなされたものであり、小数部を有する実数を、平方根の和又は差の計算式に変換・表示する平方根記号表示制御装置、平方根記号表示制御方法、及びプログラムを提供し、電子計算装置等の使い勝手を改善することを目的とする。
【0005】
【課題を解決するための手段】以上の課題を解決するために、請求項1記載の発明の平方根記号表示制御装置は、実数(例えば、図2の実数データ記憶領域に記憶されている実数124)を記憶している実数記憶手段(例えば、図2のRAM120)と、この実数記憶手段に記憶されている実数を表示させる(例えば、図2の第1表示制御プログラム133)第1の表示制御手段(例えば、図2のCPU110)と、前記実数記憶手段に記憶されている実数を、予め定められている演算に基づいて、0または正の整数による平方根の和又は差の計算式に変換する(例えば、図2の変換プログラム134)変換手段(例えば、図2の変換CPU110)と、この変換手段により変換された計算式を、予め定められている平方根記号を用いて表示させる(例えば、図2の第2表示制御プログラム135、表示部150)第2の表示制御手段(例えば、図2のCPU110)と、を備えることを特徴とする。
【0006】また、請求項9記載の発明のプログラムは、平方根記号を表示させるための平方根記号表示制御装置に、実数(例えば、図2の実数データ記憶領域に記憶されている実数124)を記憶させるための実数記憶機能(例えば、図2のRAM120)と、この実数記憶機能によって記憶されている実数を表示させる(例えば、図2の第1表示制御プログラム133)第1の表示制御機能(例えば、図2のCPU110)と、前記実数記憶機能によって記憶されている実数を、予め定められている演算に基づいて、0または正の整数による平方根の和又は差の計算式に変換する(例えば、図2の変換プログラム134変換機能(例えば、図2の変換CPU110)と、この変換機能により変換された計算式を予め定められている平方根記号を用いて表示させる(例えば、図2の第2表示制御プログラム135、表示部150)第2の表示制御機能(例えば、図2のCPU110)と、を実現させることを特徴とする。
【0007】また、請求項10記載の発明の平方根記号表示制御方法は、実数を記憶する実数記憶ステップと、この実数記憶ステップによって記憶した実数を表示する第1の表示制御ステップと、前記実数記憶ステップによって記憶した実数を、予め定められている演算に基づいて、0または正の整数による平方根の和又は差の計算式に変換する変換ステップと、この変換した計算式を予め定められている平方根記号を用いて表示する第2の表示制御ステップと、を有することを特徴とする。
【0008】請求項1、9、10に記載の発明によれば、記憶されている実数を平方根の計算式、例えば、a√A±b√B…±n√N(A,B…Nは正の整数,a,b…nは実数)の形式に変換し表示する。
【0009】従って、ユーザは、本発明を利用することによって、小数表示の計算から、平方根表示の計算に移行できる従来に無い利便性を得られる。また、平方根表示の計算式を、平方根記号(根号)に相当する記号で表示されので、数学的には同じ意味であるべき乗表示にくらべて、例えば、無理数であるといった数字の意味を認識しやすくなる。
【0010】請求項2記載の発明は、請求項1に記載の平方根記号表示制御装置において、更に、実数を入力する実数入力手段(例えば、図2の入力部140)と、この実数入力手段により入力された実数を前記実数記憶手段に記憶させる(例えば、図2のシステムプログラム131)記憶制御手段(例えば、図2のCPU110)と、を備えていることを特徴とする。
【0011】請求項2記載の発明によれば、請求項1と同様の効果を奏するとともに、平方根表示へ変換する値をユーザは適宜入力することができる。入力手段は、例えば、所謂電子卓上計算機等の数値入力キーや、GUIで表示されたキーをマウスやポインタなどで選択する手動入力、或いは数値データをメモリなどの記憶媒体から読み出して行う入力などによって実現される。手動入力であれば、従来の電子卓上計算機同様の使い勝手を提供することが可能となり、記憶媒体からの入力であれば、実験データ等の大量の入力が必要な場合に対応することができ、使い勝手を向上させることができる。
【0012】請求項3記載の発明は、請求項1または2に記載の平方根記号表示制御装置において、更に、前記第1の表示制御手段による表示と、前記第2の表示制御手段による表示とを切り換える表示切換手段(例えば、図1の表示切換キー145)、を備えていることを特徴とする。
【0013】請求項3記載の発明によれば、請求項1または2と同様の効果を奏するとともに、変換対象となった実数を、小数表示と平方根表示を自在に切り換えることができる。
【0014】また、請求項1〜3の何れかに記載の平方根記号表示制御装置の変換手段による計算式の決定方式として、例えば請求項4記載の発明のように変換手段を構成しても良い。即ち、変換手段は、0または正の整数である、第1の候補値および第2の候補値を決定する候補値決定手段(例えば、図2のCPU110;図4のステップS16〜S18、S24〜S38)と、この候補値決定手段により決定された前記第1の候補値および第2の候補値それぞれの平方根の和又は差の計算値と、前記実数記憶手段に記憶されている実数との差が、予め定められている判定条件を満たすか否かを判定する判定手段(例えば、図2のCPU110;図4のステップS20〜S22)と、を有し、この判定手段により前記判定条件を満たすと判定された第1の候補値および第2の候補値、それぞれの平方根の和又は差の計算式を、前記実数を表す計算式として決定するとしても良い。
【0015】請求項5記載の発明は、請求項4に記載の平方根記号表示制御装置において、前記判定条件は、当該装置固有のマシン・イプシロン(例えば、図2のマシン・イプシロン136)に基づく予め定められている数値範囲であることを特徴とする。
【0016】請求項5記載の発明によれば、請求項4と同様の効果を奏するとともに、前記判定条件にマシン・イプシロンを用いるため、実数をより正確な平方根の和又は差の計算式に変換することが可能である。マシン・イプシロンとは、計算装置の最小限の演算誤差である。例えば、実数Xを浮動小数点方式で、X=±d.ddddd…×βe(有効桁数p)表現する場合、マシン・イプシロンε=(β/2)×β-pと表される。10進法の有効桁数4桁の例では、ε=5×10-4になる。ここで、判定条件を、例えは、平方根表示された計算式の近似値と実数との誤差がマシン・イプシロン以下として、マシン・イプシロンを基に判定を行うならば、当該計算装置の処理において、小数表示から平方根表示への変換が十分に精度を有したものであることになる。尚、マシン・イプシロンは、予め値を記憶させておいても良いし、予め定められているプログラムによってその都度求めるものとしても良い。
【0017】請求項6記載の発明は、請求項4または5に記載の平方根記号表示制御装置において、前記候補値決定手段は、第1の候補値に基づいて第2の候補値を決定することを特徴とする。
【0018】請求項6記載の発明によれば、請求項4または5と同様の効果を奏するとともに、前記候補値決定手段によって決定される第1の候補値と第2の候補値とが、予め定められている関係にある場合、第1の候補値から第2の候補値を決定することによって、演算処理数を軽減させることができる。
【0019】請求項7記載の発明は、請求項4〜6の何れかに記載の平方根記号表示制御装置において、前記変換手段は、前記候補値決定手段による第1の候補値および第2の候補値の決定と、前記判定手段による前記判定条件を満たすか否かの判定とを繰り返し実行させ、前記判定条件を満たす第1の候補値および第2の候補値それぞれの平方根の和又は差の計算式を求める演算処理手段(例えば、図2のCPU110;図4のステップS16〜S38)を備えていることを特徴とする。
【0020】請求項7記載の発明によれば、請求項4〜6の何れかと同様の効果を奏するとともに、例えば、平方根表示の計算式√A±√B(A,Bは0または正の整数)の形に変換する場合、変換手段で、整数A及びBの候補値に0〜n(nは正の整数)を逐次当てはめ、その都度判定手段で適切な変換がなされたかどうかを確認数する。これは、単純なループ処理で実行できるので、計算機に搭載されたメモリのワーク領域等が少ない場合であっても、本発明を実現することができる。
【0021】請求項8記載の発明は、請求項4〜7の何れかに記載の平方根記号表示制御装置において、前記実数は、計算処理の結果あるいは途中結果において算出される実数であり、前記第2の表示制御手段は、前記変換手段により変換された計算式を記憶し、前記実数に代えて前記計算処理を実行する実行手段(例えば、図2の平方根データ記憶領域128)を備えていることを特徴とする。
【0022】請求項8記載の発明によれば、請求項4〜7の何れかと同様の効果を奏するとともに、前記変換手段により変換された計算式は、平方根記号(根号)を備えた内部表現、例えば、変換結果として2√3が得られた場合、「2」「√」「3」の順番を維持した1つのデータ・セットとしてメモリ等の記憶領域に記憶され、以降の計算処理において実数の代りに利用される。
【0023】従って、ユーザは手持ちのデータが少数表示された計測値であっても、平方根表示に変換し、例えば、コレスキ分解やベクトル演算など、平方根のまま計算するほうが有利な演算処理で利用することが可能になる。特に、コレスキ分解やベクトル演算などが、例えば、従来の関数電卓と同様に予め内部に演算機能を有する場合は、小数から平方根への変換、続く関数の利用がシームレスに行われ、高い利便性を発揮できる。
【0024】
【発明の実施の形態】[第1の実施の形態]以下、図1〜図5を参照して、本発明に係る平方根記号表示制御装置の第1の実施の形態を詳細に説明する。本実施の形態は、平方根記号表示制御装置を所謂関数電卓に適用した場合を例とするが、その他、サブノートパソコン、PDA、多機能携帯電話機などの計算機能を備えた種々の電子装置に適用しても良い。
【0025】[外観の説明]図1は、本実施の形態の外観の一例を示した外観図である。同図に示すように、関数電卓10は、数値や演算操作の入力を行う操作入力キー14と、入力された数値や演算結果を表示するLCD15と、内蔵電池や所謂太陽電池等の電源(図示省略)を備え、金属や樹脂によって、例えばカード形状にケーシングされている。
【0026】操作入力キー14は、入力する内容に応じて公知の数字キー141、四則演算記号キー142、機能選択キー143、実行指示を入力するEXEキー144などを備え、本実施の形態においては、特に、数値の小数表示と平方根表示の切換を行う表示切換キー145が備えられている。
【0027】[構成の説明]次に、機能の構成の説明をする。図2は、本実施の形態の内部構成を示すブロック図である。同図において、関数電卓10は、CPU(Central ProcessingUnit)110、RAM(Random Access Memory)120、ROM(Read Only Memory)130、入力部140、表示部150、及び当該各構成要素を接続するバス160等から構成されている。
【0028】CPU110は、ROM130に記憶されているシステムプログラム131等に規定されている手順に従って、各構成要素を統一的に制御することにより、関数電卓10としての機能を実現する。CPU110は、従来の関数電卓と同様に、ROM130内に記憶される各演算機能固有のプログラムを実行することによって、微分演算機能や合成関数機能などを実現することは勿論であるが、特に本実施の形態では、表示切換キー145の押下信号を契機として、ROM130に記憶されている、変換プログラム134、第2表示制御プログラム135を、RAM120内のワーク領域129に展開し、展開したプログラムに基づいて後述する平方根記号表示処理を実行する。
【0029】RAM120は、CPU110の作業領域として、プログラムや数値の一時的な記憶を担い、プログラム展開や作業データの記憶がされるワーク領域129のほか、特に、表示部150に表示される内容(数値・数式など)が記憶される表示データ記憶領域122と、平方根表示への変換対象となる数値を記憶する実数データ記憶領域124と、平方根表示の候補値が記憶される候補値データ記憶領域126と、平方根の和又は差の計算式を記憶する平方根データ記憶領域128と、を備える。
【0030】ROM130は、システムプログラム131、アプリケーションプログラム132、及び、特に本実施の形態では、第1表示制御プログラム133と、変換プログラム134と、第2表示制御プログラム135と、マシン・イプシロン136と、を記憶している。
【0031】システムプログラム131は、CPU110に当該関数電卓10の基本的な機能を実現させるためのプログラムであって、このプログラムによってCPU110は、例えば、RAM120内に記憶されたデータを別の格納位置に記憶する処理、入力部140より入力される数値を表示データ記憶領域122に記憶させる処理、などを行う。
【0032】アプリケーションプログラム132は、CPU110に所謂関数電卓としての複数の関数演算機能を実現させる為のプログラムであって、例えば、公知の微分方程式等の数値解を求める微分演算プログラムや、予め変数記号に定義された変数同士或いは予め定義された関数と指定された単項式或いは多項式との合成関数を求める合成関数プログラム等を含む。平方根表示された計算式を使って演算を行うためのプログラムもここに含まれる。
【0033】第1表示制御プログラム133は、CPU110の実行により、入力部140から入力された数値をRAM120内の表示データ記憶領域122に記憶させ、表示部150に表示させるためのプログラムである。
【0034】変換プログラム134は、CPU110の実行により、表示データ記憶領域122に記憶されている値が実数である場合、実数データ記憶領域124に記憶し、0または正の整数による平方根の和又は差の計算式、即ち√A±√B(A、Bは整数)の計算式に変換するためのプログラムである。
【0035】具体的には、変換プログラム134によりCPU110は、表示データ記憶領域122に記憶されている値が小数部を含む実数である場合、表示データ記憶領域122内の値を実数データ記憶領域124に記憶する。次に、予め定められている範囲内にある0および正の整数の中から、実数データ記憶領域124の値を平方根の和又は差の計算式√A±√Bの根号内整数A、Bとなる第1の候補値と第2の候補値を選択して、整数Aと整数Bによる平方根の和又は差の計算値(近似値)を求め、計算値と変換対象の実数との誤差がマシン・イプシロンεより小さいか否かを判定する。判定条件を満たす場合は、第1、第2の候補値を整数AまたはBとして決定する。
【0036】第2表示制御プログラム135は、CPU110の実行により、変換プログラム134が決定した整数AとBを使って、表示部150に平方根の和又は差の計算式を、平方根記号(根号)または根号に相当する表示記号(例えば、“「”記号)を使った内部表現で記憶するとともに、LCD15に平方根表示するためのプログラムである。平方根記号に相当する表示記号は、表示部150の表示方法等によって適宜設定可能であるが、√(ルート)記号をイメージさせる設定とするのが望ましい。
【0037】マシン・イプシロン136は、当該関数電卓10における最小誤差εを示すものである。なお、マシン・イプシロン136は、数値データでなくマシン・イプシロンを求めるプログラムであっても良い。
【0038】入力部140は、ユーザが数値や演算処理の操作を入力する手段であって、図1の例では、操作入力キー14に相当し、数値や初期条件等を入力する数字キー141と、四則演算記号を入力する四則演算記号キー142と、各種機能を指定する機能選択キー143と、小数表示と平方根表示を切り換える表示切換キー145と、を備える。そして、ユーザに押下されたキーに対応する押下信号がCPU110に出力される。
【0039】表示部150は、図1の例では、LCD(液晶表示装置)15に相当し、CPU110の制御の下、数値や数式はもとより、指定された各種のメニュー画面やグラフ等を表示する。
【0040】[動作の説明]次に、関数電卓10の動作について説明する。尚、所謂関数電卓としての関数機能の選択、数式や数値の表示、四則演算処理等の処理に関する動作は公知であるので、ここでの詳細な説明は省略し、本発明に係る平方根記号表示の処理についてのみ説明する。
【0041】図3および図4は、変換プログラム134、第2表示プログラ135を、実行することによりCPU110が行う平方根記号表示処理の動作を説明するフローチャートである。平方根記号表示の対象となる実数は、すでにRAM120内の表示データ記憶領域122に記憶されているものとする。図5(a)は、表示の一例を示す図であって、実数3.968118785が表示されている。
【0042】ここで、ユーザによって表示切換キー145が押下されると、CPU110は、変換プログラム134をROM130からRAM120に展開して実数の平方根表示への変換を開始する。
【0043】まず、表示データ記憶領域122に記憶されている数値が、小数部を含む実数であることを確認する。小数を含む実数で無い場合、例えば、整数の場合は(ステップS2のNO)即時に本処理を終了する。小数部を含む実数である場合は(ステップS2のYES)、表示データ記憶領域122の値を、変換処理の対象とみなして実数データ記憶領域124に実数Xとして記憶(コピー)する。(ステップS4)。
【0044】次に、CPU110は、判定値ε’を、マシン・イプシロン136を読み出すことによって取得する(ステップS6)。次いで、CPU110は、ワーク領域129に実数Xの符号キャリアK=1を記憶し(ステップS8)、実数Xの符号がマイナスの場合(ステップS10のYES)は、実数Xの符号を逆転させ、符号キャリアKに−1を代入する(ステップS12)。
【0045】次に、平方根表示の候補値の選択とその検算を行う。CPU110は、候補値の選択範囲を規定する変数nに1を代入し(ステップS14)、整数Bを0に設定し(ステップS16)、整数Aを1+nに設定する(ステップS18)。以降、CPU110は、ループ処理によって、整数Aを1から1つずつ加算してn+99まで、整数Bを0から1つずつ加算してn+99まで選択する。選択した整数AおよびBは、RAM120の候補値データ記憶領域126として記憶させる。
【0046】整数AとBを選択したならば、CPU110は、検算に入る。まず、CPU110は、整数Aと整数Bによる平方根の和の計算値(近似値)を求め、該計算値と実数Xの誤差の絶対値を求め、判定値ε’と比較する(ステップS20)。誤差が判定値ε’以下の場合、即ち実数Xと計算値の誤差が十分に小さいと判断される場合(ステップS20のYES)、平方根データ記憶領域128を√A+√Bとし(ステップS42)、符号キャリアKを参照して符号をもとにもどす(ステップS50)。
【0047】誤差が判定値ε’より大きい場合は、次に平方根の差の計算値の絶対値と実数Xとの誤差の絶対値を求め、同様に判定値ε’と比較する(ステップS22)。平方根の差の計算値と実数Xとの誤差が判定値ε’以下の場合(ステップS22のYES)、CPU110は、整数Aと整数Bの比較を行って、整数Aが整数Bより小さければ(ステップS44のYES)、整数Aと整数Bの値を入れ換え(ステップS46)、平方根データ記憶領域128を√A−√Bとし(ステップS48)、符号キャリアKを参照して符号をもとにもどす(ステップS50)。
【0048】平方根データ記憶領域128が決定されたならば、CPU110は、ROM130より第2表示制御プログラム135をワーク領域129に展開して、平方根記号を用いた表示処理を実行する。即ち、平方根データ記憶領域128を表示データ記憶領域122に記憶し、LCD15に平方根記号を用いた表示をする(ステップS52)。このときの表示例が図5(b)である。図5(b)は、平方根記号表示の一例を示す図であって、実数3.968118785が、変換されて√5+√3と表示されている。
【0049】また、ステップS22において、整数A、Bによる計算式が、判定条件を満たさないと判定した場合(ステップS22のNO)、CPU110は、整数Aがn×100の範囲内か否かを判定する(ステップS24)。n×100以下であれば(ステップS24のYES)、CPU110は、整数Aに1を加算してステップS20に処理を移行する。一方、整数Aがn×100以下でないと判断した場合には、CPU110は整数Bがn×100の範囲内か否かを判定する(ステップS28)。
【0050】そして、ステップS28において、整数Bがn×100以下でないと判定した場合は、CPU110は、その旨を表示部150に表示してユーザに整数A、Bを選択する範囲を広げるか、処理を中止するかの入力を促す(ステップS32)。この時の表示例が図5(c)である。図5(c)は、選択範囲内では平方根への変換ができなかった旨をユーザに知らせる表示の一例を示す図である。同図では、変換できなかったことを告げる「NOT EXC.(Exchengの略の意)」と選択範囲を広げるか否かの入力を促す「Extend?」が表示されている。
【0051】ここで、EXEキー144が押下されたならば(ステップS34のYES)、CPU110は、変数nが1000以上か否かを判定する(ステップS36)。そして、1000以上でないと判定した場合、変数nに100を加算して、ステップS16へ処理を移行する。なお、ここで、ステップS36において、変数nと比較される数値として、「1000」を用いているが、これ以外の数値、例えば、「1」「10」等の他の数値でもよい。また、この数値は、使用者により入力された数値でも、または装置自体が予め記憶していた数値でも良い。また、ステップS34において、EXEキー144以外が押下された場合、或いは、ステップS36において変数nが1000以上であると判定した場合、CUP110は、表示部150に変換できない旨のエラー表示をして(ステップS40)処理を終了する。この時の表示例が図5(d)であって、変換できないことを示すエラー表示がされている。尚、表示データ記憶領域122は、そのまま残っているので、ユーザは適宜小数表示のまま計算を続行させることが可能である。
【0052】以上、本発明の第1の実施の形態について説明したが、本発明が適用可能なものはこれに限られない。例えば、候補値である整数A、Bを繰り返し処理によって決定し、その都度判定条件を満たすかどうかを比較したが、予め候補値をテーブル・データとして与えておいて、そこから逐次読み込むものとしても良い。また、本実施例では、平方根の計算式を構成する項数を2としたが、整数A、B、C、D…のように2以上としても良いし、項数を固定せずに順次項数を増やして行く、或いはユーザが変換を開始する前に項数を設定できるとしても良い。
【0053】その他、関数電卓10の細部構成、動作、及びエラー表示等についても、本発明の趣旨を逸脱しない範囲で適宜に変更可能である。例えば、伝送制御部を備え、通信回線を介してプログラム等を取得するとしても良いし、或いは例えば、メモリ・カードや磁気ディスク、光ディスク等の着脱自在な記憶媒体読み取り部を備え、データやプログラム等を記憶媒体から取得するとしても良い。
【0054】[第2の実施の形態]次に、図6〜図8を参照して、本発明に係る平方根記号表示装置の第2の実施の形態について説明する。本実施の形態では、関数電卓10にて変換が行われた後の平方根の計算式による四則演算の一例を説明する。尚、本実施の形態においては、第1の実施の形態と同様の構成要素によって実現される構成要素については、同じ符号を付与し説明を省略する。また、実数が平方根表示に変換される処理の過程は、第1の実施の形態と同様であるため、ここでの説明は省略する。
【0055】[外観の説明]関数電卓10は、数値や演算操作の入力を行う操作入力キー14と、入力された数値や演算結果を表示するLCD15と、内蔵電池や所謂太陽電池等の電源を備える。特に、操作入力キー14には、入力する内容に応じて公知の数字キー141、四則演算記号キー142、機能選択キー143、実行指示を入力するEXEキー144などの他に、数値の小数表示と平方根表示の切換を行う表示切換キー145が備えられている。
【0056】[構成の説明]関数電卓10は、CPU(Central Processing Unit)110、RAM(Random Access Memory)120、ROM(Read Only Memory)130、入力部140、表示部150、及び当該各構成要素を接続するバス160等から構成されている。本実施の形態で行われる、平方根表示を用いた四則演算処理は、アプリケーションプログラム132の一つとしてROM130に記憶されたプログラムを、必要に応じてCPU110が読み出し、RAM120に展開・実行することにより実現される。
【0057】[加算・減算の説明]次に、演算処理について、まず加算減算を説明する。図6は、加算減算処理の動作を示すフローチャートである。同図において、CPU110は、予め平方根データ記憶領域128nとして2√3、平方根データ記憶領域128mとして5√3を記憶しているものとする。内部表現としては、例えば、2√3は、「2」「√」「3」の順番を持ったデータのセットとして記憶される。即ち、「2」の前はデータ先頭にあたり、「3」の後にはデータ最後尾のEOFが記録されている(ステップS210)。
【0058】まず、CPU110は、根号の外に出されていた平方因子を二乗して根号内整数(ここでは3)に乗算して値を置換し、平方根データを「√」「12」と、「√」「75」とする(ステップS212)。次に、CPU110は、+(プラス)記号を挿入して連結し、「√」「12」「+」「√」「75」のデータ・セットとして、例えば、ワーク領域129に記憶する(ステップS214)。
【0059】次に、CPU110は、根号内整数の12と75の約数で、整数の二乗となるa2が存在する場合、平方因数である整数aを「+」又はデータの先頭と、「√」の間に挿入する(以下、整数aに当る整数を根号外整数と呼ぶ)。根号内整数は、a2で除算されてその商と元が置換される。この時点で、データ上は「2」「√」「3」「+」「5」「√」「3」となる(ステップS216)。
【0060】そして、CPU110は、1項目の根号内整数A1を読み出し(ステップS218)、係数n=2として、n項目の根号内整数Anを読み出し比較する(ステップS220→S222)。根号内整数A1とAn(ここでは、3と3)が同じである場合、即ち同類項である場合には(ステップS224のYES)、根号外整数(ここでは、2と5)を加え、該加算値をデータ先頭に近い項の「√」と、「+」またはデータ先頭の間に挿入し(ステップS230)、他の項は消去して(ステップS232)加算処理を終える。この時点で、データ上は、「7」「√」「3」となる。根号内整数A1とAnが異なる場合は(ステップS224のNO)、データ最後尾でないなければ(ステップS226のNO)、CPU110は、係数nに1を加えてステップS222に移行する(ステップS228)。
【0061】減算の場合は、同様にして根号外整数の引き算を行って、「+」記号のかわりに「−」記号を使用する。
【0062】[除算の説明]次に、除算を説明する。図7は、除算処理の動作を示すフローチャートである。CPU110は、予め平方根データ記憶領域128nとして2√3、平方根データ記憶領域128mとして4√5を記憶しているものとする。まず、CPU110は、根号の外に出されていた平方因子を二乗して根号内整数(ここでは3、5)に乗算した値を置換し、平方根データを「√」「12」と、「√」「80」とする(ステップS312)。次に、CPU110は、/記号を挿入して連結し、即ち「√」「12」「/」「√」「80」のデータ・セットとして、例えば、ワーク領域129に記憶する(ステップS314)。
【0063】次に、CPU110は、約分をする。データは、「√」「3」「/」「√」「20」となる(ステップS316)。次に、分母を有理化する。従って、データは、「√」「60」「/」「20」となる(ステップS318)。
【0064】次に、CPU110は、「√」と、「/」またはデータ最後尾EOFとの間に挟まれた根号内整数(ここで、60)の約数で、整数の二乗となるa2が存在する場合、平方因数aを「√」の前に挿入する。根号内整数は、a2で除算されてその商と元が置換される(ステップS320)。従って、データは「2」「√」「15」「/」「20」となる。次に、約分する(ステップS322)。従って、データは「√」「15」「/」「10」となり、除算の演算結果をえることができる。
【0065】[乗算の説明]次に、加算を含む乗算を説明する。図8は、乗算処理の動作を示すフローチャートである。CPU110が、平方根記号表示処理によって、実数12.408373…を(2√3+4√5)に変換し(以下、第1式という。)平方根データ記憶領域128nに記憶し、実数9.6693047…を(3√7−√3)に変換し(以下、第2式という。)平方根データ記憶領域128mに記憶する(ステップS410)。平方根データ記憶領域128の内、例えば第1式の(2√3+4√5)は、「2」「√」「3」「+」「4」「√」「5」の順番を維持した1つのデータ・セットとして記憶されている。即ち、「2」の前はデータ先頭にあたり、「5」の後にはデータ最後尾のEOFが記録されている。
【0066】次に、CPU110は、根号の外に出されていた平方因子を二乗して、根号内整数(ここでは、3、5、7)に乗算して値を置換する。ここで第1式及び第2式は(√12+√80)、(√63−√3)と置換される(ステップS412)。
【0067】次いで、CPU110は、√の次の整数(根号内整数)の掛け算を行う。即ち、第1式と第2式の各項の掛け算を行う。√12と√63の場合、√756を算出し、同様にして、−√36、√5040、−√240を計算して、一旦ワーク領域129にそれぞれ記憶する(ステップS414)。次に、CPU110は、根号内整数(ここでは、756、36、5040、240)が、平方因数である整数aを有する場合、整数aを根号の前に挿入し、根号と次の根号内整数を整数aで割った商と元の整数を置換する。従って、ステップS414においてワーク領域129に記憶された各データは、「6」「√」「21」、「6」、「12」「√」「35」、「4」「√」「15」となる(ステップS416)。
【0068】ここでは、複数項の乗算なので、加算減算処理と同様にして、各計算結果を「+」または「−」で結合し、一つのデータ・セットにし(ステップS418)、同類項は加算される。従って、ステップS416において置換されたデータは「6」「√」「21」「−」「6」「+」「12」「√」「35」「−」「4」「√」「15」となり、(6√21−6+12√35−4√15)を演算結果として求めることができる(ステップS420〜S434)。
【0069】以上、それぞれの場合における演算の一例を示したが、演算手法はこれに限らず、各演算を関数化あるいはルーチン化して、適宜呼び出すことで四則演算を行うとしても良いのは勿論である。従って、上記の四則演算を利用することで、種々の関数演算において、小数表示を平方根表示に変換して、演算処理を行うことができる。本発明は、種々の演算に適用可能であるが、例えば、連立方程式の一解法であるコレスキ分解や、ベクトル正規化の演算に本発明を適用することにより、当該演算の速度、精度を改善させ得る。
【0070】
【発明の効果】以上のように、請求項1、9、10に記載の発明によれば、記憶されている小数部を有する実数を平根の計算式に変換し表示する。従って、ユーザは、本発明を利用することによって、小数表示の計算から、平方根表示の計算に移行できる従来に無い利便性を得られる。また、平方根表示の計算式を、平方根記号(根号)に相当する記号で表示されので、数学的には同じ意味であるべき乗表示にくらべて、例えば、無理数であるといった数字の意味を認識しやすくなる。
【0071】また、請求項2記載の発明によれば、請求項1と同様の効果を奏するとともに、平方根表示へ変換する値をユーザは適宜入力することができる。従って、手動入力であれば、従来の電子卓上計算機同様の使い勝手を提供でき、記憶媒体からの入力をサポートするならば、実験データ等の大量の入力が必要な場合に対応することができ、使い勝手を向上させることができる。
【0072】また、請求項3記載の発明によれば、請求項1または2と同様の効果を奏するとともに、変換対象となった実数を、例えば、小数表示から平方根表示への変換を実行させるキー操作(キーを押下する)を再度繰り返すことで、小数表示と平方根表示を自在に切り換えることができ、例えば、学生の小数と平方根の関係を理解の一助となることができる。
【0073】また、請求項5記載の発明によれば、請求項4と同様の効果を奏するとともに、前記判定条件にマシン・イプシロンを用いる。マシン・イプシロンを基に判定を行うことで、当該計算装置で処理するにおいて、小数表示から平方根表示への変換が十分に精度を有したものとなる。
【0074】また、請求項6記載の発明によれば、請求項4または5と同様の効果を奏するとともに、前記候補値決定手段によって決定される第1の候補値と第2の候補値とが、予め定められている関係にある場合、第1の候補値から第2の候補値を決定することによって、演算処理処理を軽減させることができる。
【0075】また、請求項7記載の発明によれば、請求項4〜6の何れかと同様の効果を奏するとともに、例えば、平方根表示の計算式√A±√B(A,Bは0または正の整数)の形に変換する場合、変換手段で、整数A及びBの候補値に0〜n(nは正の整数)を逐次当てはめ、その都度判定手段で適切な変換がなされたかどうかを確認数する。これは、単純なループ処理で実行できるので、計算機に搭載されたICメモリのワーク領域等が少ない場合であっても、本発明を実現することができる。
【0076】また、請求項8記載の発明によれば、請求項4〜7の何れかと同様の効果を奏するとともに、前記変換手段により変換された計算式は、平方根記号(根号)を備えた内部表現、例えば、変換結果として2√3が得られた場合、「2」「√」「3」の順番を維持した1つのデータ・セットとしてICメモリ等の記憶領域に記憶され、以降の計算処理において実数の代りに利用することができる。
【出願人】 【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
【住所又は居所】東京都渋谷区本町1丁目6番2号
【出願日】 平成13年7月11日(2001.7.11)
【代理人】 【識別番号】100090033
【弁理士】
【氏名又は名称】荒船 博司 (外1名)
【公開番号】 特開2003−30159(P2003−30159A)
【公開日】 平成15年1月31日(2003.1.31)
【出願番号】 特願2001−210876(P2001−210876)