(57)【要約】【課題】自然表示形式で２Ｄ関数を使用した場合でも、数式の各構成要素及びカーソルの位置を容易に見分けることができる電子計算機及びプログラムを提供する。【解決手段】関数電卓１は、ユーザから数式の入力操作を受ける入力キー群２と、入力された数式を表示部１５に自然表示させ、また、自然表示された数式に対して、カーソルをユーザの操作に応じて移動可能にして表示させるＣＰＵ１１とを備える。ＣＰＵ１１は、自然表示される数式の構成要素のうち異なる階層を有する構成要素毎に、異なる色を付けて表示する。また、ＣＰＵ１１は、自然表示される数式の構成要素上に表示されるカーソルに、当該カーソルが属する構成要素と同じ色を付けて表示する。【選択図】図２
2011186567.tif 000002
【特許請求の範囲】
【請求項１】
数式を自然表示する電子計算機であって、
ユーザから数式の入力操作を受ける数式入力手段と、
前記数式入力手段により入力された数式を自然表示させる数式表示制御手段と、
前記数式表示制御手段により自然表示された数式に対して、カーソルをユーザの操作に応じて移動可能にして表示させるカーソル表示制御手段と、
前記数式表示制御手段により自然表示される数式の構成要素のうち、異なる階層を有する構成要素毎に、それぞれ異なる色を付けて表示する数式カラー処理手段と、
前記カーソル表示制御手段により自然表示される数式の構成要素上に表示されるカーソルに、当該カーソルが属する構成要素と同じ色を付けて表示するカーソルカラー処理手段と、を備えることを特徴とする電子計算機。
【請求項２】
前記異なる階層を有する構成要素毎とは、べき乗式における整数と当該整数に掛かるべき数、多重根号式における第１の根号式と当該第１の根号式の内側の第２の根号式、又は、帯分数式における整数と分数、であることを特徴とする請求項１に記載の電子計算機。
【請求項３】
コンピュータに、
ユーザから数式の入力操作を受ける数式入力機能と、
前記数式入力機能により入力された数式を自然表示させる数式表示制御機能と、
前記数式表示機能により自然表示された数式に対して、カーソルをユーザの操作に応じて移動可能にして表示させるカーソル表示制御機能と、
前記数式表示制御機能により自然表示される数式の構成要素のうち、異なる階層を有する構成要素毎に、それぞれ異なる色を付けて表示する数式カラー処理機能と、
前記カーソル表示制御機能により自然表示される数式の構成要素上に表示されるカーソルに、当該カーソルが属する構成要素と同じ色を付けて表示するカーソルカラー処理機能と、を実現させることを特徴とするプログラム。
【請求項４】
前記異なる階層を有する構成要素毎とは、べき乗式における整数と当該整数に掛かるべき数、多重根号式における第１の根号式と当該第１の根号式の外側の第２の根号式、又は、分数式における整数と分数、のいずれかであることを特徴とする請求項３に記載のプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子計算機及びプログラムに関する。
【背景技術】
【０００２】
従来より、入力される各種数式の演算を実行して演算結果を表示する電卓（電子卓上計算機）として、四則演算の他に対数関数などの演算を行うことができる関数電卓と呼ばれるものがある。
関数電卓においては、入力した数式を表示する形式として、少ない行数での表示形式（１次表示形式）と、一般的な教科書や書籍などに表されている表示形式（自然表示形式）とがある。例えば、ａの２乗を表す場合に、１次表示形式では「ａ＾２」と表示され、自然表示形式では「ａ２」と表示される。
このような自然表示形式として表現するのに、上下方向に数字・文字を重ねたりシフトしたりして表示することを２Ｄ(dimension)表示と称し、また、この２Ｄ表示が必要になるルート「√」、分数「ａ／ｂ」、べき乗「ｍｎ」などの関数を２Ｄ関数と称する。
自然表示形式の関数電卓としては、数式内で適切にカーソルを移動制御する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２６４７６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、自然表示形式の関数電卓において、べき乗計算のべき数を入力する場合に、べき乗される数値（底）が表示される表示行と、べき数（指数）を表示する表示行とが同じ文字色では見分けがつきにくい。その他、多重根号式のように、根号記号内にさらに根号記号が含まれ、内側の根号記号及び数値と、その外側の根号記号及び数値とが同じ文字色の場合や、帯分数においてその整数部と分数との間の掛け算である「×」を省略した場合など、全てを同じ文字色とすると、ユーザは数式の各構成要素の見分けが困難である。また、このような２Ｄ関数を使用した場合に、カーソルがどこに属するかを判別し難いという問題がある。
本発明は、上記事情に鑑みてなされたもので、自然表示形式で２Ｄ関数を使用した場合でも、数式の各構成要素及びカーソルの位置を容易に見分けることができる電子計算機及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、請求項１の発明は、数式を自然表示する電子計算機であって、
ユーザから数式の入力操作を受ける数式入力手段と、
前記数式入力手段により入力された数式を自然表示させる数式表示制御手段と、
前記数式表示制御手段により自然表示された数式に対して、カーソルをユーザの操作に応じて移動可能にして表示させるカーソル表示制御手段と、
前記数式表示制御手段により自然表示される数式の構成要素のうち、異なる階層を有する構成要素毎に、それぞれ異なる色を付けて表示する数式カラー処理手段と、
前記カーソル表示制御手段により自然表示される数式の構成要素上に表示されるカーソルに、当該カーソルが属する構成要素と同じ色を付けて表示するカーソルカラー処理手段と、を備えることを特徴とする。
【０００６】
請求項２の発明は、請求項１に記載の電子計算機において、
前記異なる階層を有する構成要素毎とは、べき乗式における整数と当該整数に掛かるべき数、多重根号式における第１の根号式と当該第１の根号式の内側の第２の根号式、又は、帯分数式における整数と分数、であることを特徴とする。
【０００７】
請求項３の発明は、コンピュータに、
ユーザから数式の入力操作を受ける数式入力機能と、
前記数式入力機能により入力された数式を自然表示させる数式表示制御機能と、
前記数式表示機能により自然表示された数式に対して、カーソルをユーザの操作に応じて移動可能にして表示させるカーソル表示制御機能と、
前記数式表示制御機能により自然表示される数式の構成要素のうち、異なる階層を有する構成要素毎に、それぞれ異なる色を付けて表示する数式カラー処理機能と、
前記カーソル表示制御機能により自然表示される数式の構成要素上に表示されるカーソルに、当該カーソルが属する構成要素と同じ色を付けて表示するカーソルカラー処理機能と、を実現させることを特徴とするプログラム。
【０００８】
請求項４の発明は、請求項３に記載のプログラムにおいて、
前記異なる階層を有する構成要素毎とは、べき乗式における整数と当該整数に掛かるべき数、多重根号式における第１の根号式と当該第１の根号式の外側の第２の根号式、又は、分数式における整数と分数、のいずれかであることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、入力された数式を表示部に自然表示する数式の構成要素のうち、異なる階層を有する構成要素毎に、それぞれ異なる色を付けて表示するので、べき乗式におけるべき乗される数値（底）と、べき数（指数）とを容易に見分けることができる。その他、根号式内にさらに根号式を有する場合など、自然表示において見分けのつきにくい数式構成要素の位置を容易に見分けることができる。
さらに、カーソルが属する構成要素と同じ色を付けて表示するので、カーソルの位置も容易に見分けることができる。
【図面の簡単な説明】
【００１０】
【図１】本発明に係る電子計算機を適用した関数電卓の外観構成を示す平面図である。
【図２】関数電卓の概略的な機能構成を示すブロック図である。
【図３】計算処理の動作を説明するためのフローチャートである。
【図４】数式カラー処理の動作を説明するためのフローチャートである。
【図５】カーソルカラー処理の動作を説明するためのフローチャートである。
【図６】(a)〜(f)は、動作例１の処理を説明するための図であり、各図中、中央にはディスプレイの表示画面、表示画面の上段には操作したキー、表示画面の右側には処理に伴う入力バッファでの記憶コードの変化状態を示している。
【図７】(a)〜(e)は、動作例２の処理を説明するための図であり、各図中、中央にはディスプレイの表示画面、表示画面の上段には操作したキー、表示画面の右側には処理に伴う入力バッファでの記憶コードの変化状態を示している。
【図８】(a)〜(c)は、動作例３の処理を説明するための図であり、各図中、中央にはディスプレイの表示画面、表示画面の上段には操作したキー、表示画面の右側には処理に伴う入力バッファでの記憶コードの変化状態を示している。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明に係る実施の形態の一例を詳細に説明する。ただし、発明の範囲は、図示例に限定されない。
【００１２】
［１．１  外観構成］
図１は、本発明に係る電子計算機を適用した関数電卓１の外観構成を示す平面図である。
この図に示すように、関数電卓１は、各種キー群を有する入力キー群２と、ディスプレイ３と、を備えている。
【００１３】
入力キー群２は、ユーザから数値や演算記号等の数式構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備えている。本実施の形態においては、入力キー群２は、テンキー２０や演算記号キー２１、カーソルキー２２、ＥＸＥキー２３、ＤＥＬキー２４等を備えている。
【００１４】
このうち、テンキー２０は数値の入力操作を受けるキーであり、演算記号キー２１は四則演算の記号や括弧、「√」（根号）キー、「ａ／ｂ」（分数）キー、「＾」（べき乗）キー、対数記号、三角関数記号など、各種演算記号の入力操作を受けるキーである。
【００１５】
カーソルキー２２は、ディスプレイ３内で編集対象位置や選択対象位置を示すカーソルを所定の方向に移動させる場合等に押下されるキーであり、本実施の形態においては、上下左右の４方向について入力可能に構成されている。
【００１６】
ＥＸＥキー２３は、処理の実行指示や決定指示の入力操作を受けるキーであり、例えば数式の入力後には演算処理の実行を指示するキーとして機能するようになっている。ＤＥＬキー２４は、ディスプレイ３に表示されている数値や演算記号などの削除操作を受けるキーである。
【００１７】
ディスプレイ３は、ＬＣＤ（Liquid Crystal Display）やＥＬＤ（Electronic Luminescent Display）等により構成されており、入力キー群２などの操作に応じた文字や符号、数式、演算結果などの他、関数電卓１を使用するたえに必要な各種データを表示するようになっている。なお、本実施の形態におけるディスプレイ３には、タッチパネル３０（図２参照）が表示画面全面に亘って一体的に設けられている。
【００１８】
［１．２  機能構成］
続いて、関数電卓１の機能構成を説明する。
図２は、関数電卓１の概略的な機能構成を示すブロック図である。
【００１９】
図２に示すように、関数電卓１は、キー入力部１４と、表示部１５と、ＲＡＭ（Random Access Memory）１２と、記憶部１３と、ＣＰＵ（Central Processing Unit）１１と、を備えて構成されている。
【００２０】
キー入力部１４は、上述の入力キー群２を備えており、押下されたキーに対応する操作信号をＣＰＵ１１に出力するようになっている。
【００２１】
表示部１５は、上述のディスプレイ３を備えており、ＣＰＵ１１からの表示信号に従って各種情報をディスプレイ３に表示するようになっている。また、この表示部１５は、ディスプレイ３と一体的に設けられたタッチパネル３０を備えており、表示画面に対する入力ペンの接触位置情報をＣＰＵ１１に出力するようになっている。
【００２２】
ＲＡＭ１２は、情報を一時的に格納する揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納する複数のワークエリアを有する。例えば、本実施形態におけるＲＡＭ１２には、表示データメモリ１２０、入力バッファ１２１、カーソルポインタメモリ１２２などを有している。
【００２３】
表示データメモリ１２０には、表示部１５に表示させるべき数式のデータや当該数式の演算結果のデータなどが、表示部１５の表示領域に相当するカラービットマップデータに展開されて記憶されている。
【００２４】
入力バッファ１２１には、後述の図６における右側部分に示すように、キー入力部１４よりキー入力されたキーコードのデータが順次記憶されるようになっている。例えば、テンキーは該当する数字を示すコードで、「sin」、「cos」、「ａ／ｂ」、「＾」などの関数キーが入力された場合にはその関数を示すコードで、「＋」、「−」、「×」、「÷」などの算術記号キーが入力された場合にはその算術記号を示すコードでデータが記憶されるようになっている。また、入力バッファ１２１には、キーに対応するコードの他に制御コードも記憶されている。例えば、図６に示すコードデータのうち、「ＥＺ」は数式の終了を示すコードである。また「（」、「）」は階層の開始と終了を示す制御コードである。
【００２５】
カーソルポインタメモリ１２２には、入力バッファ１２１におけるキー入力データを対象にして、カーソルの表示位置を示すカーソルポインタが記憶されるようになっている（後述の図６における右側部分の三角マーク参照）。
【００２６】
本実施形態の関数電卓１におけるキー入力データ（キーコードデータ）とカーソル（カーソルポインタ）との関係において、キー入力部１４により文字・数字・記号のキーデータが入力された場合は、当該入力されたキーデータはカーソル（カーソルポインタ）の位置に対応して入力される。一方、キー入力部１４の「ＤＥＬ」キー２４が操作された場合には、カーソル（カーソルポインタ）の直前に存在するキーデータが削除される。
【００２７】
記憶部１３は、ＲＯＭ（Read Only Memory）等により構成される不揮発性のメモリであり、後述する数式カラー処理、カーソルカラー処理、計算処理等をＣＰＵに実行させるための計算処理プログラム１３０や各種データを記憶している。
【００２８】
ＣＰＵ１１は、関数電卓１の各部を中央制御する。具体的には、ＣＰＵ１１は、記憶部１３に記憶されているシステムプログラム及び各種計算処理プログラムの中から指定されたプログラムをＲＡＭ１２に展開し、ＲＡＭ１２に展開されたプログラムとの協働で、各種処理を実行する。
【００２９】
［１．３  関数電卓の動作］
続いて、関数電卓１の動作について説明する。
【００３０】
図３は、計算処理の動作を説明するためのフローチャートである。なお、この計算処理は、ユーザによりタッチパネル３０やキー入力部１４を介して計算処理の実行指示が入力されると、記憶部１４から計算処理プログラム１３０が読み出されてＲＡＭ１２に適宜展開される結果、この計算処理プログラム１３０とＣＰＵ１１との協働によって実行される。
【００３１】
図３に示すように、計算処理においては、まずユーザが入力キー群２を操作すると、ＣＰＵ１１は、ユーザが操作した所望のキーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであるか否かを判別する（ステップＳ２）。
読み込んだキーデータが数値や演算記号のキーである場合には（ステップＳ２：Ｙｅｓ）、入力バッファ１２１のカーソル位置に対応する位置に、当該数値や演算記号のキーコードを記憶し（ステップＳ３）、数式カラー処理を行う（ステップＳ４）。
【００３２】
図４は、数式カラー処理の動作を説明するためのフローチャートである。
図４に示すように、数式カラー処理においては、ＣＰＵ１１は、入力バッファ１２１に記憶したキーデータ中に、異なる階層を有する構成要素を含むか否かを判別する（ステップＳ２１）。ここで、異なる階層を有する構成要素を含むか否かとは、例えば、「＾」（べき乗）のキーを操作した場合（べき乗式の場合）や、既に「√」（根号）キーが操作されており、その後、さらに「√」（根号）キーが操作された場合（多重根号式の場合）に、異なる階層を有する構成要素を含むと判別される。つまり、上述の記憶したキーデータ中に階層関係を伴う２Ｄ関数を含む場合に、異なる階層を有する構成要素を含むと判別される。
そして、階層関係を伴う２Ｄ関数を含まないと判別した場合には（ステップＳ２１：Ｎｏ）、数式カラー処理を終了する。
【００３３】
一方、階層関係を伴う２Ｄ関数を含むと判別した場合には（ステップＳ２１：Ｙｅｓ）、２Ｄ関数が掛かる第１層の数値や演算記号のキーデータを第１層の色に変更し、その第１層の数値や演算記号をその色で表示すべく表示データメモリ１２０に記憶する。その後、第１層の次の階層である第２層（２Ｄ関数）の数値や演算記号のキーデータを第２層の色に変更し、その第２層の数値や演算記号をその色で表示データメモリ１２０に記憶する（ステップＳ２２）。ここで、第１層や第２層とは、上述のように例えば、「＾」（べき乗）のキーを操作した場合には、「＾」（べき乗）のキーが２Ｄ関数となるので、べき乗される数値（底）が第１層とされ、べき乗する数値（指数）が第２層とされる。また、例えば、「√」（根号）キーを一度操作した後にさらに「√」（根号）キーを操作した場合には、２Ｄ関数が２度目に操作した「√」（根号）キーとなるので、はじめに操作した「√」（根号）及びその根号内の数値が第１層とされ、２度目に操作した「√」（根号）及びその根号内の数値が第２層とされる。
【００３４】
その後、さらに記憶したキーデータ中に、次の階層を有する２Ｄ関数を含むか否かを判別する（ステップＳ２３）。さらに２Ｄ関数を含むと判別した場合には（ステップＳ２３：Ｙｅｓ）、その２Ｄ関数の属する階層（第ｎ層）の数値や演算記号のデータをその階層（第ｎ層）の色に変更し、その第ｎ層の数値や演算記号をその色で表示データメモリ１２０に記憶する（ステップＳ２４）。
ステップＳ２３において、次の２Ｄ関数を含まないと判別するまで、上記ステップＳ２３及びステップＳ２４を繰り返し、次の２Ｄ関数を含まないと判別した場合には（ステップＳ２３：Ｎｏ）、数式カラー処理を終了する。
【００３５】
数式カラー処理が終了すると、カーソルカラー処理を行う（ステップＳ５）。
図５は、カーソルカラー処理の動作を説明するためのフローチャートである。
図５に示すように、カーソルカラー処理においては、ＣＰＵ１１は、カーソルが２Ｄ関数データ上にあるか否かを判別する（ステップＳ３１）。カーソルが２Ｄ関数データ上に無い場合には（ステップＳ３１：Ｎｏ）、カーソルカラー処理を終了する。２Ｄ関数データ上にある場合には（ステップＳ３１：Ｙｅｓ）、当該２Ｄ関数データと同じ色となるようにカーソルの色を変更し、表示データメモリ１２０に記憶し（ステップＳ３２）、カーソルカラー処理を終了する。例えば、第１層のデータ上にある場合には、第１層と同じ色となるようにカーソルの色を変更する。
【００３６】
カーソルカラー処理が終了すると、数式カラー処理及びカーソルカラー処理により表示データメモリ１２０に記憶したデータをディスプレイ３に表示する（ステップＳ６）。
【００３７】
その後、再びユーザが入力キー群２を操作すると、ＣＰＵ１１は、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであるか否かを判別する（ステップＳ２）。
読み込んだキーデータが数値や演算記号のキーではない場合には（ステップＳ２：Ｎｏ）、カーソルキーであるか否かを判別する（ステップＳ７）。カーソルキーである場合には（ステップＳ７：Ｙｅｓ）、入力されたカーソルキーが示す方向にカーソルポインタメモリ１２２に記憶されるカーソルポインタが移動されるのに伴い、表示部１５に表示されているカーソルを移動させ（ステップＳ８）、さらに、カーソルカラー処理を行う（ステップＳ９）。
【００３８】
ステップＳ９でのカーソルカラー処理は、上述したカーソルカラー処理（ステップＳ３１〜ステップＳ３２）と同様である。
【００３９】
一方、ステップＳ７において、カーソルキーでない場合には（ステップＳ７：Ｎｏ）、実行キーであるか否かを判別する（ステップＳ１０）。実行キーである場合には（ステップＳ１０：Ｙｅｓ）、入力バッファ１２１に記憶されたキーコードデータが読み出されて演算対象となる数式として問題ないかチェックされる（ステップＳ１１）。仮に、このステップＳ１１の数式チェックで演算できない問題があると判断するとシンタックス・エラーの表示がなされる。入力された数式に問題がなければ演算処理を実行し（ステップＳ１２）、その演算結果のデータをディスプレイ３に表示する（ステップＳ１３）。
【００４０】
また、ステップＳ１０において、実行キーでない場合には（ステップＳ１０：Ｎｏ）、
「×」（掛け算）キーの省略であるか否かを判別する（ステップＳ１４）。つまり、「ＤＥＬ」キーが操作されてカーソルの直前に存在する「×」（掛け算）キーが削除された場合であるか否かを判別する。
「×」（掛け算）キーの省略である場合には（ステップＳ１４：Ｙｅｓ）、数式カラー処理を行う（ステップＳ１５）。
ステップＳ１５の数式カラー処理では、掛け算される数値（第１番目のブロック）と掛け算する数値（第２番目のブロック）の各データをそれぞれ異なる色に変更し、第１番目のブロックの数値及び第２番目のブロックの数値をその変更した色で表示データメモリ１２０に記憶し、数式カラー処理を終了し、カーソルカラー処理を行う（ステップＳ１６）。
ステップＳ１６のカーソルカラー処理では、カーソルの直前に存在する第１番目のブロックと同じ色となるようにカーソルの色を変更する。カーソルカラー処理が終了すると、表示データメモリ１２０のデータを、ディスプレイ３に表示する（ステップＳ６）。
【００４１】
一方、ステップＳ１４において、「×」（掛け算）キーの省略ではない場合には（ステップＳ１４：Ｎｏ）、そのキーに応じた処理を適宜行う。
【００４２】
［１．４  動作例］
続いて、図面を参照しつつ、上述した関数電卓１の動作を具体的に説明する。
図６(a)〜(f)は、動作例１の処理を説明するための図であり、(a)〜(f)において、中央にはディスプレイの表示画面、この表示画面の上段には操作したキー、表示画面の右側には処理に伴う入力バッファでの記憶コードの変化状態を示している。また、表示画面の右側の図において、三角マークで示した部分は、カーソルポインタの位置を表している。
なお、図６、後述の図７、図８において、符号「Ｋ」で示されている数式等は黒色、「Ｒ」は赤色、「Ｂ」は青色、「Ｇ」は緑色で表示されているものとする。また、符号「ＣＲ」はカーソルを示す。
【００４３】
（動作例１）
まず、図６(a)に示すように、ユーザが入力キー群２を操作して、記号式「５＋２」を入力すべく、「５」、「＋」、「２」とキー入力すると、順次キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１のカーソル位置に対応する位置に、「５＋２」のキーデータを記憶する（ステップＳ３）。
【００４４】
この段階での数式カラー処理（ステップＳ４）、カーソルカラー処理（ステップＳ５）においては、記憶しているキーデータ中に階層関係を伴う２Ｄ関数を含まないため、カラー化の処理をすることなく処理を終える。
【００４５】
その結果、表示部１５にて、黒色で「５＋２」と表示される。
【００４６】
続いて、図６(b)に示すように、ユーザが入力キー群２を操作して、べき乗キー「＾」と数字「３」を入力すると、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１のカーソル位置に対応する位置に、順次「＾」、「３」のキーデータを記憶する（ステップＳ３）。なお、「３」を記憶する際には、異なる階層が開始することを示す「（」コードを挿入する。
【００４７】
「３」が入力された後の数式カラー処理（ステップＳ４）においては、記憶しているキーデータ中に２Ｄ関数である「＾３」を含むと判別し（ステップＳ２１）、第１層目のデータ「２」を第１層の色（例えば、赤色）に変更し、第２層目のデータ「＾３」を第２層の色（例えば、青色）に変更する（ステップＳ２２）。そして、第２層目の次の階層関係を伴う２Ｄ関数を含まないと判別し（ステップＳ２３）、数式カラー処理を終了する。数式カラー処理を終了すると、カーソルカラー処理を行う（ステップＳ５）。
【００４８】
次に、カーソルカラー処理では、カーソルが２Ｄ関数データ上にあると判別し（ステップＳ３１）、カーソルが属する第２層のデータと同じ色（青色）のカーソルに変更し（ステップＳ３２）、カーソルカラー処理を終了する。その結果、黒色で「５＋」、赤色で「２」、青色で「３」及びカーソルを表示する。
【００４９】
続いて、図６(c)に示すように、ユーザが入力キー群２を操作して、更にべき乗キー「＾」と数字「４」を入力すると、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１に、「＾４」のキーデータを記憶し（ステップＳ３）、数式カラー処理を行う（ステップＳ４）。
【００５０】
次に、数式カラー処理において、記憶しているキーデータ中に２Ｄ関数である「＾３」及び「＾４」を含むと判別し（ステップＳ２１）、第１層目のデータ「２」を第１層の色（例えば、赤色）で、第２層目のデータ「＾３」を第２層の色（例えば、青色）で書き込みする（ステップＳ２２）。その後、さらに第２層目の次の階層関係を伴う２Ｄ関数を含むと判別し（ステップＳ２３）、第３層目のデータ「＾４」を第３層の色（例えば、緑色）に変更し、そのデータを表示データメモリ１２０に記憶する（ステップＳ２４）。その後、第３層目の次の階層関係を伴う２Ｄ関数を含まないと判別し（ステップＳ２３）、数式カラー処理を終了する。数式カラー処理を終了すると、カーソルカラー処理を行う（ステップＳ５）。
【００５１】
次に、カーソルカラー処理では、カーソルが２Ｄ関数データ上にあると判別し（ステップＳ３１）、カーソルの色を、当該カーソルがある第３層のデータと同じ色（緑色）に変更し（ステップＳ３２）、カーソルカラー処理を終了する。その結果、表示部１５にて、黒色で「５＋」、赤色で「２」、青色で「３」、緑色で「４」及びカーソルを表示する。
【００５２】
続いて、図６(d)に示すように、ユーザが「→」（カーソル）キーを操作すると、ステップＳ７において読み込んだキーデータがカーソルキーであると判別し、入力されたカーソルキーに応じた方向、ここでは「３」である第２層にカーソルを移動させ（ステップＳ８）、さらに、カーソルカラー処理を行う（ステップＳ９）。
【００５３】
カーソルカラー処理では、カーソルが２Ｄ関数データ上にあると判別し（ステップＳ３１）、カーソルの色を、当該カーソルが属する第２層のデータと同じ色（青色）に変更し、そのデータを表示データメモリ１２０に記憶し（ステップＳ３２）、カーソルカラー処理を終了する。その結果表示部１５にて、黒色で「５＋」、赤色で「２」、青色で「３」及びカーソル、緑色で「４」を表示する。
【００５４】
続いて、図６(e)に示すように、ユーザがさらに「→」（カーソル）キーを操作すると、図６(d)と同様にして、カーソルが２Ｄ関数データ上にあると判別し（ステップＳ３１）、カーソルの色を、当該カーソルが属する「５」の階層と同じ色（黒色）に変更し、カーソルを黒色で表示する。
【００５５】
また、図６(f)に示すように、ユーザがさらに「←」（カーソル）キーを複数回操作すると、カーソルの色を、当該カーソルが属する「２」の階層と同じ色（赤色）に変更し、カーソルを赤色で表示する。
【００５６】
（動作例２）
図７(a)〜(e)は、動作例２の処理を説明するための図であり、(a)〜(e)において、中央にはディスプレイの表示画面、この表示画面の上段には操作したキー、表示画面の右側には処理に伴う入力バッファでの記憶コードの変化状態を示している。また、表示画面の右側の図において、三角で示した部分は、カーソルポインタの位置を表している。
まず、図７(a)に示すように、ユーザが記号式「√６＋」を入力すると、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１のカーソル位置に対応する位置に、「√６＋」のキーデータを記憶し（ステップＳ３）、数式カラー処理を行う（ステップＳ４）。
【００５７】
数式カラー処理では、記憶したキーデータ中に階層関係を伴う２Ｄ関数を含まないと判別するので（ステップＳ２１）、数式カラー処理を終了し、カーソルカラー処理を行う（ステップＳ５）。
【００５８】
カーソルカラー処理では、２Ｄ関数データ上にカーソルが無いと判別するので（ステップＳ３１）、カーソルカラー処理を終了する。その後、表示部１５にて、黒色で「√６＋」と表示される。
【００５９】
続いて、図７(b)に示すように、ユーザが、「√」、「９」を入力すると、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１のカーソル位置に対応する位置に、「√」、「９」のキーデータを記憶し（ステップＳ３）、数式カラー処理を行う（ステップＳ４）。
【００６０】
数式カラー処理において、記憶したキーデータ中に階層関係を伴う２Ｄ関数である「√９」を含むことになったと判別すると（ステップＳ２１）、第１層目のデータ「√６＋」を第１層の色（例えば、赤色）に変更し、第２層目のデータ「√９」を第２層の色（例えば、青色）に変更し、そのデータを表示データメモリ１２０に記憶する（ステップＳ２２）。そして、第２層目の次の階層関係を伴う２Ｄ関数を含まないと判別し（ステップＳ２３）、数式カラー処理を終了する。数式カラー処理を終了すると、カーソルカラー処理を行う（ステップＳ５）。
【００６１】
カーソルカラー処理では、カーソルが２Ｄ関数データ上にあると判別し（ステップＳ３１）、カーソルが属する第２層のデータと同じ色（青色）のカーソルに変更し、そのデータを表示データメモリ１２０に記憶し（ステップＳ３２）、カーソルカラー処理を終了する。その後、赤色で「√６＋」、青色で「√９」及びカーソルを表示する。
【００６２】
続いて、図７(c)に示すように、ユーザが、「→」（カーソル）キーを操作すると、ステップＳ７において読み込んだキーデータがカーソルキーであると判別し、入力されたカーソルキーに応じた方向、ここでは「√６＋」である第１層にカーソルを移動させ（ステップＳ８）、さらに、カーソルカラー処理を行う（ステップＳ９）。
【００６３】
カーソルカラー処理では、カーソルが２Ｄ関数データ上にあると判別し（ステップＳ３１）、カーソルの色を、当該カーソルが属する第１層のデータと同じ色（赤色）に変更しする（ステップＳ３２）、カーソルカラー処理を終了する。そして、表示データを表示部１５にて、赤色で「√６＋」及びカーソル、青色で「√９」を表示する。
【００６４】
続いて、図７(d)に示すように、ユーザがさらに「→」（カーソル）キーを操作すると、カーソルが２Ｄ関数データ上にないと判別するので（ステップＳ３１）、カーソルカラー処理を終了し、その後、表示部１５にて、カーソルを黒色で表示する。
【００６５】
また、図７(e)に示すように、ユーザがさらに「＋」キーと「２」キーを操作すると、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１のカーソル位置に対応する位置に、「＋２」のキーデータを記憶する（ステップＳ３）。
【００６６】
この場合の数式カラー処理（ステップＳ４）においては、記憶したキーデータ中の２Ｄ関数についてカラー化の処理を行い、カーソルカラー処理（ステップＳ５）においては、カーソルが２Ｄ関数データ上に無いと判別するので、カーソルを他の色に変更するカラー化の処理は行わない。
【００６７】
したがって、表示部１５にては、第１層目のデータ「√６＋」を第１層の色（赤色）で表示し、第２層目のデータ「√９」を第２層の色（青色）で表示し、「＋２」とカーソルを黒色で表示する。
【００６８】
（動作例３）
図８(a)〜(c)は、動作例３の処理を説明するための図であり、(a)〜(c)において、中央にはディスプレイの表示画面、この表示画面の上段には操作したキー、表示画面の右側には処理に伴う入力バッファでの記憶コードの変化状態を示している。また、表示画面の右側の図において、三角で示した部分は、カーソルポインタの位置を表している。
まず、図８(a)に示すように、ユーザが記号式「２／１／５＋２×１／５」を入力すると、キーデータを読み込み（ステップＳ１）、読み込んだキーデータが数値や演算記号のキーであると判別し（ステップＳ２）、入力バッファ１２１のカーソル位置に対応する位置に、「２／１／５＋２×１／５」のキーデータを記憶し（ステップＳ３）、数式カラー処理を行う（ステップＳ４）。
【００６９】
この場合、数式カラー処理では、記憶したキーデータ中に階層関係を伴う２Ｄ関数を含まないと判別するので（ステップＳ２１）、数式カラー処理を終了し、カーソルカラー処理を行う（ステップＳ５）。
【００７０】
カーソルカラー処理では、２Ｄ関数データ上にカーソルが無いと判別するので（ステップＳ３１）、カーソルカラー処理を終了する。その後、表示部１５にて、黒色で図８(a)に示す自然表示で表示する。
【００７１】
続いて、図８(b)に示すように、ユーザが、「←」（カーソル）キーを操作すると、ステップＳ７において読み込んだキーデータがカーソルキーであると判別し、入力されたカーソルキーに応じた方向、ここでは「×」と「１／５」との間にカーソルを移動させ（ステップＳ８）、さらに、カーソルカラー処理を行う（ステップＳ９）。
【００７２】
カーソルカラー処理では、カーソルが２Ｄ関数データ上に無いと判別するので（ステップＳ３１）、カーソルカラー処理を終了し、その後、表示部１５にて、カーソルを黒色で表示する。
【００７３】
続いて、図８(c)に示すように、ユーザが、「ＤＥＬ」（削除）キーを操作すると、ステップＳ１４において、「×」（掛け算）キーの省略であると判別し、数式カラー処理を行う（ステップＳ１５）。
数式カラー処理では、掛け算される数値である「２」と、掛け算する「１／５」のキーデータを、それぞれ例えば青色と赤色の異なる色に変更して、数式カラー処理を終了し、カーソルカラー処理を行う（ステップＳ１６）。
【００７４】
カーソルカラー処理では、カーソルの直前のキーである「２」と同じ青色となるようにカーソルの色を変更し、カーソルポインタメモリ１２２に記憶し、カーソルカラー処理を終了し、表示部１５にて、カーソルを青色で表示する（ステップＳ６）。
【００７５】
以上、本実施の形態によれば、ユーザにより入力された数式を表示部１５に自然表示する数式の構成要素のうち、階層関係を伴う２Ｄ関数と、当該２Ｄ関数が掛かる構成要素とを、それぞれ異なる色を付けて表示するので、べき乗式におけるべき乗される数値（底）と、べき数（指数）とを容易に見分けることができる。その他、根号式内にさらに根号式を有する場合など、自然表示において見分けのつきにくい数式構成要素の位置を容易に見分けることができる。
さらに、カーソルが属する構成要素と同じ色を付けて表示するので、カーソルの位置も容易に見分けることができる。
【００７６】
また、動作例３のように、「×」（掛け算）キーを省略した場合でも、「×」（掛け算）キーの直前のキーと直後のキーをそれぞれ異なる色で表示するので、掛け算の省略を容易に見分けることができる。
【００７７】
なお、上記実施の形態における関数電卓１の各構成要素の細部構成及び細部動作に関しては、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。
【００７８】
例えば、本発明に係る電子計算機を関数電卓１として説明したが、本発明が適用可能なものは、このような製品に限定されず、携帯電話、パソコン、ＰＤＡ（Personal Digital Assistant）、ゲーム機などの電子機器全般に適用可能である。また、本発明に係る計算処理プログラム１３０は、電子計算機に対して着脱可能なメモリカード、ＣＤ等に記憶されることとしても良い。
【００７９】
また、ステップＳ１の処理では、ユーザが入力キー群２を介して記号式を入力することとして説明したが、タッチパネル３０を介して入力することとしても良い。
【００８０】
さらに、上記動作例３では、「整数×分数」において「×」の省略を例に挙げて説明したが、その他、「変数×変数」や「変数×Ｓｉｎ」等において「×」を省略する場合も同様の処理を行う。
【符号の説明】
【００８１】
１  関数電卓
２  入力キー群
３  ディスプレイ
１１  ＣＰＵ
１２  ＲＡＭ
１３  記憶部
１４  キー入力部
１５  表示部
１２０  表示データメモリ
１２１  入力バッファ
１２２  カーソルポインタメモリ
１３０  計算処理プログラム
【図１】
2011186567.tif 000003
【図２】
2011186567.tif 000004
【図３】
2011186567.tif 000005
【図４】
2011186567.tif 000006
【図５】
2011186567.tif 000007
【図６】
2011186567.tif 000008
【図７】
2011186567.tif 000009
【図８】
2011186567.tif 000010