(57)【特許請求の範囲】
【請求項１】
数式を自然表示する電子式計算機であって、
数式を入力する数式入力手段と、
この数式入力手段により入力された数式を表示部に表示させる数式表示制御手段と、
この数式表示制御手段により表示された数式に対して、カーソルをユーザ操作に応じ移動可能にして表示させるカーソル表示制御手段と、
関数の取り込み入力をユーザ操作に応じて指示する取り込み入力指示手段と、
この取り込み入力指示手段による指示に応じて、前記数式に対し表示されたカーソルの位置を基準に、左括弧と右括弧で括られる数式部分、所定の関数として括られる数式部分、及び文字により構成される数式部分を、それぞれひと固まりの数式部分と認識する固まり認識手段と、
この固まり認識手段により認識されたひと固まりの数式部分を除いて、前記カーソル位置からの数式に算術記号又は区切り記号が存在するか判断する区切り位置判断手段と、
前記区切り位置判断手段が算術記号又は区切り記号が存在すると判断した場合は、前記カーソルの位置からその算術記号又は区切り記号までのひと固まりの数式部分を取り込み範囲と判断し、前記区切り位置判断手段が算術記号又は区切り記号が存在しないと判断した場合には、カーソルから各ひと固まりの数式部分の全てを取り込み範囲と判断する取り込み範囲判断手段と、
この取り込み範囲判断手段により取り込み範囲と判断されたひと固まりの数式部分を前記入力された関数の計算対象として取り込む関数取り込み手段と、
を備えたことを特徴とする電子式計算機。
【請求項２】
前記取り込み入力指示手段により取り込みが指示される関数はルートであって、
前記カーソル表示制御手段により前記数式に対し表示されたカーソルの位置が、当該数式の末尾にあるか又は該カーソルの直後に区切り記号があるかに応じて、前記関数の計算対象となる数式の取り込み不可を判断する取り込み不可判断手段と、
この取り込み不可判断手段により前記関数の計算対象となる数式の取り込み不可が判断された場合に、前記数式に対し表示されたカーソルの位置に対応させて計算対象未定のルート記号を挿入するルート挿入手段と、
をさらに備えたことを特徴とする請求項１に記載の電子式計算機。
【請求項３】
前記取り込み入力指示手段により取り込みが指示される関数は分数であって、
前記固まり認識手段は、前記数式に対し表示されたカーソルの位置の前方及び後方の数式を対象としてひと固まりの数式部分の認識を行い、
前記区切り位置判断手段は、前記数式に対し表示されたカーソルの位置の前方及び後方の数式を対象として算術記号又は区切り記号が存在するか判断を行い、
前記取り込み範囲判断手段は、前記数式に対し表示されたカーソルの位置の前方及び後方の数式を対象として取り込み範囲の判断を行い、
前記関数取り込み手段は、前記取り込み範囲判断手段により判断された前方の取り込み範囲の数式部分を前記分数の分子の計算対象として取り込み、前記取り込み範囲判断手段により判断された後方の取り込み範囲の数式部分を前記分数の分母の計算対象として取り込む、
ことを特徴とする請求項１に記載の電子式計算機。
【請求項４】
前記カーソル表示制御手段により前記数式に対し表示されたカーソルの位置が、当該数式の先頭にあることに応じて、前記分数の分子の計算対象となる数式の取り込み不可を判断する取り込み不可判断手段と、
この取り込み不可判断手段により前記分数の分子の計算対象となる数式の取り込み不可が判断された場合に、前記数式に対し表示されたカーソルの位置に対応させて分子未定の分数記号を挿入する分数挿入手段と、
をさらに備えたことを特徴とする請求項３に記載の電子式計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された数式や計算結果を教科書通りの自然な表記形態にして表示（自然表示）する電子式計算機に関する。
【背景技術】
【０００２】
従来、関数電卓と称する電子式計算機において、ユーザによってキー入力された数式やその計算結果の表記形態は、そのまま１行にして表示されるものが多かった。
【０００３】
例えば平方根の数式を入力する場合、ルート「√」の掛かる範囲を自然表示できないために、当該ルート記号「√」と共に小括弧や中括弧などの記号が組み合わされて入力され、例えば、√（２）のようにそのまま１行表示されていた。
【０００４】
また、例えば分数を含む数式の場合も同様に、当該分数記号を挟んだ分子と分母を上下方向に自然表示できないために、「Ａ／Ｂ」などと入力されそのまま１行表示されていた。
【０００５】
そこで、数式を教科書に記載されるような自然な形式で表示するようにした関数電卓が考えられている（例えば、特許文献１参照。）。
【特許文献１】特開２００７−２６４７６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前記従来の自然表示が可能な関数電卓には、例えばキー入力されて表示された数式を対象に、「√」や「ａ／ｂ」「ｓｉｎ」などの関数をキー入力して挿入し、当該数式を編集するための取り込み入力という仕様がある。
【０００７】
この取り込み入力という仕様では、例えば「Ａ（Ｂ＋Ｃ）（Ｄ＋Ｅ）」という数式の「Ａ」と「（Ｂ」の間にカーソルを位置させて取り込みのための「insert」キーおよび「√」キーを入力すると、当該「√」キーを入力したカーソル位置直後の数式の部分（Ｂ＋Ｃ）だけが「√」の掛かる範囲として取り込まれて、√記号の横線が（Ｂ＋Ｃ）の上まで延長されて表示され、数式を編集できる。
【０００８】
また、例えば「Ａ（Ｂ＋Ｃ）（Ｄ＋Ｅ）」という数式の「Ｃ）」と「（Ｄ」の間にカーソルを位置させて取り込みのための「insert」キーおよび「ａ／ｂ」キーを入力すると、当該「ａ／ｂ」キーを入力したカーソル位置の直前の数式の部分（Ｂ＋Ｃ）と直後の数式の部分（Ｄ＋Ｅ）が「ａ／ｂ」の掛かる分子と分母の範囲として取り込まれて、（Ｂ＋Ｃ）が分数の線分の上側に、（Ｄ＋Ｅ）が分数の線分の下側に表示され、数式を編集できる。
【０００９】
このように、自然表示が可能な関数電卓では、例えばルート「√」の横線を延長して√が掛かる範囲を自然な表記形態で表示できたり、分数「Ａ／Ｂ」の分子と分母を上下に分けて自然な表記形態で表示できたりして表現能力が高い。しかし一方で、高い表現能力を持って効果的に表示される、上下方向に重なった表示が必要なルート「√」や分数「ａ／ｂ」などの関数（２Ｄ(dimension)関数）の取り込み入力では、当該入力された関数に掛かって取り込まれる範囲がその直前直後の最小限の数式の部分に限定されるため、十分な範囲での取り込みができていなかった。
【００１０】
本発明は、このような課題に鑑みなされたもので、上下方向に重なった自然な表記形態を要する関数の取り込み入力に際して、当該関数の掛かる範囲を十分な範囲で取り込み自然表示することが可能になる電子式計算機を提供することを目的とする。
【課題を解決するための手段】
【００１１】
請求項１に記載の電子式計算機は、数式を自然表示する電子式計算機であって、数式を入力する数式入力手段と、この数式入力手段により入力された数式を表示部に表示させる数式表示制御手段と、この数式表示制御手段により表示された数式に対して、カーソルをユーザ操作に応じ移動可能にして表示させるカーソル表示制御手段と、関数の取り込み入力をユーザ操作に応じて指示する取り込み入力指示手段と、この取り込み入力指示手段による指示に応じて、前記数式に対し表示されたカーソルの位置を基準に、左括弧と右括弧で括られる数式部分、所定の関数として括られる数式部分、及び文字により構成される数式部分を、それぞれひと固まりの数式部分と認識する固まり認識手段と、この固まり認識手段により認識されたひと固まりの数式部分を除いて、前記カーソル位置からの数式に算術記号又は区切り記号が存在するか判断する区切り位置判断手段と、前記区切り位置判断手段が算術記号又は区切り記号が存在すると判断した場合は、前記カーソルの位置からその算術記号又は区切り記号までのひと固まりの数式部分を取り込み範囲と判断し、前記区切り位置判断手段が算術記号又は区切り記号が存在しないと判断した場合には、カーソルから各ひと固まりの数式部分の全てを取り込み範囲と判断する取り込み範囲判断手段と、この取り込み範囲判断手段により取り込み範囲と判断されたひと固まりの数式部分を前記入力された関数の計算対象として取り込む関数取り込み手段と、を備えたことを特徴としている。
【００１３】
請求項２に記載の電子式計算機は、請求項１に記載の電子式計算機において、前記取り込み入力指示手段により取り込みが指示される関数はルートであって、前記カーソル表示制御手段により前記数式に対し表示されたカーソルの位置が、当該数式の末尾にあるか又は該カーソルの直後に区切り記号があるかに応じて、前記関数の計算対象となる数式の取り込み不可を判断する取り込み不可判断手段と、この取り込み不可判断手段により前記関数の計算対象となる数式の取り込み不可が判断された場合に、前記数式に対し表示されたカーソルの位置に対応させて計算対象未定のルート記号を挿入するルート挿入手段と、をさらに備えたことを特徴としている。
【００１４】
請求項３に記載の電子式計算機は、請求項１に記載の電子式計算機において、前記取り込み入力指示手段により取り込みが指示される関数は分数であって、前記固まり認識手段は、前記数式に対し表示されたカーソルの位置の前方及び後方の数式を対象としてひと固まりの数式部分の認識を行い、前記区切り位置判断手段は、前記数式に対し表示されたカーソルの位置の前方及び後方の数式を対象として算術記号又は区切り記号が存在するか判断を行い、前記取り込み範囲判断手段は、前記数式に対し表示されたカーソルの位置の前方及び後方の数式を対象として取り込み範囲の判断を行い、前記関数取り込み手段は、前記取り込み範囲判断手段により判断された前方の取り込み範囲の数式部分を前記分数の分子の計算対象として取り込み、前記取り込み範囲判断手段により判断された後方の取り込み範囲の数式部分を前記分数の分母の計算対象として取り込む、ことを特徴としている。
【００１５】
請求項４に記載の電子式計算機は、請求項３に記載の電子式計算機において、前記カーソル表示制御手段により前記数式に対し表示されたカーソルの位置が、当該数式の先頭にあることに応じて、前記分数の分子の計算対象となる数式の取り込み不可を判断する取り込み不可判断手段と、この取り込み不可判断手段により前記分数の分子の計算対象となる数式の取り込み不可が判断された場合に、前記数式に対し表示されたカーソルの位置に対応させて分子未定の分数記号を挿入する分数挿入手段と、をさらに備えたことを特徴としている。
【発明の効果】
【００１６】
本発明によれば、上下方向に重なった自然な表記形態を要する関数の取り込み入力に際して、当該関数の掛かる範囲を十分な範囲で取り込み自然表示することが可能になる電子式計算機を提供できる。
【発明を実施するための最良の形態】
【００１７】
以下図面により本発明の実施の形態について説明する。
【００１８】
図１は、本発明の電子式計算機の実施形態に係る関数電卓１０の外観構成を示す正面図である。
【００１９】
この関数電卓１０は、その携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズからなり、この電卓１０の本体正面にはキー入力部１１および表示部１６が設けられる。
【００２０】
キー入力部１１には、数値や数式を入力したり計算の実行を指示したりするための数値・演算記号キー群１２、各種の関数を入力したりメモリ機能を立ち上げたりするための関数機能キー群１３、各種動作モードのメニュー画面を表示させたり動作モードの設定を指示したりするためのモード設定キー群１４、表示部１６に表示されたカーソルＣｕの移動操作やデータ項目の選択操作などを行うためのカーソルキー１５、表示部１６の下端に沿ってメニュー表示される各種の機能を選択的に指定するためのファンクションキーＦ１〜Ｆ４が備えられる。
【００２１】
前記数値・演算記号キー群１２としては、「０」〜「９」（数値）キー、「＋」「−」「×」「÷」（算術記号）キー、「：」「，」（区切り）キー、「＜」「＞」（比較記号）キー、「Ｅｘｐ」（べき関数）キー、「ＥＸＥ」（実行）キー、「ＡＣ」（クリア）キーなどが配列される。
【００２２】
前記関数機能キー群１３としては、「√」（ルート）キー、「ａ／ｂ」（分数）キー、「sin」（サイン）キー、「Ｍ＋」（メモリプラス）キーなどが配列される。
【００２３】
前記モード設定キー群１４としては、「Menu」（メニュー）キー、「Insert」（取り込み入力）キー、「Grph」（グラフ）キー、「Trac」（グラフトレース）キーなどが配列される。
【００２４】
なお、本実施形態において、「√」（ルート）、「ａ／ｂ」（分数）、「Ｅｘｐ」（べき関数）などのように、１行表示では特殊な記号を用いての表示が必要になり、教科書記載の自然表示では数字や関数記号を２次元に展開して上下方向に重なった表示が必要になる関数のことを２Ｄ(dimension)関数と称する。
【００２５】
前記表示部１６は、ドットマトリクス型の液晶表示ユニットからなる。
【００２６】
図２は、前記関数電卓１０の電子回路の構成を示すブロック図である。
【００２７】
この電卓１０の電子回路は、コンピュータであるＣＰＵ２１を備えている。
【００２８】
ＣＰＵ２１は、ＲＯＭなどの記憶装置２２に予め記憶されている電卓制御プログラムに従い回路各部の動作を制御し、ＲＡＭ２３を作業用メモリとしてキー入力部１１からのキー入力信号に応じた各種の演算処理を実行する。
【００２９】
ＲＡＭ２３には、表示データメモリ２４、カーソルポインタメモリ２５、入力バッファ２６などが確保される。
【００３０】
表示データメモリ２４には、前記表示部１６に表示させるべき数式のデータやその演算結果のデータなどが、前記表示部１６の表示領域に相当するビットマップデータに展開されて記憶される。
【００３１】
入力バッファ２６（図６、図８参照）には、前記キー入力部１１によりキー入力されたキーコードのデータが順次記憶される。例えば数値キーは数字を示すコードで、「sin」などの関数キーはその関数を示すコードで、「＋」「−」「×」「÷」などの算術記号キーはその算術記号を示すコードで記憶される。また、この入力バッファ２６には、キーに対応するコードの他に制御コードも記憶される。例えば、図６に示されるコードデータのうち、「ＥＸ」は前記２Ｄ関数（√）が掛かる範囲の終了を示すコード、「ＥＺ」は数式の終了を示すコード、「ＥＹ」は前記「Insert」キーの操作に応じた取り込み入力モードの設定状態において挿入された関数が掛かる後ろの取り込み範囲の終了を示すコードである。また、図８に示される「ＦＹ」は同取り込み入力モードの設定状態において挿入された関数が掛かる前の取り込み範囲の先頭を示すコードである。
【００３２】
カーソルポインタメモリ２５（図６、図８参照）２５には、前記入力バッファ２６にキーコードデータとして記憶されると共に前記表示部１６に表示されたキー入力データを対象にして、カーソルキー１５の操作により移動表示されるカーソルＣｕが位置するところを示すポインタデータＰが記憶される。
【００３３】
次に、前記構成の関数電卓１０による数式入力・計算機能について説明する。
【００３４】
図３は、前記関数電卓１０による数式入力・計算処理を示すフローチャートである。
【００３５】
図４は、前記関数電卓１０の数式入力・計算処理に伴う取り込み入力処理を示すフローチャートである。
【００３６】
まず、キー入力部１１のキー操作に伴いユーザ所望のキーデータが入力され、「Insert」キー、２Ｄ関数に属する関数キー、「ＥＸＥ」キーの何れの入力も無いと判断される状態では、当該キーデータの入力に応じた数式入力処理が実行され、順次表示部１６に表示されて行く（ステップＳ１，Ｓ２→Ｓ３→Ｓ４→Ｓ５）。
【００３７】
そして、ユーザ任意の数式が入力表示された状態で「ＥＸＥ」キーが操作されたと判断されると（ステップＳ４（Ｙｅｓ））、入力バッファ２６に記憶されたキーコードデータが読み出されて演算対象となる数式として問題がないかチェックされる（ステップＳ６）。仮にこのステップＳ６の数式チェックで演算できない問題があると判断されたならばシンタックス・エラーの表示がなされる。前記入力された数式に問題がなければ演算処理が実行され（ステップＳ７）、その演算結果のデータが表示部１６に表示される（ステップＳ８）。
【００３８】
例えば前記数式の入力と表示が行われた状態で、「Insert」キーが操作入力された場合には（ステップＳ２（Ｙｅｓ））、ＣＰＵ２１の動作モードが取り込み入力モードに設定される（ステップＳ９）。
【００３９】
また、「√」キーや「ａ／ｂ」キーなどの２Ｄ関数に相当するキーが操作入力された場合には（ステップＳ３（Ｙｅｓ））、前記取り込み入力モードに設定されているか否か判断される（ステップＳ１０）。そして、取り込み入力モードに設定されていると判断された場合には（ステップＳ１０（Ｙｅｓ））、図４における取り込み入力処理に移行され（ステップＳＡ）、取り込み入力モードに設定されていないと判断された場合には（ステップＳ１０（Ｎｏ））、入力された２Ｄ関数のキーコードがカーソルＣｕの示す位置に単純挿入される（ステップＳ１１）。
【００４０】
すなわち、前記取り込み入力モードに設定されていない状態において、例えば「√」キーが操作入力された場合には、表示されている数式中のカーソルＣｕが示す位置に対して「√」記号の中に「□（スペース）」が配置された表示体が単純挿入され、当該「√」を掛ける数字や文字の入力待機状態になる（ステップＳ３→Ｓ１０→Ｓ１１）。
【００４１】
また、同取り込み入力モードに設定されていない状態において、例えば「ａ／ｂ」キーが操作入力された場合には、カーソル位置に新たな分数を挿入するものとして、分子、分母が「□」で表された分数が単純挿入された状態になる（ステップＳ３→Ｓ１０→Ｓ１１）。
【００４２】
一方、前記取り込み入力モードに設定された状態において、「√」キーや「ａ／ｂ」キーなどの２Ｄ関数に相当するキーが操作入力された場合（ステップＳ３→Ｓ１０（Ｙｅｓ））は、取り込み入力処理に移行する（ステップＳＡ）。以下、この取り込み入力処理について説明する。
【００４３】
図５は、前記関数電卓１０の数式入力・計算処理での「√」（２Ｄ関数）キーの取り込み入力処理に伴う数式の入力表示例を示す図である。
【００４４】
図６は、前記図５（Ａ１）（Ａ２）で示した「√」（２Ｄ関数）キーの取り込み入力処理に伴う入力バッファ２６でのキーコードの記憶変化状態を示す図である。
【００４５】
取り込み入力処理において、「√」キーが操作入力されたと判断された場合には（ステップＡ１）、入力バッファ２６に記憶されている各キーコードデータおよびカーソルポインタメモリ２５に記憶されているポインタデータＰに基づいて、現在入力表示されている数式上でのカーソルＣｕの位置が、当該数式の末尾ではなく且つ直後に算術記号や区切り記号がないか否か確認され、入力された２Ｄ関数「√」に対応する取り込みが可能か否か判断される（ステップＡ２）。
【００４６】
ここで、例えば図５（Ｃ１）に示すように、現在入力表示されている数式「１２｜：３４」上でのカーソルＣｕの位置が、その直後に区切り記号「：」があることで、入力された２Ｄ関数「√」に対応する取り込みは不可能であると判断された場合には（ステップＡ２（Ｎｏ））、図５（Ｃ２）に示すように、前記カーソルＣｕが示す位置に対応して「√」「□（スペース）」が単純挿入され当該「√」を掛ける数字や文字の入力待機状態になる（ステップＡ３）。
【００４７】
一方、例えば図５（Ａ１）および図６（Ａ）（あるいは図５（Ｂ１））に示すように、現在入力表示されている数式「２｜（２＋３）√２Ａ」（あるいは「２｜（２＋３）＋√２Ａ」）上でのカーソルＣｕの位置が、当該数式の末尾ではなく且つ直後に算術記号や区切り記号がないことで、入力された２Ｄ関数「√」に対応する取り込みは可能であると判断された場合には（ステップＡ２（Ｙｅｓ））、当該カーソルＣｕ以後の数式において、左括弧「（」から右括弧「）」までの数式部分（この場合は「（２＋３）」）、および「sin（」などの括弧付き関数のその終了までの数式部分が、それぞれひと固まりの数式部分として認識処理される（ステップＡ４）。
【００４８】
また、同様に前記カーソルＣｕ以後の数式において、２Ｄ関数のその終了までの数式部分（この場合は「√２」）がひと固まりの数式部分として認識処理される（ステップＡ５）。
【００４９】
さらに、同様に前記カーソルＣｕ以後の数式において、数値のみの数式部分および文字のみの数式部分（この場合は「Ａ」）が、それぞれひと固まりの数式部分として認識処理される（ステップＡ６）。
【００５０】
そして、前記同様にカーソルＣｕ以後の数式において、前記ステップＡ４〜Ａ６により認識処理された各固まりの数式部分以外に、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在するか否か判断される（ステップＡ７／Ａ８）。
【００５１】
ここで、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在すると判断された場合には（ステップＡ７（Ｙｅｓ）／Ａ８（Ｙｅｓ））、当該算術記号か区切り記号までの数式部分が前記入力された２Ｄ関数「√」の掛かる範囲として取り込み処理され、その終了コード「ＥＹ」が付加される（ステップＡ９）。
【００５２】
すなわち、例えば図５（Ｂ１）に示すように、前記ステップＡ４〜Ａ６により認識処理された各固まりの数式部分以外に、算術記号「＋」が存在すると判断された場合には（ステップＡ７（Ｙｅｓ））、図５（Ｂ２）に示すように、当該算術記号「＋」までの各固まりの数式部分（この場合は「（２＋３）」）が前記入力された２Ｄ関数「√」の掛かる範囲として取り込み処理され、その終了コード「ＥＹ」が付加されて自然表示される（ステップＡ９）。
【００５３】
一方、前記ステップＡ４〜Ａ６により認識処理された各固まりの数式部分以外に、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在しないと判断された場合には（ステップＡ７（Ｎｏ）→Ａ８（Ｎｏ））、前記各固まりの全ての数式部分か数式終了コード「ＥＺ」までの各固まりの数式部分が前記入力された２Ｄ関数「√」の掛かる範囲として取り込み処理され、その終了コード「ＥＹ」が付加される（ステップＡ１０）。
【００５４】
すなわち、例えば図５（Ａ１）および図６（Ａ）に示すように、前記ステップＡ４〜Ａ６により認識処理された各固まりの数式部分（この場合は「（２＋３）」「√２」「Ａ」）以外に、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在しないと判断された場合には（ステップＡ７（Ｎｏ）→Ａ８（Ｎｏ））、図５（Ａ２）および図６（Ｂ）に示すように、前記各固まりの全ての数式部分か数式終了コード「ＥＺ」までの各固まりの数式部分（この場合は「（２＋３）「√２」「Ａ」）が前記入力された２Ｄ関数「√」の掛かる範囲として取り込み処理され、その終了コード「ＥＹ」が付加されて自然表示される（ステップＡ１０）。
【００５５】
図７は、前記関数電卓１０の数式入力・計算処理での「ａ／ｂ」（２Ｄ関数）キーの取り込み入力処理に伴う数式の入力表示例を示す図である。
【００５６】
図８は、前記図７（Ｂ１）（Ｂ２）で示した「ａ／ｂ」（２Ｄ関数）キーの取り込み入力処理に伴う入力バッファ２６でのキーコードの記憶変化状態を示す図である。
【００５７】
取り込み入力処理において、「ａ／ｂ」キーが操作入力されたと判断された場合には（ステップＡ１１）、入力バッファ２６に記憶されている各キーコードデータおよびカーソルポインタメモリ２５に記憶されているポインタデータＰに基づいて、現在入力表示されている数式上でのカーソルＣｕの位置が、当該数式の先頭以外か否（先頭）か確認され、入力された２Ｄ関数「ａ／ｂ」に対応する取り込みが可能か否か判断される（ステップＡ１２）。
【００５８】
ここで、例えば図７（Ｃ１）に示すように、現在入力表示されている数式「｜１２３（１＋２）√２」上でのカーソルＣｕの位置が、その先頭にあることで、入力された２Ｄ関数「ａ／ｂ」に対応する取り込みは不可能であると判断された場合には（ステップＡ１２（Ｎｏ））、図７（Ｃ２）に示すように、前記カーソルＣｕが示す数式の先頭位置に分数記号「／」が挿入され、数式全体を分母とした分数式が自然表示され、その分子の入力待機状態になる（ステップＡ１３）。
【００５９】
一方、例えば図７（Ｂ１）および図８（Ａ）（あるいは図７（Ａ１））に示すように、現在入力表示されている数式「１２３（１＋２）｜√２」（あるいは「１２３＋（１＋２）√２｜」）上でのカーソルＣｕの位置が、当該数式の先頭以外にあることで、入力された２Ｄ関数「ａ／ｂ」に対応する取り込みは可能であると判断された場合には（ステップＡ１２（Ｙｅｓ））、当該カーソルＣｕ以前の数式を遡って、右括弧「）」から左括弧「（」までの数式部分（この場合は「（１＋２）」）がひと固まりの数式部分として認識処理される（ステップＡ１４）。
【００６０】
また、同様に前記カーソルＣｕ以前の数式を遡って、２Ｄ関数の掛かる範囲の終了コード「ＥＸ」の位置から当該２Ｄ関数までの数式部分（図７（Ａ１）の場合に「√２」）がひと固まりの数式部分として認識処理される（ステップＡ１５）。
【００６１】
さらに、同様に前記カーソルＣｕ以前の数式を遡って、数値のみの数式部分および文字のみの数式部分（この場合は「１２３」）が、それぞれひと固まりの数式部分として認識処理される（ステップＡ１６）。
【００６２】
そして、前記同様にカーソルＣｕ以前の数式において、前記ステップＡ１４〜Ａ１６により認識処理された各固まりの数式部分以外に、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在するか否か判断される（ステップＡ１７／Ａ１８）。
【００６３】
ここで、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在すると判断された場合には（ステップＡ１７（Ｙｅｓ）／Ａ１８（Ｙｅｓ））、当該算術記号か区切り記号まで遡った数式部分が前記入力された２Ｄ関数「ａ／ｂ」の分子の範囲として取り込み処理され、その先頭コード「ＦＹ」が付加される（ステップＡ１９）。
【００６４】
すると、前記カーソルＣｕ以後の数式を対象とする数式部分の取り込み処理が前記ステップＡ２〜Ａ１０での取り込み処理と同様にして実行され（ステップＡ２１）、前記ステップＡ１９にて取り込まれた範囲の数式部分を分子とし、当該ステップＡ２１にて取り込まれた範囲の数式部分を分母とした分数式が自然な表記形態で挿入表示される。
【００６５】
すなわち、例えば図７（Ａ１）に示すように、前記ステップＡ１４〜Ａ１６により認識処理された各固まりの数式部分以外に、算術記号「＋」が存在すると判断された場合には（ステップＡ１７（Ｙｅｓ））、図７（Ａ２）に示すように、当該算術記号「＋」までの各固まりの数式部分（この場合は「（１＋２）」「√２」）が前記入力された２Ｄ関数「ａ／ｂ」の分子の範囲として取り込み処理され、その先頭コード「ＦＹ」が付加される（ステップＡ１９）。すると、前記ステップＡ２１（Ａ２〜Ａ１０）の後ろ取り込み処理に従い、前記カーソルＣｕが数式の末尾にあることが確認されることで取り込み不可能と判断され（ステップＡ２（Ｎｏ））、前記ステップＡ１９にて取り込まれた範囲の数式部分（この場合は「（１＋２）」「√２」）を分子とし、分母を入力待機状態として単純挿入した分数式が自然表記形態で表示される。
【００６６】
一方、前記ステップＡ１４〜Ａ１６により認識処理された各固まりの数式部分以外に、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在しないと判断された場合には（ステップＡ１７（Ｎｏ）→Ａ１８（Ｎｏ））、前記各固まりの全ての数式部分か入力バッファ２６の先頭までの各固まりの数式部分が前記入力された２Ｄ関数「ａ／ｂ」の分子の範囲として取り込み処理され、その先頭コード「ＦＹ」が付加される（ステップＡ２０）。
【００６７】
すると、前記カーソルＣｕ以後の数式を対象とする数式部分の取り込み処理が前記ステップＡ２〜Ａ１０での取り込み処理と同様にして実行され（ステップＡ２１）、前記ステップＡ２０にて取り込まれた範囲の数式部分を分子とし、当該ステップＡ２１にて取り込まれた範囲の数式部分を分母とした分数式が自然な表記形態で挿入表示される。
【００６８】
すなわち、例えば図７（Ｂ１）および図８（Ａ）に示すように、前記ステップＡ１４〜Ａ１６により認識処理された各固まりの数式部分（この場合は「１２３」「（１＋２）」）以外に、算術記号（「＋」「−」「×」「÷」）または区切り記号（「：」「，」）が存在しないと判断された場合には（ステップＡ１７（Ｎｏ）→Ａ１８（Ｎｏ））、図７（Ｂ２）および図８（Ｂ）に示すように、前記各固まりの全ての数式部分か入力バッファ２６の先頭までの各固まりの数式部分（この場合は「１２３」「（１＋２）」）が前記入力された２Ｄ関数「ａ／ｂ」の分子の範囲として取り込み処理され、その先頭コード「ＦＹ」が付加される（ステップＡ２０）。すると、前記ステップＡ２１（Ａ２〜Ａ１０）の後ろ取り込み処理に従い、前記カーソルＣｕ以後の数式部分（この場合は２Ｄ関数の固まりである「√２」のみ）が数式終了コードＥＺまでの数式部分として取り込まれ（ステップＡ２→Ａ４〜Ａ８→Ａ１０）、前記ステップＡ２０にて取り込まれた数式先頭までの数式部分（この場合は「１２３」「（１＋２）」）を分子とし、当該ステップＡ２１にて取り込まれた数式終了までの数式部分（この場合は「√２」）を分母とした分数式が自然表記形態で表示される。
【００６９】
したがって、前記構成の自然表示式関数電卓１０による数式入力・計算処理に伴う２Ｄ関数の取り込み入力機能によれば、キー入力表示された数式上の任意の位置にカーソルＣｕを移動表示させた状態で、取り込み入力モードに設定し、「√」「ａ／ｂ」など２Ｄ関数のキーを操作入力すると、当該カーソルＣｕの位置を基準にして前記入力された２Ｄ関数の掛かる（計算対象とする）数式の範囲が、括弧で括られた数式部分や括弧付き関数の数式部分の固まり認識、２Ｄ関数の数式部分の固まり認識、数値や文字の連続する数式部分の固まり認識、および算術記号（「＋」「−」「×」「÷」）や区切り記号（「：」「，」）の存在位置に応じて取り込まれ、前記入力された２Ｄ関数が、数式上正しい最大範囲の数式部分を取り込んで挿入された数式として自然表記形態で表示される。
【００７０】
このため、数式を自然表記形態にして高い表現能力で効果的に表示する関数電卓１０において、上下方向に重なった表示が必要なルート「√」や分数「ａ／ｂ」、べき「Ｅｘｐ」などの関数（２Ｄ(dimension)関数）の取り込み入力に際し、当該関数の掛かる範囲を十分な範囲で取り込み自然表示することができ、ユーザの使い勝手を向上できる。
【００７１】
また、前記構成の自然表示式関数電卓１０による数式入力・計算処理に伴う２Ｄ関数の取り込み入力機能によれば、前記取り込み入力モードにてルート「√」の２Ｄ関数が入力された際に、数式上でのカーソルＣｕの存在位置が当該数式の末尾にあるか又はカーソルＣｕの直後に区切り記号（「：」「，」）がある場合には、前記入力された２Ｄ関数「√」の掛かる（計算対象となる）数式部分はなく、取り込み不可能と判断されるので、前記カーソルＣｕの位置に対応して前記入力された２Ｄ関数「√」がその計算対象の入力待機状態にして挿入されて表示される。
【００７２】
このため、数式上のカーソルＣｕにより指示されるあらゆる位置において、ルート「√」の２Ｄ関数を正しく取り込むことができ、ユーザの使い勝手を向上できる。
【００７３】
また、前記構成の自然表示式関数電卓１０による数式入力・計算処理に伴う２Ｄ関数の取り込み入力機能によれば、前記取り込み入力モードにて分数「ａ／ｂ」の２Ｄ関数が入力された際に、数式上でのカーソルＣｕの存在位置が当該数式の先頭以外にある場合には、当該カーソルＣｕの位置を基準にした前記同様の数式部分の固まり認識および算術記号や区切り記号の存在位置に応じた計算対象の取り込み処理が、当該カーソルＣｕの位置以前にある数式と以後にある数式とのそれぞれに実行され、前記入力された２Ｄ関数「ａ／ｂ」の分子／分母が、数式上正しい最大範囲の数式部分を取り込んで挿入された分数式として自然表記形態で表示される。
【００７４】
このため、数式を自然表記形態にして高い表現能力で効果的に表示する関数電卓１０において、上下方向に重なった表示が必要な分数「ａ／ｂ」の関数（２Ｄ(dimension)関数）の取り込み入力の場合でも、当該２Ｄ関数「ａ／ｂ」の掛かる分子／分母の各数式範囲を十分な範囲で取り込み自然表示することができ、ユーザの使い勝手を向上できる。
【００７５】
また、前記構成の自然表示式関数電卓１０による数式入力・計算処理に伴う２Ｄ関数の取り込み入力機能によれば、前記取り込み入力モードにて分数「ａ／ｂ」の２Ｄ関数が入力された際に、数式上でのカーソルＣｕの存在位置が当該数式の先頭にある場合には、前記入力された２Ｄ関数「ａ／ｂ」の分子となる数式部分はなく、取り込み不可能と判断されるので、前記カーソルＣｕが示す数式の先頭位置に分数記号「／」が挿入され、数式全体を分母とし分子を入力待ち状態にした分数式が自然表示される。
【００７６】
このため、数式上のカーソルＣｕにより指示されるあらゆる位置において、分数「ａ／ｂ」の２Ｄ関数を正しく取り込むことができ、ユーザの使い勝手を向上できる。
【００７７】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【図面の簡単な説明】
【００７８】
【図１】本発明の電子式計算機の実施形態に係る関数電卓１０の外観構成を示す正面図。
【図２】前記関数電卓１０の電子回路の構成を示すブロック図。
【図３】前記関数電卓１０による数式入力・計算処理を示すフローチャート。
【図４】前記関数電卓１０の数式入力・計算処理に伴う取り込み入力処理を示すフローチャート。
【図５】前記関数電卓１０の数式入力・計算処理での「√」（２Ｄ関数）キーの取り込み入力処理に伴う数式の入力表示例を示す図。
【図６】前記図５（Ａ１）（Ａ２）で示した「√」（２Ｄ関数）キーの取り込み入力処理に伴う入力バッファ２６でのキーコードの記憶変化状態を示す図。
【図７】前記関数電卓１０の数式入力・計算処理での「ａ／ｂ」（２Ｄ関数）キーの取り込み入力処理に伴う数式の入力表示例を示す図。
【図８】前記図７（Ｂ１）（Ｂ２）で示した「ａ／ｂ」（２Ｄ関数）キーの取り込み入力処理に伴う入力バッファ２６でのキーコードの記憶変化状態を示す図。
【符号の説明】
【００７９】
１０  …関数電卓
１１  …キー入力部
１２  …数値・演算記号キー群
１３  …関数機能キー群
１４  …モード設定キー群
１５  …カーソルキー
１６  …表示部
２１  …ＣＰＵ
２２  …記憶装置
２３  …ＲＡＭ
２４  …表示データメモリ
２５  …カーソルポインタメモリ
２６  …入力バッファ
Ｃｕ  …カーソル
Ｐ    …ポインタデータ
【図１】
0004525771.tif 000002
【図２】
0004525771.tif 000003
【図３】
0004525771.tif 000004
【図４】
0004525771.tif 000005
【図５】
0004525771.tif 000006
【図６】
0004525771.tif 000007
【図７】
0004525771.tif 000008
【図８】
0004525771.tif 000009