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