説明

数式表示装置及びプログラム

【課題】計算式中で同値の数式部分を分かりやすく識別表示する。
【解決手段】関数電卓1はCPU11を備える。CPU11は、ユーザ入力された計算式をディスプレイ3に表示させる。CPU11は、入力された計算式中の括弧に囲まれた数式部分または関数の数式部分を検出し、数式部分記憶エリア120に記憶させる。そして、CPU11は、入力された計算式中で、数式部分記憶エリア120に記憶された数式部分と同値の各数式部分を、同一表示形態でディスプレイ3に識別表示させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数式表示装置及びプログラムに関する。
【背景技術】
【0002】
従来、電子式計算機などの数式表示装置においては、括弧を複数段含む数式を入力すると、対応する開括弧と閉括弧を段数毎に同色で表示することができるようになっている(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第3837759号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1記載の技術では、対応する開括弧と閉括弧に同色が付されるために括弧の対応関係は明確になるものの、式変形により括弧の段数が変化すると括弧に付される色が変化するので、式変形前後における数式部分の対応関係がわからなくなってしまう。
【0005】
本発明の課題は、計算式中で同値の数式部分を分かりやすく識別表示することのできる数式表示装置及びプログラムを提供することである。
【課題を解決するための手段】
【0006】
以上の課題を解決するため、請求項1に記載の発明は、数式表示装置において、
括弧または関数を含む計算式を表示する計算式表示手段と、
前記計算式から、括弧で囲まれた数式部分または関数の数式部分を検出する数式部分検出手段と、
前記数式部分検出手段により検出された数式部分を記憶する数式部分記憶手段と、
前記計算式のうち、前記数式部分記憶手段により記憶された数式部分と、当該数式部分に同値の各数式部分とを同一表示形態で表示させる数式部分識別表示制御手段と、
を備えることを特徴とする。
【発明の効果】
【0007】
本発明によれば、計算式中で同値の数式部分を分かりやすく識別表示することができる。
【図面の簡単な説明】
【0008】
【図1】関数電卓の概略構成を示す平面図である。
【図2】関数電卓の機能構成を示すブロック図である。
【図3】数式部分記憶エリアによる記憶内容の一例を示す図である。
【図4】数式表示処理の流れを示すフローチャートである。
【図5】ディスプレイの表示内容を示す図である。
【図6】ディスプレイの表示内容を示す図である。
【図7】ディスプレイの表示内容を示す図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して本発明に係る実施形態の一例を詳細に説明する。ただし、発明の範囲は、図示例に限定されない。
【0010】
[1.1 外観構成]
図1は、本発明に係る電子機器を適用した関数電卓1の概略構成を示す平面図である。
この図に示すように、関数電卓1は、各種キー群を有する入力キー群2と、ディスプレイ3と、を備えている。
【0011】
入力キー群2は、ユーザから数値や演算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。本実施の形態においては、入力キー群2は、テンキー20や演算記号キー21、カーソルキー22、EXEキー23、DELキー24等を備えている。
【0012】
このうち、テンキー20は数値の入力操作を受けるキーであり、演算記号キー21は四則演算の演算子や括弧などの入力操作を受けるキーである。
【0013】
カーソルキー22は、ディスプレイ3内で編集対象位置や選択対象位置を示すカーソルを所定の方向に移動させる場合等に押下されるキーであり、本実施の形態においては、上下左右の4方向について入力可能に構成されている。
【0014】
EXEキー23は、処理の実行指示や決定指示の入力操作を受けるキーであり、例えば数式の入力後には演算処理の実行を指示するキーとして機能するようになっている。DELキー24は、ディスプレイ3に表示されている数値や演算記号などの削除操作を受けるキーである。
【0015】
ディスプレイ3は、LCD(Liquid Crystal Display)やELD(Electronic Luminescent Display)等により構成されており、入力キー群2などの操作に応じた文字や符号、数式、演算結果などの他、関数電卓1を使用するために必要な各種データを表示するようになっている。なお、本実施の形態におけるディスプレイ3には、タッチパネル30が表示画面全面に亘って一体的に設けられている。
【0016】
[1.2 機能構成]
続いて、関数電卓1の機能構成を説明する。
図2は、関数電卓1の概略的な機能構成を示すブロック図である。
【0017】
この図に示すように、関数電卓1は、入力部14と、表示部15と、記録媒体読取部17と、メモリ12と、CPU(Central Processing Unit)11と、を備えて構成されている。
【0018】
入力部14は、上述の入力キー群2やタッチパネル30を備えており、押下されたキーやタッチパネル30の位置に対応する操作信号をCPU11に出力するようになっている。
【0019】
表示部15は、上述のディスプレイ3を備えており、CPU11からの表示信号に従って各種情報をディスプレイ3に表示するようになっている。
【0020】
記録媒体読取部17は、着脱自在に装着されるUSBメモリ等の外部情報記憶媒体17Aから情報を読み取るものである。
【0021】
メモリ12は、各種プログラム及び各種データを記憶している。具体的には、メモリ12は、本発明に係るプログラムとしての数式表示処理プログラム122を記憶している。また、メモリ12は、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納する複数のワークエリアを有する。例えば、本実施の形態におけるメモリ12は、ワークエリアとして数式部分記憶エリア120や入力データ記憶エリア121などを有するようになっている。
【0022】
数式表示処理プログラム122は、後述の数式表示処理(図4参照)をCPU11に実行させるためのプログラムである。
【0023】
数式部分記憶エリア120は、図3に示すように、後述の数式表示処理(図4参照)における識別表示の表示形態として複数種類の表示形態を記憶しており、この数式表示処理において入力された計算式中、識別表示の対象とすべき各数式部分を、表示形態に対応付けて記憶するようになっている。また、変数に等号で結ばれた数式部分を記憶する場合には、数式部分記憶エリア120は、この数式部分に対応する表示形態に当該変数(置き換える変数)を更に対応付けて記憶するようになっている。ここで、本実施の形態においては、識別表示の表示形態として、複数種類の色(識別表示の対象とすべき数式部分を構成する文字の表示色)及び下線(識別表示の対象とすべき数式部分に付される下線)が用いられている。そして、識別表示の対象とすべき各数式部分は、対応する表示形態(色、下線)で表示されるようになっている。
【0024】
入力データ記憶エリア121は、ユーザにより入力された計算式のデータを記憶するようになっている。
【0025】
CPU11は、関数電卓1の各部を中央制御する。具体的には、CPU11は、メモリ12に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをワークエリアに展開し、ワークエリアに展開されたプログラムとの協働で、各種処理を実行する。
【0026】
[1.3 関数電卓の動作]
続いて、関数電卓1の動作について説明する。
【0027】
図4は、数式表示処理の動作を説明するためのフローチャートである。なお、この数式表示処理は、ユーザにより入力部14を介して数式表示処理の実行指示が入力されると、メモリ12から数式表示処理プログラム122が読み出されてメモリ12内のワークエリアに適宜展開される結果、当該数式表示処理プログラム122とCPU11との協働によって実行される。
【0028】
この図に示すように、数式表示処理においては、まずCPU11は、数式部分記憶エリア120の数式部分をリセットし(ステップS1)、ユーザ操作による1行目の計算式の入力を検知する(ステップS2)。ここで、本実施の形態においては、計算式として、ユーザ操作により入力される入力式、または、当該入力式を変形してユーザ操作により入力される変形式が用いられる。また各計算式に括弧又は関数が含まれていてもよい。
【0029】
次に、CPU11は、入力操作に応じた計算式をディスプレイ3に表示させる(ステップS3)。
【0030】
次に、CPU11は、入力された計算式の中に、変数に等号で結ばれた数式部分が含まれるか否かを判定し(ステップS4)、変数に等号で結ばれた数式部分が含まれないと判定した場合(ステップS4;No)には、後述のステップS7に移行する。ここで、本実施の形態においては、変数に等号で結ばれた数式部分とは、少なくとも1つの変数を含むものであり、変数に等号で結ばれた数値(定数)は、変数に等号で結ばれた数式部分に該当しない。
【0031】
また、ステップS4において入力された計算式の中に、変数に等号で結ばれた数式部分が含まれると判定した場合(ステップS4;Yes)には、CPU11は、ステップS4にて検出された数式部分と同値の数式部分が数式部分記憶エリア120にあるか否かを判定する(ステップS5)。
【0032】
このステップS5において同値の数式部分があると判定した場合(ステップS5;Yes)には、CPU11は、後述のステップS7に移行する。
【0033】
また、ステップS5において同値の数式部分がないと判定した場合(ステップS5;No)には、CPU11は、変数に等号で結ばれた数式部分と、当該変数と、これらの表示形態としての色及び下線の種類とを対応付けて数式部分記憶エリア120に記憶させる(ステップS6)。
【0034】
次に、CPU11は、入力された計算式中に開括弧または関数があるか否かを判定し(ステップS7)、開括弧または関数がないと判定した場合(ステップS7;No)には、後述のステップS11に移行する。
【0035】
ここで、本実施の形態においては、関数とは、前置関数、後置関数若しくは括弧付き関数又はこれらの合成関数である。前置関数としては、√,log,ln,ex,10x,sin,cos,tan などが挙げられる。後置関数としては、x2,x-1,x!,x√ などが挙げられる。括弧付き関数としては、d/dx,d2/dx2,∫dx,Σ などが挙げられる。
【0036】
また、上述のステップS7において開括弧または関数があると判定した場合(ステップS7;Yes)には、CPU11は、入力された計算式中の各開括弧について、この開括弧及びこれに対応する閉括弧により囲まれた部分を、それぞれ数式部分として検出するとともに、入力された計算式中の各関数について、引数を含むこの関数全体を、それぞれ数式部分として検出する(ステップS8)。なお、本実施の形態においては、括弧により囲まれた数式部分には、開括弧及び閉括弧それ自体が含まれる。
【0037】
次に、CPU11は、ステップS8にて検出された各数式部分について、これと同値の数式部分が数式部分記憶エリア120にあるか否かを判定し(ステップS9)、同値の数式部分があると判定した場合(ステップS9;Yes)には、後述のステップS11に移行する。
【0038】
また、ステップS9において同値の数式部分がないと判定した場合(ステップS9;No)には、CPU11は、ステップS8において検出した各数式部分とこれらの表示形態としての色及び下線の種類とを対応付けて数式部分記憶エリア120に記憶させる(ステップS10)。
【0039】
次に、CPU11は、入力された計算式の中に、分子又は分母に加減算を具備する分数が含まれるか否かを判定し(ステップS11)、分子又は分母に加減算を具備する分数が含まれないと判定した場合(ステップS11;No)には、後述のステップS15に移行する。
【0040】
また、ステップS11において分子又は分母に加減算を具備する分数が含まれると判定した場合(ステップS11;Yes)には、CPU11は、このような分数をそれぞれ数式部分として検出する(ステップS12)。
【0041】
次に、CPU11は、ステップS12にて検出した各数式部分について、これと同値の数式部分が数式部分記憶エリア120にあるか否かを判定し(ステップS13)、同値の数式部分があると判定した場合(ステップS13;Yes)には、後述のステップS15に移行する。
【0042】
また、ステップS13において同値の数式部分がないと判定した場合(ステップS13;No)には、CPU11は、ステップS12にて検出した各数式部分とこれらの表示形態としての色及び下線の種類とを対応付けて数式部分記憶エリア120に記憶させる(ステップS14)。
【0043】
次に、CPU11は、入力された計算式中で、数式部分記憶エリア120に記憶された数式部分と同値の各数式部分を、各数式部分に対応して記憶された表示形態でディスプレイ3に識別表示させる(ステップS15)。
【0044】
より詳細には、このときCPU11は、入力された計算式中で数式部分記憶エリア120に記憶された数式部分と同値の各数式部分について、各数式部分に対応して記憶された表示形態を、数式部分の長さの降順で上書き設定し、この上書き設定した表示形態で各数式部分をディスプレイ3に識別表示させる。具体的には、まず、CPU11は、数式部分記憶エリア120に記憶された数式部分のうち最長の数式部分について、これに対応する表示形態(色、下線)を設定する。次に、CPU11は、2番目に長い数式部分について、これに対応する表示形態(色、下線)を、それまでの表示形態に上書き設定する。これにより、最長の数式部分と2番目に長い数式部分が重畳している場合には、この重畳部分について、2番目に長い数式部分に対応する表示形態(色、下線)が設定される。以降同様にして、CPU11は、数式部分記憶エリア120に記憶された全ての数式部分について、長い数式部分から順に、各数式部分に対応する表示形態(色、下線)を、それまでの表示形態に上書き設定する。これにより、入力された計算式中で複数の数式部分が重畳している場合には、この重畳部分は、重畳している数式部分のうち最後に表示される数式部分(最短の数式部分)に対応する表示形態(色、下線)でディスプレイ3に表示される。
【0045】
次に、CPU11は、2行目以降の変形式の入力操作が行われるか否かを判定し(ステップS16)、変形式の入力操作が行われたと判定した場合(ステップS16;Yes)には、前述のステップS3に移行する。
【0046】
また、ステップS16において変形式の入力操作が行われたと判定した場合(ステップS16;No)には、CPU11は、ユーザによる終了操作が行われるか否かを判定する(ステップS17)。
【0047】
そして、このステップS17において、終了操作が行われていないと判定した場合(ステップS17;No)には、CPU11は、他の処理を行う一方、終了操作が行われたと判定した場合(ステップS17;Yes)には、数式表示処理を終了する。
【0048】
[1.4 動作例]
続いて、図面を参照しつつ、上述した関数電卓1の動作を具体的に説明する。なお、以下の動作例1及び動作例2で参照する図中、破線で囲まれている領域は、この領域に対する符号の対応色(「B」:青色(Blue)、「R」:赤色(Red)、「G」:緑色(Green)、「P」:ピンク(Pink)、「Lb」:水色(Light blue)、「Yg」:黄緑色(Yellow green)、「V」:バイオレット(Violet))によって当該領域内の文字が表示されていることを示している。また、以下の動作例3で参照する図中、囲み枠Fの符号「F」に対する添え字「b」は、当該囲み枠Fが青(blue)で表示されていることを示している。同様に、囲み枠Fの符号「F」に対する添え字「b」,「r」,「g」,「p」,「lb」,「yg」,「v」,「o」,「ib」,「br」は、当該囲み枠Fが青色(blue),赤色(red),緑色(green),ピンク(pink),水色(light blue),黄緑色(yellow green),バイオレット(violet),橙色(orange),藍色(indigo blue),茶色(brown)で表示されていることを示している。
【0049】
(動作例1)
まず、数式表示処理が実行されると、数式部分記憶エリア120の数式部分がリセットされる(ステップS1)。
【0050】
次に図5の1行目に示すように、ユーザが計算式「a+b=A」を入力すると(ステップS2)、入力操作に応じた計算式「a+b=A」がディスプレイ3の1行目に入力されて表示される(ステップS3)。
【0051】
ここで、本動作例1の関数電卓1は、入力された計算式を、少ない行数での表示形式(一行表示形式)にて、ディスプレイ3に表示するようになっている。これにより、例えば、aの2乗は「a^2」と表示されるようになっている。
【0052】
次に、1行目の計算式「a+b=A」に変数「A」と等号で結ばれた数式部分「a+b」が含まれると判定されて(ステップS4;Yes)、この変数に等号で結ばれた数式部分「a+b」と同値の数式部分が数式部分記憶エリア120にないと判定されると(ステップS5;No)、図3に示すように、数式部分「a+b」及び変数「A」が、表示形態としての「青色」及び「直線の下線」に対応付けて数式部分記憶エリア120に記憶される(ステップS6)。
【0053】
次に、1行目の計算式「a+b=A」中に開括弧又は関数がないと判定されて(ステップS7;No)、当該計算式「a+b=A」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の1行目に示すように、ディスプレイ3に表示されている1行目の計算式「a+b=A」のうち数式部分記憶エリア120に記憶された数式部分「a+b」及び同値の変数「A」が、対応する表示形態(「青色」、「直線の下線」)で識別表示される(ステップS15)。なお、図5においては、識別表示された数式部分に付される下線の図示を省略している。
【0054】
次に図5の2行目に示すように、ユーザが計算式「(a+b+c)^2」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「(a+b+c)^2」がディスプレイ3の2行目に入力されて表示される(ステップS3)。
【0055】
次に、2行目の計算式「(a+b+c)^2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、当該計算式中に開括弧及び関数があると判定される(ステップS7;Yes)。
【0056】
次に、括弧に囲まれた数式部分として「(a+b+c)」が検出されるとともに、関数の数式部分として「(a+b+c)^2」が検出されると(ステップS8)、これらの数式部分(「(a+b+c)」又は「(a+b+c)^2」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして図3に示すように、数式部分「(a+b+c)」は表示形態としての「赤色」及び「二重線の下線」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「(a+b+c)^2」は表示形態としての「緑色」及び「破線の下線」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0057】
次に、2行目の計算式「(a+b+c)^2」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の2行目に示すように、ディスプレイ3に表示されている2行目の計算式「(a+b+c)^2」のうち数式部分記憶エリア120に記憶された数式部分「a+b」、「(a+b+c)」、及び「(a+b+c)^2」が、対応する表示形態(色、下線)で、長い数式部分から順に識別表示される(ステップS15)。
【0058】
具体的には、先ず、これらのうち最長の数式部分である「(a+b+c)^2」について、対応する表示形態(「緑色」、「波線の下線」)が、設定される。次に、2番目に長い数式部分である「(a+b+c)」について、対応する表示形態(「赤色」、「二重線の下線」)が、上書き設定される。そして最後に、最短の数式部分である「a+b」について、対応する表示形態(「青色」、「直線の下線」)が、上書き設定される。従って図5の2行目に示すように、2行目の計算式「(a+b+c)^2」は、計算式の左の構成要素から順に「(」が表示形態(「赤色」、「二重線の下線」)で、「a+b」が表示形態(「青色」、「直線の下線」)で、「+c)」が表示形態(「赤色」、「二重線の下線」)で、「^2」が表示形態(「緑色」、「波線の下線」)でディスプレイ3に表示される。
【0059】
次に図5の3行目に示すように、ユーザが2行目の計算式「(a+b+c)^2」を変形した変形式「=(A+c)^2」を入力すると(ステップS16;Yes)、入力操作に応じた変形式「=(A+c)^2」がディスプレイ3の3行目に入力されて表示される(ステップS3)。
【0060】
次に、3行目の計算式「=(A+c)^2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、当該計算式「=(A+c)^2」中に開括弧及び関数があると判定される(ステップS7;Yes)。
【0061】
次に、括弧に囲まれた数式部分として「(A+c)」が検出されるとともに、関数の数式部分として「(A+c)^2」が検出されると(ステップS8)、これらの数式部分(「(A+c)」又は「(A+c)^2」)と同値の数式部分である「(a+b+c)」と「(a+b+c)^2」とが数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0062】
次に、3行目の計算式「=(A+c)^2」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の3行目に示すように、ディスプレイ3に表示されている3行目の計算式「=(A+c)^2」のうち数式部分記憶エリア120に記憶された数式部分と同値の数式部分「(A+c)」(数式部分「(a+b+c)」と同値)及び「(A+c)^2」(数式部分「(a+b+c)^2」と同値)、並びに数式部分「a+b」と同値の変数「A」が、対応する表示形態(色、下線)で、長い数式部分から順に識別表示される(ステップS15)。
【0063】
具体的には、先ず、これらのうち最長の数式部分である「(A+c)^2」について、対応する表示形態(「緑色」、「波線の下線」)が、設定される。次に、2番目に長い数式部分である「(A+c)」について、対応する表示形態(「赤色」、「二重線の下線」)が、上書き設定される。そして最後に、最短の数式部分である「a+b」と同値の変数「A」について、対応する表示形態(「青色」、「直線の下線」)が、上書き設定される。従って図5の3行目に示すように、3行目の計算式「=(A+c)^2」は、計算式の左の構成要素から順に「(」が表示形態(「赤色」、「二重線の下線」)で、「A」が表示形態(「青色」、「直線の下線」)で、「+c)」が表示形態(「赤色」、「二重線の下線」)で、「^2」が表示形態(「緑色」、「波線の下線」)でディスプレイ3に表示される。
【0064】
次に図5の4行目に示すように、ユーザが3行目の計算式「=(A+c)^2」を変形した変形式「=A^2+2Ac+c^2」を入力すると(ステップS16;Yes)、入力操作に応じた変形式「=A^2+2Ac+c^2」がディスプレイ3の4行目に入力されて表示される(ステップS3)。
【0065】
次に、4行目の計算式「=A^2+2Ac+c^2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、当該計算式「=A^2+2Ac+c^2」中に関数があると判定される(ステップS7;Yes)。
【0066】
次に、関数の数式部分として「A^2」と「c^2」が検出されると(ステップS8)、これらの数式部分(「A^2」又は「c^2」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして図3に示すように、数式部分「A^2」は表示形態としての「ピンク」及び「点線の下線」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「c^2」は表示形態としての「水色」及び「二重点線の下線」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0067】
次に、4行目の計算式「=A^2+2Ac+c^2」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の4行目に示すように、ディスプレイ3に表示されている4行目の計算式「=A^2+2Ac+c^2」のうち数式部分記憶エリア120に記憶された数式部分「A^2」及び「c^2」、数式部分記憶エリア120に記憶された数式部分と同値の数式部分「A^2+2Ac+c^2」(数式部分「(a+b+c)^2」と同値)、並びに数式部分「a+b」と同値の変数「A」が、対応する表示形態(色、下線)で、長い数式部分から順に識別表示される(ステップS15)。
【0068】
具体的には、先ず、これらのうち最長の数式部分である「A^2+2Ac+c^2」について、対応する表示形態(「緑色」、「波線の下線」)が、設定される。次に、2番目に長い数式部分である「A^2」について、対応する表示形態(「ピンク」、「点線の下線」)が、上書き設定される。次に、3番目に長い数式部分である「a+b」と同値の変数「A」について、対応する表示形態(「青色」、「直線の下線」)が、上書き設定される。そして最後に、最短の数式部分である「c^2」について、対応する表示形態(「水色」、「二重点線の下線」)が、上書き設定される。従って図5の4行目に示すように、4行目の計算式「=A^2+2Ac+c^2」は、計算式の左の構成要素から順に「A」が表示形態(「青色」、「直線の下線」)で、「^2」が表示形態(「ピンク」、「点線の下線」)で、「+2」が表示形態(「緑色」、「波線の下線」)で、「A」が表示形態(「青色」、「直線の下線」)で、「c+」が表示形態(「緑色」、「波線の下線」)で、「c^2」が表示形態(「水色」、「二重点線の下線」)でディスプレイ3に表示される。
【0069】
次に図5の5行目に示すように、ユーザが4行目の計算式「=A^2+2Ac+c^2」を変形した変形式「=(a+b)^2+2(a+b)c+c^2」を入力すると(ステップS16;Yes)、入力操作に応じた変形式「=(a+b)^2+2(a+b)c+c^2」がディスプレイ3の5行目に入力されて表示される(ステップS3)。
【0070】
次に、5行目の計算式「=(a+b)^2+2(a+b)c+c^2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、5行目の計算式「=(a+b)^2+2(a+b)c+c^2」中に開括弧及び関数があると判定される(ステップS7;Yes)。
【0071】
次に、括弧に囲まれた数式部分として「(a+b)」が検出されるとともに、関数の数式部分として「(a+b)^2」と「c^2」が検出されると(ステップS8)、これらの数式部分(「(a+b)」、「(a+b)^2」、又は「c^2」)と同一又は同値の数式部分である「a+b」、「A^2」、及び「c^2」が数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0072】
次に、5行目の計算式「=(a+b)^2+2(a+b)c+c^2」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の5行目に示すように、ディスプレイ3に表示されている5行目の計算式「=(a+b)^2+2(a+b)c+c^2」のうち数式部分記憶エリア120に記憶された数式部分「c^2」、並びに数式部分記憶エリア120に記憶された数式部分と同値の数式部分「(a+b)」(数式部分「a+b」と同値)、「(a+b)^2」(数式部分「A^2」と同値)、及び「(a+b)^2+2(a+b)c+c^2」(数式部分「(a+b+c)^2」と同値)が、対応する表示形態(色、下線)で、長い数式部分から順に識別表示される(ステップS15)。
【0073】
具体的には、先ず、これらのうち最長の数式部分である「(a+b)^2+2(a+b)c+c^2」について、対応する表示形態(「緑色」、「波線の下線」)が、設定される。次に、2番目に長い数式部分である「(a+b)^2」について、対応する表示形態(「ピンク」、「点線の下線」)が、上書き設定される。次に、3番目に長い数式部分である「(a+b)」について、対応する表示形態(「青色」、「直線の下線」)が、上書き設定される。そして最後に、最短の数式部分である「c^2」について、対応する表示形態(「水色」、「二重点線の下線」)が、上書き設定される。従って図5の5行目に示すように、5行目の計算式「=(a+b)^2+2(a+b)c+c^2」は、計算式の左の構成要素から順に「(a+b)」が表示形態(「青色」、「直線の下線」)で、「^2」が表示形態(「ピンク」、「点線の下線」)で、「+2」が表示形態(「緑色」、「波線の下線」)で、「(a+b)」が表示形態(「青色」、「直線の下線」)で、「c+」が表示形態(「緑色」、「波線の下線」)で、「c^2」が表示形態(「水色」、「二重点線の下線」)でディスプレイ3に表示される。
【0074】
次に図5の6行目に示すように、ユーザが5行目の計算式「=(a+b)^2+2(a+b)c+c^2」を変形した変形式「=a^2+2ab+b^2+2ac+2bc+c^2」を入力すると(ステップS16;Yes)、入力操作に応じた変形式「=a^2+2ab+b^2+2ac+2bc+c^2」がディスプレイ3の6行目に入力されて表示される(ステップS3)。
【0075】
次に、6行目の計算式「=a^2+2ab+b^2+2ac+2bc+c^2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、6行目の計算式「=a^2+2ab+b^2+2ac+2bc+c^2」中に関数があると判定される(ステップS7;Yes)。
【0076】
次に、関数の数式部分として「a^2」と「b^2」が検出されると(ステップS8)、これらの数式部分(「a^2」又は「b^2」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして図3に示すように、数式部分「a^2」は表示形態としての「黄緑色」と「二重波線の下線」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「b^2」は表示形態としての「バイオレット」と「破線の下線」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0077】
次に、6行目の計算式「=a^2+2ab+b^2+2ac+2bc+c^2」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の6行目に示すように、ディスプレイ3に表示されている6行目の計算式「=a^2+2ab+b^2+2ac+2bc+c^2」のうち数式部分記憶エリア120に記憶された数式部分「a^2」、「b^2」、及び「c^2」、並びに数式部分記憶エリア120に記憶された数式部分と同値の数式部分「a^2+2ab+b^2」(数式部分「A^2」と同値)及び「a^2+2ab+b^2+2ac+2bc+c^2」(数式部分「(a+b+c)^2」と同値)が、対応する表示形態(色、下線)で、長い数式部分から順に識別表示される(ステップS15)。
【0078】
具体的には、先ず、これらのうち最長の数式部分である「a^2+2ab+b^2+2ac+2bc+c^2」について、対応する表示形態(「緑色」、「波線の下線」)が、設定される。次に、2番目に長い数式部分である「a^2+2ab+b^2」について、対応する表示形態(「ピンク」、「点線の下線」)が、上書き設定される。ここで、残った3つの数式部分「a^2」、「b^2」、及び「c^2」は互いに同じ長さであるので、これ以降、数式部分記憶エリア120に先に記憶された数式部分から順に、対応する表示形態が上書き設定される。これにより、次に、「c^2」について、対応する表示形態(「水色」、「二重点線の下線」)が、上書き設定される。次に、「a^2」について、対応する表示形態(「黄緑色」、「二重波線の下線」)が、上書き設定される。そして最後に、「b^2」について、対応する表示形態(「バイオレット」、「破線の下線」)が、上書き設定される。従って図5の6行目に示すように、6行目の計算式「=a^2+2ab+b^2+2ac+2bc+c^2」は、計算式の左の構成要素から順に「a^2」が表示形態(「黄緑色」、「二重波線の下線」)で、「+2ab+」が表示形態(「ピンク」、「点線の下線」)で、「b^2」が表示形態(「バイオレット」、「破線の下線」)で、「+2ac+2bc+」が表示形態(「緑色」、「波線の下線」)で、「c^2」が表示形態(「水色」、「二重点線の下線」)でディスプレイ3に表示される。
【0079】
次に図5の7行目に示すように、ユーザが6行目の計算式「=a^2+2ab+b^2+2ac+2bc+c^2」を変形した変形式「=a^2+b^2+c^2+2ab+2bc+2ca」を入力すると(ステップS16;Yes)、入力操作に応じた変形式「=a^2+b^2+c^2+2ab+2bc+2ca」がディスプレイ3の7行目に入力されて表示される(ステップS3)。
【0080】
次に、7行目の計算式「=a^2+b^2+c^2+2ab+2bc+2ca」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、7行目の計算式中に関数があると判定される(ステップS7;Yes)。
【0081】
次に、関数の数式部分として「a^2」、「b^2」、及び「c^2」が検出されると(ステップS8)、これらの数式部分(「a^2」、「b^2」、及び「c^2」)が数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0082】
次に、7行目の計算式「=a^2+b^2+c^2+2ab+2bc+2ca」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図5の7行目に示すように、ディスプレイ3に表示されている7行目の計算式「=a^2+b^2+c^2+2ab+2bc+2ca」のうち数式部分記憶エリア120に記憶された数式部分「a^2」、「b^2」、及び「c^2」、並びに数式部分記憶エリア120に記憶された数式部分と同値の数式部分「a^2+b^2+c^2+2ab+2bc+2ca」(数式部分「(a+b+c)^2」と同値)が、対応する表示形態(色、下線)で、長い数式部分から順に識別表示される(ステップS15)。
【0083】
具体的には、先ず、これらのうち最長の数式部分である「a^2+b^2+c^2+2ab+2bc+2ca」について、対応する表示形態(「緑色」、「波線の下線」)が、設定される。ここで、残った3つの数式部分「a^2」、「b^2」、及び「c^2」は互いに同じ長さであるので、これ以降、数式部分記憶エリア120に先に記憶された数式部分から順に、対応する表示形態が上書き設定される。これにより、次に、「c^2」について、対応する表示形態(「水色」、「二重点線の下線」)が、上書き設定される。次に、「a^2」について、対応する表示形態(「黄緑色」、「二重波線の下線」)が、上書き設定される。そして最後に、「b^2」について、対応する表示形態(「バイオレット」、「破線の下線」)が、上書き設定される。従って図5の7行目に示すように、7行目の計算式は、計算式の左の構成要素から順に「a^2」が表示形態(「黄緑色」、「二重波線の下線」)で、「+」が表示形態(「緑色」、「波線の下線」)で、「b^2」が表示形態(「バイオレット」、「破線の下線」)で、「+」が表示形態(「緑色」、「波線の下線」)で、「c^2」が表示形態(「水色」、「二重点線の下線」)で、「+2ab+2bc+2ca」が表示形態(「緑色」、「波線の下線」)でディスプレイ3に表示される。
【0084】
(動作例2)
まず、数式表示処理が実行されると、上述の動作例1と同様に、数式部分記憶エリア120の数式部分がリセットされる(ステップS1)。
【0085】
次に図6の1行目に示すように、ユーザが1行目の計算式「2x+y=8」を入力すると(ステップS2)、入力操作に応じた計算式「2x+y=8」がディスプレイ3の1行目に入力されて表示される(ステップS3)。
【0086】
次に、1行目の計算式「2x+y=8」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、1行目の計算式「2x+y=8」中に開括弧又は関数がないと判定される(ステップS7;No)。そして、1行目の計算式「2x+y=8」中に分子又は分母に加減算を具備する分数が含まれないと判定される(ステップS11;No)。なお、この段階において、数式部分記憶エリア120には数式部分が何も記憶されていないため、ステップS15における数式部分の識別表示はなされない。
【0087】
次に図6の2行目に示すように、ユーザが2行目の計算式「3x−4y=1」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「3x−4y=1」がディスプレイ3の2行目に入力されて表示される(ステップS3)。
【0088】
次に、1行目の計算式と同様に、2行目の計算式「3x−4y=1」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、2行目の計算式「3x−4y=1」中に開括弧又は関数がないと判定される(ステップS7;No)。そして、2行目の計算式「3x−4y=1」中に分子又は分母に加減算を具備する分数が含まれないと判定される(ステップS11;No)。なお、この段階において、数式部分記憶エリア120には数式部分が何も記憶されていないため、ステップS15における数式部分の識別表示はなされない。
【0089】
次に図6の3行目に示すように、ユーザが3行目の計算式「y=8−2x」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「y=8−2x」がディスプレイ3の3行目に入力されて表示される(ステップS3)。
【0090】
次に、3行目の計算式「y=8−2x」に変数「y」と等号で結ばれた数式部分「8−2x」が含まれると判定されて(ステップS4;Yes)、この変数に等号で結ばれた数式部分「8−2x」と同値の数式部分が数式部分記憶エリア120にないと判定されると(ステップS5;No)、数式部分「8−2x」及び変数「y」が、表示形態としての「青色」に対応付けて数式部分記憶エリア120に記憶される(ステップS6)。なお、本動作例2において、数式部分は、表示形態としての色(文字の色)のみと対応付けて数式部分記憶エリア120に記憶されるようになっている。
【0091】
次に、3行目の計算式「y=8−2x」中に開括弧又は関数がないと判定されて(ステップS7;No)、3行目の計算式「y=8−2x」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図6の3行目に示すように、ディスプレイ3に表示されている3行目の計算式のうち数式部分記憶エリア120に記憶された数式部分「8−2x」及び置き換える変数「y」が、対応する表示形態(「青色」)で識別表示される(ステップS15)。
【0092】
以下、4行目以降の計算式については、ステップS15において識別表示される数式部分又は変数を含む行の計算式についてのみ記載する。
【0093】
次に図6の5行目に示すように、4行目の計算式「3x−4y=1」が表示された後、ユーザが5行目の計算式「3x−4(8−2x)=1」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「3x−4(8−2x)=1」がディスプレイ3の5行目に入力されて表示される(ステップS3)。
【0094】
次に、5行目の計算式「3x−4(8−2x)=1」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、5行目の計算式「3x−4(8−2x)=1」中に開括弧があると判定される(ステップS7;Yes)。
【0095】
次に、括弧に囲まれた数式部分として「(8−2x)」が検出されると(ステップS8)、この数式部分と同値の数式部分である「8−2x」が数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0096】
次に、5行目の計算式「3x−4(8−2x)=1」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図6の5行目に示すように、ディスプレイ3に表示されている5行目の計算式のうち数式部分記憶エリア120に記憶された数式部分と同値の数式部分「(8−2x)」(数式部分「8−2x」と同値)が、対応する表示形態(「青色」)で識別表示される(ステップS15)。
【0097】
次に図6の9行目に示すように、8行目の計算式「x=3」が表示された後、ユーザが9行目の計算式「y=8−2x」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「y=8−2x」がディスプレイ3の9行目に入力されて表示される(ステップS3)。
【0098】
次に、9行目の計算式「y=8−2x」に変数「y」と等号で結ばれた数式部分「8−2x」が含まれると判定されて(ステップS4;Yes)、この変数に等号で結ばれた数式部分「8−2x」が数式部分記憶エリア120にあると判定される(ステップS5;Yes)。
【0099】
次に、9行目の計算式「y=8−2x」中に開括弧又は関数がないと判定されて(ステップS7;No)、9行目の計算式「y=8−2x」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図6の9行目に示すように、ディスプレイ3に表示されている9行目の計算式「y=8−2x」のうち数式部分記憶エリア120に記憶された数式部分と同値の数式部分「8−2x」及び変数「y」が、対応する表示形態(「青色」)で識別表示される(ステップS15)。
【0100】
次に図6の10行目に示すように、9行目の計算式「y=8−2x」が表示された後、ユーザが10行目の計算式「y=8−2・3=2」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「y=8−2・3=2」がディスプレイ3の10行目に入力されて表示される(ステップS3)。
【0101】
次に、10行目の計算式「y=8−2・3=2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、10行目の計算式「y=8−2・3=2」中に開括弧又は関数がないと判定される(ステップS7;No)。そして、10行目の計算式「y=8−2・3=2」中に分子又は分母に加減算を具備する分数が含まれないと判定される(ステップS11;No)。
【0102】
次に、図6の10行目に示すように、ディスプレイ3に表示されている10行目の計算式のうち数式部分記憶エリア120に記憶された数式部分「8−2x」を置き換える変数「y」が、対応する表示形態(「青色」)で識別表示される(ステップS15)。
【0103】
(動作例3)
まず、数式表示処理が実行されると、上述の動作例1及び動作例2と同様に、数式部分記憶エリア120の数式部分がリセットされる(ステップS1)。
【0104】
なお、本動作例3における数式部分記憶エリア120は、数式部分と表示形態としての枠の色とを対応付けて記憶するようになっている。また、変数に等号で結ばれた数式部分については、この数式部分に対応する枠の色に当該変数を更に対応付けて記憶するようになっている。ここで枠の色とは、後述のステップS15にて表示対象を枠で囲んで識別表示させる場合における、枠の色を示している。
【0105】
次に図7の1行目に示すように、ユーザが1行目の計算式「(X−(1+√5)/2)(X−(1−√5)/2)」を入力すると(ステップS2)、入力操作に応じた計算式「(X−(1+√5)/2)(X−(1−√5)/2)」がディスプレイ3の1行目に入力されて表示される(ステップS3)。
【0106】
ここで、本動作例3の関数電卓1は、入力された計算式を、一般的な教科書や書籍などに表されている表示形式(自然表示形式)にて、ディスプレイ3に表示するようになっている。これにより、例えば、aの2乗は「a」と表示されるようになっている。
【0107】
次に、1行目の計算式「(X−(1+√5)/2)(X−(1−√5)/2)」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、1行目の計算式「(X−(1+√5)/2)(X−(1−√5)/2)」中に開括弧があると判定される(ステップS7;Yes)。
【0108】
次に、括弧に囲まれた数式部分として「(X−(1+√5)/2)」と「(X−(1−√5)/2)」が検出されると(ステップS8)、これらの数式部分(「(X−(1+√5)/2)」又は「(X−(1−√5)/2)」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして、数式部分「(X−1+√5/2)」は表示形態としての「青色の枠」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「(X−1−√5/2)」は表示形態としての「赤色の枠」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0109】
次に、1行目の計算式「(X−(1+√5)/2)(X−(1−√5)/2)」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「(1+√5)/2」と「(1−√5)/2」が検出されて(ステップS12)、これらの数式部分(「(1+√5)/2」又は「(1−√5)/2」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS13;No)。そして、数式部分「(1+√5)/2」は表示形態としての「緑色の枠」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「(1−√5)/2」は表示形態としての「ピンクの枠」に対応付けて数式部分記憶エリア120に記憶される(ステップS14)。
【0110】
次に、図7の1行目に示すように、ディスプレイ3に表示されている1行目の計算式「(X−(1+√5)/2)(X−(1−√5)/2)」のうち数式部分記憶エリア120に記憶された数式部分「(X−(1−√5)/2)」、「(X−(1−√5)/2」、「(1+√5)/2」、及び「(1−√5/2)」が対応する表示形態(「色の枠」)で表示される(ステップS15)。
【0111】
具体的には、「(X−(1−√5)/2)」が表示形態としての「青色の枠」で、「(X−(1−√5)/2)」が表示形態としての「赤色の枠」で、「(1+√5)/2」が表示形態としての「緑色の枠」で、そして「(1−√5)/2」が表示形態としての「ピンクの枠」で囲まれてディスプレイ3に表示される。
【0112】
次に図7の2行目に示すように、ユーザが2行目の計算式「XX−X((1−√5)/2)−X((1+√5)/2)」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「XX−X((1−√5)/2)−X((1+√5)/2)」がディスプレイ3の2行目に入力されて表示される(ステップS3)。
【0113】
次に、2行目の計算式「XX−X((1−√5)/2)−X((1+√5)/2)」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、2行目の計算式「XX−X((1−√5)/2)−X((1+√5)/2)」中に開括弧があると判定される(ステップS7;Yes)。
【0114】
次に、括弧に囲まれた数式部分として「((1−√5)/2)」と「((1+√5)/2)」が検出されると(ステップS8)、これらの数式部分(「((1−√5)/2)」又は「((1+√5)/2)」)と同値の数式部分である「(1−√5)/2」と「(1+√5)/2」は数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0115】
次に、2行目の計算式「XX−X((1−√5)/2)−X((1+√5)/2)」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「(1−√5)/2」と「(1+√5)/2」が検出されて(ステップS12)、これらの数式部分(「(1−√5)/2」及び「(1+√5)/2」)が数式部分記憶エリア120にあると判定される(ステップS13;Yes)。
【0116】
次に、図7の2行目に示すように、ディスプレイ3に表示されている2行目の計算式「XX−X((1−√5)/2)−X((1+√5)/2)」のうち数式部分記憶エリア120に記憶された数式部分「(1−√5)/2」及び「(1+√5)/2」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。
【0117】
具体的には、「(1−√5)/2」が表示形態としての「ピンクの枠」で、そして「(1+√5)/2」が表示形態としての「緑色の枠」で囲まれてディスプレイ3に表示される。
【0118】
次に図7の3行目に示すように、ユーザが3行目の計算式「+((1+√5)/2)((1−√5)/2)」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「+((1+√5)/2)((1−√5)/2)」がディスプレイ3の3行目に入力されて表示される(ステップS3)。
【0119】
次に、3行目の計算式「+((1+√5)/2)((1−√5)/2)」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、3行目の計算式「+((1+√5)/2)((1−√5)/2)」中に開括弧があると判定される(ステップS7;Yes)。
【0120】
次に、括弧に囲まれた数式部分として「((1+√5)/2)」と「((1−√5)/2)」が検出されると(ステップS8)、これらの数式部分(「((1+√5)/2)」又は「((1−√5)/2)」)と同値の数式部分である「(1+√5)/2」と「(1−√5)/2」は数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0121】
次に、3行目の計算式「+((1+√5)/2)((1−√5)/2)」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「(1+√5)/2」と「(1−√5)/2」が検出されて(ステップS12)、これらの数式部分(「(1+√5)/2」及び「(1−√5)/2」)が数式部分記憶エリア120にあると判定される(ステップS13;Yes)。
【0122】
次に、図7の3行目に示すように、ディスプレイ3に表示されている3行目の計算式「+((1+√5)/2)((1−√5)/2)」のうち数式部分記憶エリア120に記憶された数式部分「(1+√5)/2」及び「(1−√5)/2」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。
【0123】
具体的には、「(1+√5)/2」が表示形態としての「緑色の枠」で、そして「(1−√5)/2」が表示形態としての「ピンクの枠」で囲まれてディスプレイ3に表示される。
【0124】
次に図7の4行目に示すように、ユーザが4行目の計算式「XX−X((1−√5)/2+(1+√5)/2)」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「XX−X((1−√5)/2+(1+√5)/2)」がディスプレイ3の4行目に入力されて表示される(ステップS3)。
【0125】
次に、4行目の計算式「XX−X((1−√5)/2+(1+√5)/2)」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、4行目の計算式「XX−X((1−√5)/2+(1+√5)/2)」中に開括弧があると判定される(ステップS7;Yes)。
【0126】
次に、括弧に囲まれた数式部分として「((1−√5)/2+(1+√5)/2)」が検出されると(ステップS8)、この数式部分(「((1−√5)/2+(1+√5)/2)」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして、数式部分「((1−√5)/2+(1+√5)/2)」は表示形態としての「水色の枠」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0127】
次に、4行目の計算式「XX−X((1−√5)/2+(1+√5)/2)」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「(1−√5)/2」と「(1+√5)/2」が検出されて(ステップS12)、これらの数式部分(「(1−√5)/2」及び「(1+√5)/2」)が数式部分記憶エリア120にあると判定される(ステップS13;Yes)。
【0128】
次に、図7の4行目に示すように、ディスプレイ3に表示されている4行目の計算式「XX−X((1−√5)/2+(1+√5)/2)」のうち数式部分記憶エリア120に記憶された数式部分「((1−√5)/2+(1+√5)/2)」、「(1−√5)/2」及び「(1+√5)/2」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。
【0129】
具体的には、「((1−√5)/2+(1+√5)/2)」が表示形態としての「水色の枠」で、「(1−√5)/2」が表示形態としての「ピンクの枠」で、そして「(1+√5)/2」が表示形態としての「緑色の枠」で囲まれてディスプレイ3に表示される。
【0130】
次に図7の5行目に示すように、ユーザが5行目の計算式「+((1+√5)(1−√5)/4)」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「+((1+√5)(1−√5)/4)」がディスプレイ3の5行目に入力されて表示される(ステップS3)。
【0131】
次に、5行目の計算式「+((1+√5)(1−√5)/4)」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、5行目の計算式「+((1+√5)(1−√5)/4)」中に開括弧があると判定される(ステップS7;Yes)。
【0132】
次に、括弧に囲まれた数式部分として「((1+√5)(1−√5)/4)」、「(1+√5)」、及び「(1−√5)」が検出されると(ステップS8)、これらの数式部分(「((1+√5)(1−√5)/4)」、「(1+√5)」、又は「(1−√5)」)と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして、数式部分「((1+√5)(1−√5)/4)」は表示形態としての「黄緑色の枠」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「(1+√5)」は表示形態としての「バイオレットの枠」に対応付けて数式部分記憶エリア120に記憶され(ステップS10)、数式部分「(1−√5)」は表示形態としての「橙色の枠」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0133】
次に、5行目の計算式「+((1+√5)(1−√5)/4)」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「(1+√5)(1−√5)/4」が検出されて(ステップS12)、この数式部分「(1+√5)(1−√5)/4」と同値の数式部分「((1+√5)(1−√5)/4)」が数式部分記憶エリア120にあると判定される(ステップS13;Yes)。
【0134】
次に、図7の5行目に示すように、ディスプレイ3に表示されている5行目の計算式「+((1+√5)(1−√5)/4)」のうち数式部分記憶エリア120に記憶された数式部分「((1+√5)(1−√5)/4)」、「(1+√5)」及び「(1−√5)」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。
【0135】
具体的には、「((1+√5)(1−√5)/4)」が表示形態としての「黄緑色の枠」で、「(1+√5)」が表示形態としての「バイオレットの枠」で、そして「(1−√5)」が表示形態としての「橙色の枠」で囲まれてディスプレイ3に表示される。
【0136】
次に図7の6行目に示すように、ユーザが6行目の計算式「XX−X(((1−√5)+(1+√5))/2)」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「XX−X(((1−√5)+(1+√5))/2)」がディスプレイ3の6行目に入力されて表示される(ステップS3)。
【0137】
次に、6行目の計算式「XX−X(((1−√5)+(1+√5))/2)」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、6行目の計算式「XX−X(((1−√5)+(1+√5))/2)」中に開括弧があると判定される(ステップS7;Yes)。
【0138】
次に、括弧に囲まれた数式部分として「(((1−√5)+(1+√5))/2)」、「(1−√5)」、及び「(1+√5)」が検出されると(ステップS8)、これらの数式部分のうち「(1−√5)」及び「(1+√5)」が数式部分記憶エリア120にあると判定されるとともに、「(((1−√5)+(1+√5))/2)」と同値の数式部分「((1−√5)/2+(1+√5)/2)」が数式部分記憶エリア120にあると判定される(ステップS9;Yes)。
【0139】
次に、6行目の計算式「XX−X(((1−√5)+(1+√5))/2)」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「((1−√5)+(1+√5))/2」が検出されて(ステップS12)、この数式部分「((1−√5)+(1+√5))/2」と同値の数式部分「((1−√5)/2+(1+√5)/2)」が数式部分記憶エリア120にあると判定される(ステップS13;Yes)。
【0140】
次に、図7の6行目に示すように、ディスプレイ3に表示されている6行目の計算式「XX−X(((1−√5)+(1+√5))/2)」のうち数式部分記憶エリア120に記憶された数式部分「(1−√5)」及び「(1+√5)」、並びに数式部分記憶エリア120に記憶された数式部分と同値の数式部分「(((1−√5)+(1+√5))/2)」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。
【0141】
具体的には、「(1−√5)」が表示形態としての「橙色の枠」で、「(1+√5)」が表示形態としての「バイオレットの枠」で、そして「(((1−√5)+(1+√5))/2)」が表示形態としての「水色の枠」で囲まれてディスプレイ3に表示される。
【0142】
次に図7の7行目に示すように、ユーザが7行目の計算式「+(1−(√5))/4」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「+(1−(√5))/4」がディスプレイ3の7行目に入力されて表示される(ステップS3)。
【0143】
次に、7行目の計算式「+(1−(√5))/4」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、7行目の計算式「+(1−(√5))/4」中に関数があると判定される(ステップS7;Yes)。
【0144】
次に、関数の数式部分として「(√5)」が検出されると(ステップS8)、
この数式部分「(√5)」と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして、数式部分「(√5)」は表示形態としての「藍色の枠」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0145】
次に、7行目の計算式「+(1−(√5))/4」中に分子又は分母に加減算を具備する分数が含まれると判定されると(ステップS11;Yes)、分数の数式部分として「(1−(√5))/4」が検出されて(ステップS12)、この数式部分「(1−(√5))/4」と同値の数式部分「(((1+√5)(1−√5))/4)」が数式部分記憶エリア120にあると判定される(ステップS13;Yes)。
【0146】
次に、図7の7行目に示すように、ディスプレイ3に表示されている7行目の計算式「+(1−(√5))/4」のうち数式部分記憶エリア120に記憶された数式部分「(1−(√5))/4」及び「(√5)」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。
【0147】
具体的には、「(1−(√5))/4」が表示形態としての「黄緑色の枠」で、そして「(√5)」が表示形態としての「藍色の枠」で囲まれてディスプレイ3に表示される。
【0148】
次に図7の8行目に示すように、ユーザが8行目の計算式「X−X−2」を入力すると(ステップS16;Yes)、入力操作に応じた計算式「X−X−2」がディスプレイ3の8行目に入力されて表示される(ステップS3)。
【0149】
次に、8行目の計算式「X−X−2」に変数に等号で結ばれた数式部分が含まれないと判定されて(ステップS4;No)、8行目の計算式「X−X−2」中に関数があると判定される(ステップS7;Yes)。
【0150】
次に、関数の数式部分として「X」が検出されると(ステップS8)、この数式部分「X」と同値の数式部分が数式部分記憶エリア120にないと判定される(ステップS9;No)。そして、数式部分「X」は表示形態としての「茶色の枠」に対応付けて数式部分記憶エリア120に記憶される(ステップS10)。
【0151】
次に、8行目の計算式「X−X−2」中に分子又は分母に加減算を具備する分数が含まれないと判定されると(ステップS11;No)、図7の8行目に示すように、ディスプレイ3に表示されている8行目の計算式「X−X−2」のうち数式部分記憶エリア120に記憶された数式部分「X」が、対応する表示形態(「色の枠」)で、表示される(ステップS15)。具体的には、「X」が表示形態としての「茶色の枠」で囲まれてディスプレイ3に表示される。
【0152】
以上、本実施の形態によれば、図4のステップS7〜S15及び図5等に示したように、数式部分記憶エリア120により記憶された数式部分及び当該数式部分と同値の各数式部分を同一表示形態(同一文字色、同一種類の下線)でディスプレイ3に表示するので、計算式に含まれる括弧で囲まれた数式部分または関数の数式部分のうち、式変形すれば互いに同一となる数式部分同士を同一表示形態でディスプレイ3に表示する。従って、計算式を変形する場合であっても、同値の数式部分を分かりやすく識別表示することができる。
【0153】
また、図4のステップS4〜S6,S15及び図6等に示したように、計算式のうち、変数に等号で結ばれた数式部分、変数、及びこの数式部分に同値の各数式部分を、同一表示形態(同一文字色)でディスプレイ3に表示するので、数式部分を変数で置換する場合であっても、同値の数式部分を分かりやすく識別表示することができる。
【0154】
さらに、図4のステップS4〜S15及び図7等に示したように、計算式のうち、数式部分記憶エリア120に記憶された数式部分に同値の各数式部分を表示形態としての同色の枠で囲んでディスプレイ3に表示するようになっているので、計算式を変形する場合であっても、同値の数式部分を一層分かりやすく識別表示することができる。また、これらの数式部分同士が互いに重なり合う場合であっても、同値の数式部分を分かりやすく識別表示することができる。
【0155】
なお、上記の実施の形態における関数電卓1の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。
【0156】
例えば、本発明に係る数式表示装置を関数電卓1として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコン、PDA(Personal Digital Assistant)、ゲーム機などの電子機器全般に適用可能である。また、本発明に係る数式表示処理プログラム122は、関数電卓1に対して着脱可能なメモリカード、CD等に記憶されることとしてもよい。
【0157】
以上、本発明のいくつかの実施形態を説明したが、本発明の範囲は、上述の実施の形態に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲の通りである。
〔付記〕
<請求項1>
括弧または関数を含む計算式を表示する計算式表示手段と、
前記計算式から、括弧で囲まれた数式部分または関数の数式部分を検出する数式部分検出手段と、
前記数式部分検出手段により検出された数式部分を記憶する数式部分記憶手段と、
前記計算式のうち、前記数式部分記憶手段により記憶された数式部分と、当該数式部分に同値の各数式部分とを同一表示形態で表示させる数式部分識別表示制御手段と、
を備えることを特徴とする数式表示装置。
<請求項2>
請求項1記載の数式表示装置において、
前記計算式は、
ユーザ操作により入力される入力式、または、当該入力式を変形してユーザ操作により入力される変形式であることを特徴とする数式表示装置。
<請求項3>
請求項1又は2記載の数式表示装置において、
前記数式部分検出手段は、
前記計算式から、変数に等号で結ばれた数式部分を検出し、
前記数式部分記憶手段は、
前記計算式検出手段により、変数に等号で結ばれた数式部分が検出される場合に、当該数式部分と当該変数とを対応付けて記憶し、
前記数式部分識別表示制御手段は、
前記計算式記憶手段に前記数式部分と前記変数とが対応付けて記憶される場合に、当該数式部分、当該変数、及び当該数式部分に同値の各数式部分を、同一表示形態で表示させることを特徴とする数式表示装置。
<請求項4>
請求項1〜3の何れか一項に記載の数式表示装置において、
前記計算式表示手段は、
前記計算式を自然表示形式で表示し、
前記同一表示形態は、表示対象を同色の枠で囲む表示形態であることを特徴とする数式表示装置。
<請求項5>
請求項1〜4の何れか一項に記載の数式表示装置において、
前記数式部分検出手段は、
分子又は分母に加減算を具備する分数が前記計算式に含まれる場合に、当該分数を数式部分として検出することを特徴とする数式表示装置。
<請求項6>
括弧または関数を含む計算式を表示する計算式表示手段を有するコンピュータに、
前記計算式から、括弧で囲まれた数式部分または関数の数式部分を検出する数式部分検出機能と、
前記数式部分検出機能により検出された数式部分を記憶する数式部分記憶機能と、
前記計算式のうち、前記数式部分記憶機能により記憶された数式部分と当該数式部分に同値の各数式部分とを同一表示形態で表示させる数式部分識別表示制御機能と、
を実現させることを特徴とするプログラム。
【符号の説明】
【0158】
1 関数電卓
2 入力キー群
3 ディスプレイ
11 CPU
12 メモリ
14 入力部
15 表示部
17 記録媒体読取部
17A 外部情報記憶媒体
120 数式部分記憶エリア
121 入力データ記憶エリア
122 数式表示処理プログラム

【特許請求の範囲】
【請求項1】
括弧または関数を含む計算式を表示する計算式表示手段と、
前記計算式から、括弧で囲まれた数式部分または関数の数式部分を検出する数式部分検出手段と、
前記数式部分検出手段により検出された数式部分を記憶する数式部分記憶手段と、
前記計算式のうち、前記数式部分記憶手段により記憶された数式部分と、当該数式部分に同値の各数式部分とを同一表示形態で表示させる数式部分識別表示制御手段と、
を備えることを特徴とする数式表示装置。
【請求項2】
請求項1記載の数式表示装置において、
前記計算式は、
ユーザ操作により入力される入力式、または、当該入力式を変形してユーザ操作により入力される変形式であることを特徴とする数式表示装置。
【請求項3】
請求項1又は2記載の数式表示装置において、
前記数式部分検出手段は、
前記計算式から、変数に等号で結ばれた数式部分を検出し、
前記数式部分記憶手段は、
前記計算式検出手段により、変数に等号で結ばれた数式部分が検出される場合に、当該数式部分と当該変数とを対応付けて記憶し、
前記数式部分識別表示制御手段は、
前記計算式記憶手段に前記数式部分と前記変数とが対応付けて記憶される場合に、当該数式部分、当該変数、及び当該数式部分に同値の各数式部分を、同一表示形態で表示させることを特徴とする数式表示装置。
【請求項4】
請求項1〜3の何れか一項に記載の数式表示装置において、
前記計算式表示手段は、
前記計算式を自然表示形式で表示し、
前記同一表示形態は、表示対象を同色の枠で囲む表示形態であることを特徴とする数式表示装置。
【請求項5】
請求項1〜4の何れか一項に記載の数式表示装置において、
前記数式部分検出手段は、
分子又は分母に加減算を具備する分数が前記計算式に含まれる場合に、当該分数を数式部分として検出することを特徴とする数式表示装置。
【請求項6】
括弧または関数を含む計算式を表示する計算式表示手段を有するコンピュータに、
前記計算式から、括弧で囲まれた数式部分または関数の数式部分を検出する数式部分検出機能と、
前記数式部分検出機能により検出された数式部分を記憶する数式部分記憶機能と、
前記計算式のうち、前記数式部分記憶機能により記憶された数式部分と当該数式部分に同値の各数式部分とを同一表示形態で表示させる数式部分識別表示制御機能と、
を実現させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−73427(P2013−73427A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−212044(P2011−212044)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】