(57)【要約】【課題】数式自然表示する電子式計算機において、例えば１つの２Ｄ関数の範囲内で誤って連続入力してしまった文字列からなる数式を、簡単な操作で所望の数式に修正する。【解決手段】任意の数式入力操作「√」「２」「×」「３」に伴い入力式バッファに入力され表示部１６に表示された数式「√（２×３）」について、カーソルＣｕを前記数式中の乗算コード「×」の位置に移動させて「CUT」（分割）キーを操作すると、カーソルポインタデータＰにて指示された前記数式中のコード「×」が特定の演算子コードであることでＣＵＴ（分割）可能と判断される。そして、前記カーソルポインタデータＰより左側（前方）の数式部分「√２」と右側（後方）の数式部分「√３」とに分割され、前記分割を指示した数式中の乗算子コード「×」により結合された平方根同士の乗算式「√２×√３」に修正されて表示される。【選択図】      図５
2014130620.tif 000002
【特許請求の範囲】
【請求項１】
数式を入力する数式入力手段と、
この数式入力手段により入力された数式を表示部に自然表示形式で表示させる数式表示制御手段と、
この数式表示制御手段により表示された数式に対して、カーソルをユーザ操作に応じ移動可能にして表示させるカーソル表示制御手段と、
ユーザ操作に応じて、前記数式の分割を指示する分割指示手段と、
この分割指示手段により前記数式の分割が指示されたことに応じて、前記カーソル表示制御手段により表示されたカーソルが前記数式表示制御手段により表示された数式の中の特定の演算子の位置にある場合には、当該カーソルより前の数式部分と当該カーソルから後の数式部分とを分割し、当該カーソルが位置する特定の演算子により結合して修正する数式修正手段と、
を備えたことを特徴とする電子式計算機。
【請求項２】
前記入力されて自然表示形式で表示される数式は平方根を含む数式であって、
前記数式修正手段は、１つの平方根の範囲内で入力された数式を対象に、前記カーソルより前の平方根の範囲の数式部分と当該カーソルから後の平方根の範囲の数式部分とに分割して修正することを特徴とする請求項１に記載の電子式計算機。
【請求項３】
前記入力されて自然表示形式で表示される数式は分数を含む数式であって、
前記数式修正手段は、１つの分数の範囲内で入力された数式を対象に、前記カーソルが位置する分母部分の当該カーソルより前の分数の範囲の数式部分と当該カーソルから後の整数の範囲の数式部分とに分割して修正することを特徴とする請求項１に記載の電子式計算機。
【請求項４】
表示部を備えた電子式計算機のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
ユーザ操作に応じて数式を入力する数式入力手段、
この数式入力手段により入力された数式を表示部に自然表示形式で表示させる数式表示制御手段、
この数式表示制御手段により表示された数式に対して、カーソルをユーザ操作に応じ移動可能にして表示させるカーソル表示制御手段、
ユーザ操作に応じて、前記数式の分割を指示する分割指示手段、
この分割指示手段により前記数式の分割が指示されたことに応じて、前記カーソル表示制御手段により表示されたカーソルが前記数式表示制御手段により表示された数式の中の特定の演算子の位置にある場合には、当該カーソルより前の数式部分と当該カーソルから後の数式部分とを分割し、当該カーソルが位置する特定の演算子により結合して修正する数式修正手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された数式や計算結果を教科書通りの自然な表記形態にして表示（自然表示）する電子式計算機およびその制御プログラムに関する。
【背景技術】
【０００２】
従来、電卓と称する電子式計算機において、ユーザによってキー入力された計算式やその計算結果の表記形態は、１行にして表示されるものが多かった。
【０００３】
例えば平方根の計算式を入力する場合、ルート「√」の掛かる範囲を自然表示できないために、当該ルート記号「√」と共に小括弧や中括弧などの記号が組み合わされて入力され、例えば「√（２）」のように１行表示されていた。
【０００４】
また、例えば分数を含む計算式の場合、当該分数記号（割線）を挟んだ分子と分母を上下方向に自然表示できないために、通常分数である「Ｂ分のＡ」は［Ａ」Ｂ］、帯分数である「ＡとＣ分のＢ」は［Ａ」Ｂ」Ｃ］などと、１行表示されていた。
【０００５】
また、例えばべき数を含む計算式の場合も同様に、べき数を当該べき数が掛かる数字や文字の右上に上付文字として自然表示できないために、当該べき数の前にそれがべき数であることを示す「∧」記号が組み合わされて、例えば「ｘ∧２」のように１行表示されていた。
【０００６】
そこで、平方根の計算式の場合には、そのルート記号「√」の横線を当該ルートの掛かる範囲の数字や文字の上まで延長し、また、分数の計算式の場合には、その分子と分母とを割線を境界に上下に配置し、また、べき数を含む計算式の場合には、そのべき数を当該べき数が掛かる数字や文字の右上に上付文字として配置し、それぞれ教科書に記載されるような自然な形式で表示するようにした、ドットマトリクス型表示画面を備えた電卓が考えられている（例えば、特許文献１参照。）。
【０００７】
なお、このように数式を自然な形式として表現するのに上下方向に数字・文字を重ねたりシフトしたりして表示することを２Ｄ(dimension)表示と称し、また、この２Ｄ表示が必要になるルート「√」、分数「ａ／ｂ」、べき数「ｍｎ」などの関数を２Ｄ関数と称する。
【０００８】
そして、前記２Ｄ関数の掛かる範囲がユーザ所望の範囲で入力されるようにした数式自然表示機能を有する関数電卓も考えられている（例えば、特許文献２、特許文献３参照。
）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００６−００４３２６号公報
【特許文献２】特開２００５−１３５０８４号公報
【特許文献３】特開２００９−１９９１７４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
前記従来の数式自然表示が可能な関数電卓において、２Ｄ関数を含む数式の入力中に、その２Ｄ関数を一旦区切り分割して入力しなければならない数式部分を、キー入力を誤って先に出る２Ｄ関数の範囲内に入力してしまうことがある。
【００１１】
具体的には、例えば「√２＋√３」のように、前出の平方根「√２」と、これとは別の後出の平方根「√３」とを加減乗除する二項関数として入力したい場合、正しいキー操作の手順は、前出の平方根の入力開始を指示する「√」キー→「２」→平方根の入力終了を指示する「ＥＸＩＴ」→「＋」→後出の平方根の入力開始を指示する「√」キー→「３」となる。
【００１２】
しかしながら、数式自然表示が可能であるが故に、手早く式を入力した場合に、つい「√」→「２」→「＋」→「３」と誤って、１つ平方根で括られる式「√（２×３）」を入力しがちである。
【００１３】
このような場合、従来の関数電卓では、誤って入力した数式部分の直前の位置まで「ＤＥＬ」（削除）キーを操作しながらカーソルを戻し、改めて正しい入力操作を行わなければならず、非常に面倒な問題がある。
【００１４】
本発明は、このような課題に鑑みなされたもので、例えば１つの２Ｄ関数の範囲内で誤って連続入力してしまった文字列からなる数式を、簡単な操作で所望の数式に修正することが可能になる電子式計算機およびその制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
請求項１に記載の電子式計算機は、
数式を入力する数式入力手段と、
この数式入力手段により入力された数式を表示部に自然表示形式で表示させる数式表示制御手段と、
この数式表示制御手段により表示された数式に対して、カーソルをユーザ操作に応じ移動可能にして表示させるカーソル表示制御手段と、
ユーザ操作に応じて、前記数式の分割を指示する分割指示手段と、
この分割指示手段により前記数式の分割が指示されたことに応じて、前記カーソル表示制御手段により表示されたカーソルが前記数式表示制御手段により表示された数式の中の特定の演算子の位置にある場合には、当該カーソルより前の数式部分と当該カーソルから後の数式部分とを分割し、当該カーソルが位置する特定の演算子により結合して修正する数式修正手段と、
を備えたことを特徴としている。
【００１６】
請求項２に記載の電子式計算機は、前記請求項１に記載の電子式計算機において、
前記入力されて自然表示形式で表示される数式は平方根を含む数式であって、
前記数式修正手段は、１つの平方根の範囲内で入力された数式を対象に、前記カーソルより前の平方根の範囲の数式部分と当該カーソルから後の平方根の範囲の数式部分とに分割して修正することを特徴としている。
【００１７】
請求項３に記載の電子式計算機は、前記請求項１に記載の電子式計算機において、
前記入力されて自然表示形式で表示される数式は分数を含む数式であって、
前記数式修正手段は、１つの分数の範囲内で入力された数式を対象に、前記カーソルが位置する分母部分の当該カーソルより前の分数の範囲の数式部分と当該カーソルから後の整数の範囲の数式部分とに分割して修正することを特徴としている。
【００１８】
請求項４に記載のプログラムは、表示部を備えた電子式計算機のコンピュータを制御するためのプログラムであって、
前記コンピュータを、
ユーザ操作に応じて数式を入力する数式入力手段、
この数式入力手段により入力された数式を表示部に自然表示形式で表示させる数式表示制御手段、
この数式表示制御手段により表示された数式に対して、カーソルをユーザ操作に応じ移動可能にして表示させるカーソル表示制御手段、
ユーザ操作に応じて、前記数式の分割を指示する分割指示手段、
この分割指示手段により前記数式の分割が指示されたことに応じて、前記カーソル表示制御手段により表示されたカーソルが前記数式表示制御手段により表示された数式の中の特定の演算子の位置にある場合には、当該カーソルより前の数式部分と当該カーソルから後の数式部分とを分割し、当該カーソルが位置する特定の演算子により結合して修正する数式修正手段、
として機能させることを特徴としている。
【発明の効果】
【００１９】
本発明によれば、例えば１つの２Ｄ関数の範囲内で誤って連続入力してしまった文字列からなる数式を、簡単な操作で所望の数式に修正することが可能になる電子式計算機およびその制御プログラムを提供できる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態に係る数式自然表示機能を有する電子式計算機（関数電卓）１０の外観構成を示す正面図。
【図２】前記関数電卓１０の電子回路の構成を示すブロック図。
【図３】前記関数電卓１０による数式入力・計算処理を示すフローチャート。
【図４】前記関数電卓１０の数式入力・計算処理に伴うＣＵＴ処理を示すフローチャート。
【図５】前記関数電卓１０の数式入力・計算処理でのＣＵＴ処理に伴う数式の修正表示例（その１）を示す図。
【図６】前記図５における数式の修正表示例（その１）に対応する入力式バッファ２７ｂでのキーコードの記憶変化を示す図。
【図７】前記図５における数式ＣＵＴ処理に伴う数式修正表示例（その１）を応用した学習の有効利用場面を示す図。
【図８】前記関数電卓１０の数式入力・計算処理でのＣＵＴ処理に伴う数式の修正表示例（その２）を示す図である。
【図９】前記図８における数式の修正表示例（その２）に対応する入力式バッファ２７ｂでのキーコードの記憶変化を示す図。
【図１０】前記関数電卓１０の数式入力・計算処理でのＣＵＴ処理に伴う数式の修正表示例（その３）を示す図。
【図１１】前記図１０における数式の修正表示例（その３）に対応する入力式バッファ２７ｂでのキーコードの記憶変化を示す図。
【発明を実施するための形態】
【００２１】
以下図面により本発明の実施の形態について説明する。
【００２２】
図１は、本発明の実施形態に係る数式自然表示機能を有する電子式計算機（関数電卓）１０の外観構成を示す正面図である。
【００２３】
この関数電卓１０は、その携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズからなり、この関数電卓１０の本体正面にはキー入力部１１および表示部１６が設けられる。
【００２４】
キー入力部１１には、数値や数式を入力したり計算の実行を指示したりするための数値・演算記号キー群１２、各種の関数を入力したりメモリ機能を立ち上げたりするための関数機能キー群１３、各種動作モードのメニュー画面を表示させたり動作モードの設定を指示したりするためのモード設定キー群１４、表示部１６に表示されたカーソルＣｕの移動操作やデータ項目の選択操作などを行うためのカーソルキー１５、表示部１６の下端に沿ってメニュー表示される各種の機能を選択的に指定するためのファンクションキーＦ１〜Ｆ４が備えられる。
【００２５】
前記数値・演算記号キー群１２としては、「０」〜「９」（数値）キー、「＋」「−」「×」「÷」（算術記号）キー、「Ｅｘｐ」（指数）キー、「ＥＸＥ」（実行）キー、「ＡＣ」（クリア）キーなどが配列される。
【００２６】
前記関数機能キー群１３としては、「√」（ルート）キー、「ａ／ｂ」（分数）キー、「sin」（サイン）キー、「ｎＰｒ」（順列関数）キー、「Ｍ＋」（メモリプラス）キーなどが配列される。
【００２７】
前記モード設定キー群１４としては、「Menu」（メニュー）キー、「CUT」（分割）キー、「Grph」（グラフ）キー、「Trac」（グラフトレース）キーなどが配列される。ここで、「CUT」キーは、２Ｄ関数の範囲内で誤入力された文字を含む数式を分割された数式に修正するためのキーである。
【００２８】
なお、本実施形態において、「√」（ルート）、「ａ／ｂ」（分数）、「Ｅｘｐ」（べき関数）、「ｎＰｒ」（順列関数）などのように、１行表示では特殊な記号を用いての表示になり、教科書記載の自然表示では数字や関数記号を２次元に展開して上下方向に重なった表示になる関数のことを２Ｄ(dimension)関数と称する。
【００２９】
前記表示部１６は、ドットマトリクス型の液晶表示ユニットからなる。
【００３０】
図２は、前記関数電卓１０の電子回路の構成を示すブロック図である。
【００３１】
この関数電卓１０は、コンピュータである制御部（ＣＰＵ）２１を備えている。
【００３２】
制御部（ＣＰＵ）２１は、記憶装置（フラッシュＲＯＭ）２２に予め記憶されているシステムプログラム、あるいはメモリカードなどの外部記憶媒体２３から記憶媒体読み書き部２４を介して記憶装置２２に読み込まれた計算機制御プログラム、あるいは通信ネットワークＮ上のＷｅｂサーバ（プログラムサーバ）２５から通信制御部２６を介してダウンロードされ前記記憶装置２２に読み込まれた計算機制御プログラムに従い、ＲＡＭ２７を作業用メモリとして回路各部の動作を制御する。そして、前記記憶装置２２に予め記憶されたシステムプログラムや計算機制御プログラムは、キー入力部１１からのキー入力信号に応じて起動される。
【００３３】
前記制御部（ＣＰＵ）２１には、前記記憶装置２２、記憶媒体読み書き部２４、通信制御部２６、ＲＡＭ２７、キー入力部１１が接続される他に、液晶表示部（ＬＣＤ）１６が接続される。
【００３４】
ＲＡＭ２７には、表示データメモリ２７ａ、入力式バッファ２７ｂ、カーソルポインタメモリ２７ｃ、数式記憶エリア２７ｄ、待避バッファ２７ｅなどが確保される。
【００３５】
表示データメモリ２７ａには、前記表示部１６に表示させる数式のデータやその演算結果のデータなどが、前記表示部１６の表示領域に相当するビットマップデータに展開されて記憶される。
【００３６】
入力式バッファ２７ｂ（図６、図９、図１１参照）には、前記キー入力部１１によりキー入力された式を構成するキーコードのデータが順次記憶される。例えば数値キーは数字を示すコードで、「√」「ａ／ｂ」「sin」などの関数キーはその関数を示すコードで、「＋」「−」「×」「÷」などの算術記号キーはその算術記号を示すコードで記憶される。また、この入力式バッファ２７ｂには、キーに対応するコードの他に制御コードも記憶される。例えば、図６、図９、図１１に示されるコードデータのうち、「ＥＸ」は前方にある２Ｄ関数（「√」や「ａ／ｂ」）の取り込み範囲の終了を示すコード、「ＥＺ」は数式の終了を示すコードである。
【００３７】
カーソルポインタメモリ２７ｃ（図６、図９、図１１参照）には、前記入力式バッファ２７ｂにキーコードデータとして記憶されると共に前記表示部１６に表示されたキー入力データを対象にして、カーソルキー１５の操作により移動表示されるカーソルＣｕが位置するところを示すポインタデータＰが記憶される。
【００３８】
数式記憶エリア２７ｄには、前記入力式バッファ２７ｂに入力されて生成された数式のデータが記憶される。
【００３９】
待避バッファ２７ｅには、数式の入力に伴い「CUT」（分割）キーが操作された際に、前記入力式バッファ２７ｂにおいてカーソルＣｕで指示されたポインタＰの位置に存在する数式のコードデータがコピーされて記憶される。
【００４０】
次に、前記構成の数式自然表示機能を有する電子式計算機（関数電卓）１０の数式入力・計算機能について説明する。
【００４１】
図３は、前記関数電卓１０による数式入力・計算処理を示すフローチャートである。
【００４２】
まず、キー入力部１１においてユーザにより所望のキーが操作されると、そのキーデータがＣＰＵ２１に読み込まれる（ステップＳ１）。そして、数字・文字・記号のデータが入力された場合には（ステップＳ２（Ｎｏ）→Ｓ４（Ｙｅｓ））、式入力処理が行われ、当該入力された数字・文字・記号のデータは、そのキーコードとして入力式バッファ２６に順次記憶されると共に、この入力式データに基づいた数式が表示部１６に表示される（ステップＳ５）。
【００４３】
また、カーソルキー１５が入力された場合には（ステップＳ１，Ｓ２（Ｙｅｓ））、当該入力されたカーソルキー１５が示す方向にカーソルポインタメモリ２７ｃに記憶されるポインタデータＰが移動され、前記表示部１６に表示されているカーソルＣｕが移動表示される（ステップＳ３）。
【００４４】
またキー入力部１１において「CUT」（分割）キーが操作された場合は（ステップＳ６（Ｙｅｓ））、ＣＵＴ処理モードになり、詳細を後述するＣＵＴ処理が実行される（ステップＳＡ）。
【００４５】
一方、前記ステップＳ５における式入力処理に従いユーザ任意の数式が入力表示された状態で「ＥＸＥ」（実行）キーが操作されたと判断されると（ステップＳ７（Ｙｅｓ））、入力式バッファ２７ｂに記憶されたキーコードデータが読み出されて演算対象となる数式として問題がないかチェックされる（ステップＳ８）。仮にこのステップＳ８の数式チェックで演算できない問題があると判断されたならばシンタックス・エラーの表示がなされる。前記入力された数式に問題がなければ当該数式は数式記憶エリア２７ｄに記憶されて演算処理が実行され（ステップＳ９）、その演算結果のデータが表示部１６に表示される（ステップＳ１０）。
【００４６】
例えば前記式入力処理により数式の入力と表示が行われ（ステップＳ４，Ｓ５）、当該数式中のユーザ所望の位置にカーソルＣｕが移動表示された状態で（ステップＳ２，Ｓ３）、「CUT」（分割）キーが操作された場合には（ステップＳ６（Ｙｅｓ））、ＣＰＵ２１の動作モードがＣＵＴ処理モードに設定され、図４におけるＣＵＴ処理に移行される（ステップＳＢ）。
【００４７】
図４は、前記関数電卓１０の数式入力・計算処理に伴うＣＵＴ処理を示すフローチャートである。
【００４８】
図５は、前記関数電卓１０の数式入力・計算処理でのＣＵＴ処理に伴う数式の修正表示例（その１）を示す図である。
【００４９】
図６は、前記図５における数式の修正表示例（その１）に対応する入力式バッファ２７ｂでのキーコードの記憶変化を示す図である。
【００５０】
例えば前記式入力処理により、正しくは２つの平方根の乗算式「√２×√３」を入力したいところ、図５（Ａ）に示すように、誤って１つの平方根からなる乗算式「√（２×３）」を入力してしまった場合に（ステップＳ４，Ｓ５）、前記平方根の掛かる範囲を分割するべく、図５（Ｂ）に示すように、１つ目の平方根の範囲の終端文字「２」の直後、つまり乗算子「×」の位置までカーソルＣｕを移動させ（ステップＳ２，Ｓ３）、「CUT」（分割）キーを押下する（ステップＳ６（Ｙｅｓ））。
【００５１】
このとき、図６（Ａ）に示すように、入力式バッファ２７ｂに記憶される数式「√（２×３）」のコードデータの中の演算子コード「×」の位置にカーソルポインタデータＰが移動される。
【００５２】
すると、図４におけるＣＵＴ処理が起動され、先ず、カーソルＣｕの位置でＣＵＴ（分割）可能か否かが、前記カーソルポインタデータＰが位置するコードデータが２Ｄ関数の範囲内での演算子コードや関数コードなどの特定の演算子コードの位置にあるか否かにより判断される（ステップＡ１）。
【００５３】
ここで、前記カーソルポインタデータＰが位置する入力式のコードデータが、２Ｄ関数「√」の範囲内で演算子コード「×」の位置にあることで、カーソルＣｕの位置でＣＵＴ（分割）可能であると判断されると（ステップＡ１（Ｙｅｓ））、当該ポインタデータＰの位置するコード「×」が待避バッファ２７ｅに待避されて記憶される（ステップＡ２）。
【００５４】
そして、入力式バッファ２７ｂのカーソルポインタデータＰの位置よりも左側（前方）の数式部分「√」「２」に続けて、図６（Ｂ）に示すように、終了コード「ＥＸ」が挿入され、１つ目の平方根の掛かる範囲「√２」の終端がマーキングされる（ステップＡ３）。
【００５５】
すると、前記終端マーキングされた１つ目の平方根の掛かる数式部分「√」「２」「ＥＸ」に続けて、前記待避バッファ２７ｅに待避された乗算子コード「×」が挿入されて復帰され（ステップＡ４）、当該復帰されたコード（分割後部の始点となるコード）が加減乗除（＋−×÷）の二項関数であるか否か判断される（ステップＡ５）。
【００５６】
このとき前記カーソルポインタデータＰは、待避バッファ２７ｅから復帰された乗算子コード「×」を指示している。
【００５７】
そして、当該ポインタデータＰにより指示された乗算子コード「×」について、二項関数であると判断されると（ステップＡ５（Ｙｅｓ））、当該二項関数「×」が分割後部の始点とされることなく取り出され（ステップＡ６）、カーソルＣｕの右側（後方）に存在する数式部分について前記１つ目の２Ｄ関数（平方根）と同じ関数で終端マーキング処理される（ステップＡ７）。
【００５８】
具体的には、前記二項関数「×」を含まずにカーソルポインタデータＰよりも右側（後方）に存在する数式部分「３」「ＥＸ」「ＥＺ」を対象に、前記１つ目の２Ｄ関数（平方根）と同じ２Ｄ関数「√」が挿入され、前記二項関数「×」で結合された２つ目の平方根の掛かる数式部分「√」「３」「ＥＸ」「ＥＺ」に分割される（ステップＡ５〜Ａ７）。
【００５９】
これにより、図６（Ｂ）に示すように、入力式バッファ２７ｂには、１つ目の平方根の式「√２」から２つ目の平方根の式「√３」を分割して乗算した数式のコードデータが生成され、図５（Ｃ）に示すように、表示部１６には、当初入力したかった２つの平方根の乗算式「√２×√３」として表示される。
【００６０】
この後、図５（Ｄ）に示すように、「ＥＸＥ」（実行）キーが操作されると（ステップＳ７（Ｙｅｓ））、前記入力式バッファ２７ｂに修正されて記憶されたキーコードデータが読み出されて数式チェック処理（ステップＳ８）、および演算処理が実行され（ステップＳ９）、その演算結果のデータ「√６」が表示部１６に表示される（ステップＳ１０）。
【００６１】
したがって、前記構成の数式自然表示機能を有する電子式計算機（関数電卓）１０の数式入力・計算機能に伴うＣＵＴ処理によれば、任意の数式入力操作「√」「２」「×」「３」に伴い入力式バッファ２７ｂに入力され表示部１６に表示された数式「√（２×３）」について、カーソルＣｕを前記数式中の乗算子コード「×」の位置に移動させて「CUT」（分割）キーを操作すると、カーソルポインタデータＰにて指示された前記数式中のコード「×」が演算子であることでＣＵＴ（分割）可能と判断される。そして、前記カーソルポインタＰより左側（前方）の数式部分「√２」と右側（後方）の数式部分「√３」とに分割され、前記分割を指示した数式中の乗算子コード「×」により結合された平方根同士の乗算式「√２×√３」に修正されて表示される。
【００６２】
このため、１つの２Ｄ関数「√」の範囲内で誤って連続入力してしまった文字列からなる数式「√（２×３）」を、簡単な操作で所望の数式「√２×√３」に修正することが可能になる。
【００６３】
図７は、前記図５における数式ＣＵＴ処理に伴う数式修正表示例（その１）を応用した学習の有効利用場面を示す図である。
【００６４】
これによれば、例えば図７（Ａ１）（Ａ２）に示すように、１つの平方根の範囲で括られた乗算式「√（２×３）」を、２つの平方根に分割した乗算式「√２×√３」に修正した場合には、当該数式を修正する前後においてその演算結果に差異が無いことが分かる。
【００６５】
一方、例えば図７（Ｂ１）（Ｂ２）に示すように、１つの平方根の範囲で括られた加算式「√（２＋３）」を、２つの平方根に分割した加算式「√２＋√３」に修正した場合には、数式を修正する前後においてその演算結果に差異が有ることが分かる。
【００６６】
よって、１つの２Ｄ関数の掛かる範囲内に二項関数の演算子を含んだ数式について、当該二項関数の演算子を分割の基準位置として、同２Ｄ関数の掛かる前方の数式部分と同２Ｄ関数の掛かる後方の数式部分とに分割修正した場合に、その各数式部分を結合する演算子が、乗（除）算子か加（減）算子かの種類によって、数式の分割前後で演算結果が同じになったり異なったりすることを有効に学習することができる。
【００６７】
図８は、前記関数電卓１０の数式入力・計算処理でのＣＵＴ処理に伴う数式の修正表示例（その２）を示す図である。
【００６８】
図９は、前記図８における数式の修正表示例（その２）に対応する入力式バッファ２７ｂでのキーコードの記憶変化を示す図である。
【００６９】
例えば前記式入力処理により、正しくは２つの平方根の乗算式「√２√｛ｓｉｎ（３０）×６｝」を入力したいところ、図８（Ａ）に示すように、誤って１つの平方根からなる乗算式「√｛２ｓｉｎ（３０）×６｝」を入力してしまった場合に（ステップＳ４，Ｓ５）、前記平方根の掛かる範囲を分割するべく、１つ目の平方根の範囲の終端文字「２」の直後、つまり「ｓｉｎ」の位置までカーソルＣｕを移動させ（ステップＳ２，Ｓ３）、「CUT」（分割）キーを押下する（ステップＳ６（Ｙｅｓ））。
【００７０】
このとき、図９（Ａ）に示すように、入力式バッファ２７ｂに記憶される数式「√｛２ｓｉｎ（３０）×６｝」のコードデータの中の三角関数コード「ｓｉｎ」の位置にカーソルポインタデータＰが移動される。
【００７１】
すると、図４におけるＣＵＴ処理が起動され、先ず、カーソルＣｕの位置でＣＵＴ（分割）可能か否かが、前記ポインタデータＰが位置するコードデータが２Ｄ関数の範囲内での演算子コードや関数コードなどの特定の演算子コードの位置にあるか否かにより判断される（ステップＡ１）。
【００７２】
ここで、前記ポインタデータＰが位置する入力式のコードデータが、２Ｄ関数「√」の範囲内で関数コード「ｓｉｎ」の位置にあることで、カーソルＣｕの位置でＣＵＴ（分割）可能であると判断されると（ステップＡ１（Ｙｅｓ））、当該カーソルポインタＰの位置するコード「ｓｉｎ」が待避バッファ２７ｅに待避されて記憶される（ステップＡ２）。
【００７３】
そして、入力式バッファ２７ｂのカーソルポインタデータＰの位置よりも左側（前方）の数式部分「√」「２」に続けて、図９（Ｂ）に示すように、終了コード「ＥＸ」が挿入され、１つ目の平方根の掛かる範囲「√２」の終端がマーキングされる（ステップＡ３）。
【００７４】
すると、前記終端マーキングされた１つ目の平方根の掛かる数式部分「√」「２」「ＥＸ」に続けて、前記待避バッファ２７ｅに待避されたコード「ｓｉｎ」が挿入されて復帰され（ステップＡ４）、当該復帰されたコード（分割後部の始点となるコード）が加減乗除（＋−×÷）の二項関数であるか否か判断される（ステップＡ５）。
【００７５】
このとき前記カーソルポインタデータＰは、待避バッファ２７ｅから復帰されたコード「ｓｉｎ」を指示している。
【００７６】
そして、当該ポインタデータＰにより指示されたコード「ｓｉｎ」について、二項関数でないと判断されると（ステップＡ５（Ｎｏ））、カーソルＣｕから右側（後方）に存在する数式部分について前記１つ目の２Ｄ関数（平方根）と同じ関数で終端マーキング処理される（ステップＡ７）。
【００７７】
具体的には、前記分割開始の始点とした関数コード「ｓｉｎ」を含んでポインタデータＰから右側（後方）に存在する数式部分「ｓｉｎ」「（３０）」「×」「６」「ＥＸ」「ＥＺ」を対象に、前記１つ目の２Ｄ関数（平方根）と同じ２Ｄ関数「√」が挿入され、２つ目の平方根の掛かる数式部分「ｓｉｎ」「（３０）」「×」「６」「ＥＸ」「ＥＺ」に分割される（ステップＡ５（Ｎｏ）→Ａ７）。
【００７８】
これにより、図９（Ｂ）に示すように、入力式バッファ２７ｂには、１つ目の平方根の式「√２」から２つ目の平方根の式「√｛ｓｉｎ（３０）×６｝」を分割した数式のコードデータが生成され、図８（Ｂ）に示すように、表示部１６には、当初入力したかった２つの平方根の連続式「√２√｛ｓｉｎ（３０）×６｝」として表示される。
【００７９】
この後、「ＥＸＥ」（実行）キーが操作されると（ステップＳ７（Ｙｅｓ））、前記入力式バッファ２７ｂに修正されて記憶されたキーコードデータが読み出されて数式チェック処理（ステップＳ８）、および演算処理が実行され（ステップＳ９）、その演算結果のデータ「√６」が表示部１６に表示される（ステップＳ１０）。
【００８０】
したがって、このような場合にも、１つの２Ｄ関数「√」の範囲内で誤って連続入力してしまった文字列からなる数式「√｛２ｓｉｎ（３０）×６｝」を、簡単な操作で所望の数式「√２√｛ｓｉｎ（３０）×６｝」に修正することが可能になる。
【００８１】
図１０は、前記関数電卓１０の数式入力・計算処理でのＣＵＴ処理に伴う数式の修正表示例（その３）を示す図である。
【００８２】
図１１は、前記図１０における数式の修正表示例（その３）に対応する入力式バッファ２７ｂでのキーコードの記憶変化を示す図である。
【００８３】
例えば前記式入力処理により、正しくは分数と整数との加算式「（１／２）＋３」を入力したいところ、図１０（Ａ）に示すように、誤って１つの分数式「１／（２＋３）」として入力してしまった場合に（ステップＳ４，Ｓ５）、その分母「２＋３」にある「＋３」以降を分割するべく、当該分母として残したい「２」の直後、つまり「＋」の位置までカーソルＣｕを移動させ（ステップＳ２，Ｓ３）、「CUT」（分割）キーを押下する（ステップＳ６（Ｙｅｓ））。
【００８４】
このとき、図１１（Ａ）に示すように、入力式バッファ２７ｂに記憶される数式「ａ／ｂ」「（１）／（２＋３）」「ＥＸ」「ＥＺ」のコードデータの中の演算子コード「＋」の位置にカーソルポインタデータＰが移動される。
【００８５】
すると、図４におけるＣＵＴ処理が起動され、先ず、カーソルＣｕの位置でＣＵＴ（分割）可能か否かが、前記ポインタデータＰが位置するコードデータが２Ｄ関数の範囲内での演算子コードや関数コードなどの特定の演算子の位置にあるか否かにより判断される（ステップＡ１）。
【００８６】
ここで、前記カーソルポインタデータＰが位置する入力式のコードデータが、２Ｄ関数「ａ／ｂ」の範囲内で演算子コード「＋」の位置にあることで、カーソルＣｕの位置でＣＵＴ（分割）可能であると判断されると（ステップＡ１（Ｙｅｓ））、当該ポインタデータＰの位置するコード「＋」が待避バッファ２７ｅに待避されて記憶される（ステップＡ２）。
【００８７】
そして、入力式バッファ２７ｂのカーソルポインタデータＰの位置よりも左側（前方）の数式部分「ａ／ｂ」「（１）／（２）」に続けて、図１１（Ｂ）に示すように、終了コード「ＥＸ」が挿入され、分数の掛かる範囲の終端がマーキングされる（ステップＡ３）。
【００８８】
すると、前記終端マーキングされた分数部分「ａ／ｂ」「（１）／（２）」「ＥＸ」に続けて、前記待避バッファ２７ｅに待避されたコード「＋」が挿入されて復帰され（ステップＡ４）、当該復帰されたコード（分割後部の始点となるコード）が加減乗除（＋−×÷）の二項関数であるか否か判断される（ステップＡ５）。
【００８９】
このとき前記カーソルポインタデータＰは、待避バッファ２７ｅから復帰されたコード「＋」を指示している。
【００９０】
そして、当該ポインタデータＰにより指示されたコード「＋」について、二項関数であると判断されると（ステップＡ５（Ｙｅｓ））、当該二項関数「＋」が一旦取り出され（ステップＡ６）、カーソルＣｕの右側（後方）に存在する数式部分について終端マーキング処理される（ステップＡ７）。
【００９１】
具体的には、前記カーソルポインタデータＰよりも右側（後方）に存在する数式部分「３」「ＥＺ」を対象に、前記ステップＡ６にて取り出された二項関数「＋」が挿入され、後方の数式部分「＋」「３」「ＥＺ」に分割される（ステップＡ５〜Ａ７）。
【００９２】
これにより、図１１（Ｂ）に示すように、入力式バッファ２７ｂには、前方の分数式「１／２」と後方の整数「３」とを分割して加算した数式のコードデータが生成され、表示部１６には、当初入力したかった分数と整数との加算式「（１／２）＋３」として表示される。
【００９３】
したがって、このような場合にも、１つの２Ｄ関数「ａ／ｂ」の範囲内で誤って連続入力してしまった文字列からなる数式「１／（２＋３）」を、簡単な操作で所望の数式「（１／２）＋３」に修正することが可能になる。
【００９４】
なお、前記各実施形態（その１〜その３）において記載した関数電卓（電子式計算機）１０による各動作手法、すなわち、図３のフローチャートに示す数式入力・計算処理、図４のフローチャートに示す前記数式入力・計算処理に伴うＣＵＴ処理などの各手法は、コンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶媒体（２３）に格納して配布することができる。そして、関数電卓（電子式計算機）１０のコンピュータ（２１）は、この外部記憶媒体（２３）に記憶されたプログラムを記憶装置（２２）（２７）に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記実施形態において説明した２Ｄ関数を含む数式の簡単分割修正機能を実現し、前述した手法による同様の処理を実行することができる。
【００９５】
また、前記手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク（公衆回線）Ｎ上を伝送させることができ、この通信ネットワークＮに接続された通信装置（２６）によって前記プログラムデータを関数電卓（電子式計算機）１０のコンピュータ（２１）に取り込み、前述した２Ｄ関数を含む数式の簡単分割修正機能を実現することもできる。
【００９６】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が異なる形態にして組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【符号の説明】
【００９７】
１０  …関数電卓（電子式計算機）
１１  …キー入力部
１２  …数字・演算記号キー群
１３  …関数機能キー群
１４  …モード設定キー群
１５  …カーソルキー
１６  …ドットマトリクス型液晶表示部
２１  …制御部（ＣＰＵ）
２２  …記憶装置
２３  …外部記憶媒体
２４  …記憶媒体読み書き部
２５  …Ｗｅｂサーバ
２６  …通信制御部
２７  …ＲＡＭ
２７ａ…表示データメモリ
２７ｂ…入力式バッファ
２７ｃ…カーソルポインタメモリ
２７ｄ…数式記憶エリア
２７ｅ…待避バッファ
Ｎ    …通信ネットワーク
Ｃｕ  …カーソル
Ｐ    …カーソルポインタデータ
【図１】
2014130620.tif 000003
【図２】
2014130620.tif 000004
【図３】
2014130620.tif 000005
【図４】
2014130620.tif 000006
【図５】
2014130620.tif 000007
【図６】
2014130620.tif 000008
【図７】
2014130620.tif 000009
【図８】
2014130620.tif 000010
【図９】
2014130620.tif 000011
【図１０】
2014130620.tif 000012
【図１１】
2014130620.tif 000013