(57)【要約】【課題】入力文字に応じてメニュー表示を制御し、関数電卓のファンクションメニューに係る操作仕様の使い勝手をよりよいものにする。【解決手段】入力式に用いられる各演算文字の使用組合せ情報を記憶し、ユーザの操作入力に従って入力された演算文字及び使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示し、メニュー表示された候補演算文字の中から何れかの候補演算文字を選択させて演算文字を入力させるようにした。【選択図】図９
2006065768.tif 000002
【特許請求の範囲】
【請求項１】
入力式に用いられる各演算文字の使用組合せ情報を記憶する記憶手段と、
ユーザの操作入力に従って演算文字を含む入力式を入力する入力手段と、
この入力手段により入力された演算文字及び前記記憶手段に記憶された使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示する表示制御手段と、
を備え、
前記入力手段は、前記表示制御手段によりメニュー表示された候補演算文字の中から何れかの候補演算文字を選択して演算文字を入力するメニュー選択入力手段を有する、
ことを特徴とする入力式入力制御装置。
【請求項２】
前記使用組合せ情報には、相対的に前方に位置する演算文字の種類に対して後方に使用される演算文字に関する情報が含まれ、
前記表示制御手段は、
前記入力手段により入力された演算文字の種類を判別する種類判別手段と、
この種類判別手段により判別された種類及び前記使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示する種類対応メニュー表示制御手段と、
を有する、
ことを特徴とする請求項１に記載の入力式入力制御装置。
【請求項３】
前記各演算文字の入力頻度を記憶する頻度記憶手段を更に備え、
前記表示制御手段は、前記頻度記憶手段に記憶された入力頻度の高い順に候補演算文字をメニュー表示する順序制御手段を有する、
ことを特徴とする請求項１に記載の入力式入力制御装置。
【請求項４】
前記入力手段により入力された演算文字に基づいて、演算前提条件の表示要否を判別する要否判別手段と、
この要否判別手段により表示必要と判別された場合に演算前提条件の表示をする演算前提条件表示制御手段と、
を更に備えることを特徴とする請求項１に記載の入力式入力制御装置。
【請求項５】
前記表示制御手段は、前記入力手段により入力された演算文字のうち、最後に入力された演算文字及び前記使用組合せ情報に基づいて候補演算文字のメニュー表示を行う最終入力演算文字対応メニュー表示制御手段を有することを特徴とする請求項１に記載の入力式入力制御装置。
【請求項６】
前記表示制御手段は、現在入力中の入力式に対して入力済みの演算文字及び前記使用組合せ情報に基づくことで、入力済みの演算文字を基に全体的に判断した候補演算文字のメニュー表示を行う全体判断メニュー表示制御手段を有することを特徴とする請求項１に記載の入力式入力制御装置。
【請求項７】
コンピュータに、
入力式に用いられる各演算文字の使用組合せ情報を記憶する記憶機能と、
ユーザの操作入力に従って演算文字を含む入力式を入力する入力機能と、
この入力機能により入力された演算文字及び前記記憶手段に記憶された使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示する表示制御機能と、
を実現させるためのプログラムであって、
前記入力機能は、前記表示制御機能によりメニュー表示された候補演算文字の中から何れかの候補演算文字を選択して演算文字を入力するメニュー選択入力機能を有するプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力式入力制御装置及びプログラムに関し、例えば、関数電卓に適用して好適なものである。
【背景技術】
【０００２】
従来より、入力式入力制御装置の一種として、方程式計算、行列演算及び複素数演算等の計算機能や、財務計算機能、統計機能といった豊富な機能を備えた、関数電卓と呼ばれる電子計算装置が知られ、技術計算や学習用途等において広く活用されている。
【０００３】
この関数電卓に係る技術として、次のものが知られている。即ち、例えば統計データの回帰分析を行う際、同一の統計データを繰り返し入力し直すことなく容易に異なる種類の回帰グラフを描画表示できるように、表示画面の最下行に各ファンクションキーに対応した回帰グラフメニューを表示し、ファンクションキーへの操作に応じて種々の回帰グラフを作成して表示するようにした技術である（例えば、特許文献１）。
【０００４】
この技術の場合、関数電卓が統計データの回帰分析に係る種々の機能を提供するといった所定の動作モードである間、回帰グラフメニューが表示され、押下されたファンクションキーに対応する回帰グラフを作成するといったファンクション機能の制御が行われる。多くの関数電卓はこのようなファンクション機能を備えている。
【特許文献１】特開平９−１３４４４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、ファンクション機能のメニュー項目として表示すべきコマンド等の数は一般的に相当多く、例えば上述した特許文献１にみられるような、１つの動作モードを通じてメニュー構成が一様である従来の関数電卓においては、ファンクションメニューを次のページへ送る操作を幾度も行う必要が生じる。また、入力し直す場合にも相当に大きな手間が生じる。
【０００６】
このように、関数電卓のファンクションメニューに係る操作仕様は、未だ使い勝手が充分に良いものではないという問題があった。
【０００７】
本発明は以上の問題点に鑑みてなされたもので、入力文字に応じてメニュー構成を適切に制御し、より使い勝手の良い入力式入力制御装置を実現することを目的とする。
【課題を解決するための手段】
【０００８】
かかる課題を解決するため、請求項１に記載の入力式入力制御装置（例えば、図１の関数電卓１）においては、
入力式に用いられる各演算文字の使用組合せ情報を記憶する記憶手段（例えば、図６の候補系統特定表６２ａ，図１３の候補系統特定表６２ｂ）と、
ユーザの操作入力に従って演算文字を含む入力式を入力する入力手段（例えば、図２のＣＰＵ２；図８，１４，１８のステップＡ１３）と、
この入力手段により入力された演算文字及び前記記憶手段に記憶された使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示する表示制御手段（例えば、図２のＣＰＵ２；図８のステップＡ１９〜Ａ３３，Ａ４３，図１４のステップＡ１９〜Ａ２９，Ａ３３，Ｂ３５，Ａ４３，図１８のステップＡ１９〜Ａ３３，Ａ４３）と、
を備え、
前記入力手段は、前記表示制御手段によりメニュー表示された候補演算文字の中から何れかの候補演算文字を選択して演算文字を入力するメニュー選択入力手段（例えば、図２のＣＰＵ２；図８，１４，１８のステップＡ１３）を有する、
ことを特徴とする。
【０００９】
また、請求項２に記載の入力式入力制御装置（例えば、図１の関数電卓１）は、請求項１に記載の入力式入力制御装置において、
前記使用組合せ情報には、相対的に前方に位置する演算文字の種類に対して後方に使用される演算文字に関する情報が含まれ、
前記表示制御手段は、
前記入力手段により入力された演算文字の種類を判別する種類判別手段（例えば、図２のＣＰＵ２；図８，１４，１８のステップＡ２３，Ａ４３）と、
この種類判別手段により判別された種類及び前記使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示する種類対応メニュー表示制御手段（例えば、図２のＣＰＵ２；図８，１８のステップＡ２５，Ａ３３，図１４のステップＡ２５，Ｃ２７，Ａ３３）と、
を有する、
ことを特徴とする。
【００１０】
また、請求項３に記載の入力式入力制御装置（例えば、図１の関数電卓１）は、請求項１に記載の入力式入力制御装置において、
前記各演算文字の入力頻度を記憶する頻度記憶手段（例えば、図７の使用頻度表６３）を更に備え、
前記表示制御手段は、前記頻度記憶手段に記憶された入力頻度の高い順に候補演算文字をメニュー表示する順序制御手段（例えば、図２のＣＰＵ２；図８，１４，１８のステップＡ２１）を有する、
ことを特徴とする。
【００１１】
また、請求項４に記載の入力式入力制御装置（例えば、図１の関数電卓１）は、請求項１に記載の入力式入力制御装置において、
前記入力手段により入力された演算文字に基づいて、演算前提条件の表示要否を判別する要否判別手段（例えば、図２のＣＰＵ２；図１４のステップＢ３１）と、
この要否判別手段により表示必要と判別された場合に演算前提条件の表示をする演算前提条件表示制御手段（例えば、図２のＣＰＵ２；図１４のステップＢ３５）と、
を更に備えることを特徴とする。
【００１２】
また、請求項５に記載の入力式入力制御装置（例えば、図１の関数電卓１）は、請求項１に記載の入力式入力制御装置において、前記表示制御手段は、前記入力手段により入力された演算文字のうち、最後に入力された演算文字及び前記使用組合せ情報に基づいて候補演算文字のメニュー表示を行う最終入力演算文字対応メニュー表示制御手段（例えば、図２のＣＰＵ２；図８のステップＡ１９〜Ａ３３，図１４のステップＡ１９〜Ａ２９，Ａ３３）を有することを特徴とする。
【００１３】
また、請求項６に記載の入力式入力制御装置（例えば、図１の関数電卓１）は、請求項１に記載の入力式入力制御装置において、前記表示制御手段は、現在入力中の入力式に対して入力済みの演算文字及び前記使用組合せ情報に基づくことで、入力済みの演算文字を基に全体的に判断した候補演算文字のメニュー表示を行う全体判断メニュー表示制御手段（例えば、図２のＣＰＵ２；図１８のステップＡ１９〜Ａ３３，図１９のステップＤ１３〜Ｄ２７）を有することを特徴とする。
【００１４】
また、請求項７に記載のプログラムは、
コンピュータ（例えば、図２のＣＰＵ２）に、
入力式に用いられる各演算文字の使用組合せ情報を記憶する記憶機能（例えば、図６の候補系統特定表６２ａ，図１３の候補系統特定表６２ｂ）と、
ユーザの操作入力に従って演算文字を含む入力式を入力する入力機能（例えば、図８，１４，１８のステップＡ１３）と、
この入力機能により入力された演算文字及び前記記憶手段に記憶された使用組合せ情報に基づいて、現在入力中の入力式に用いられる可能性の有る演算文字を候補演算文字としてメニュー表示する表示制御機能（例えば、図８のステップＡ１９〜Ａ３３，Ａ４３，図１４のステップＡ１９〜Ａ２９，Ａ３３，Ｂ３５，Ａ４３，図１８のステップＡ１９〜Ａ３３，Ａ４３）と、
を実現させるためのプログラムであって、
前記入力機能は、前記表示制御機能によりメニュー表示された候補演算文字の中から何れかの候補演算文字を選択して演算文字を入力するメニュー選択入力機能（例えば、図８，１４，１８のステップＡ１３）を有する
ことを特徴とする。
【発明の効果】
【００１５】
請求項１に記載の入力式入力制御装置及び請求項７に記載のプログラムによれば、入力式に用いられる各演算文字の使用組合せ情報が記憶され、ユーザの操作入力に従って入力された演算文字及び使用組合せ情報に基づく、現在入力中の入力式に用いられる可能性のある演算文字が候補演算文字としてメニュー表示され、メニュー表示された候補演算文字の中から何れかの候補演算文字が選択されることで演算文字が入力される。
【００１６】
従ってユーザは、現在入力中の入力式に用いられる可能性のある演算文字でなる候補演算文字の中から何れか一の候補演算文字を選択する要領で入力式の入力を行っていくことができ、より使い勝手の良い入力式入力制御装置が実現される。
【００１７】
また、請求項２に記載の入力式入力制御装置によれば、入力された演算文字の種類が判別され、判別された種類と、相対的に前方に位置する演算文字の種類に対して後方に使用される演算文字に関する情報とに基づいて、現在入力中の入力式に用いられる可能性のある演算文字が候補演算文字としてメニュー表示される。
【００１８】
従ってユーザは、現在入力中の入力式の相対的な前方において用いられる可能性のある種類の演算文字といった、より用いられる可能性のある演算文字でなる候補演算文字の中から何れか一の候補演算文字を選択する要領で入力式の入力を行っていくことができ、より使い勝手の良い入力式入力制御装置が実現される。
【００１９】
また、請求項３に記載の入力式入力制御装置によれば、前記各演算文字の入力頻度が記憶され、記憶された入力頻度の高い順に候補演算文字がメニュー表示される。
【００２０】
従ってユーザは、演算文字の入力頻度の高い順といった、入力される可能性が高いほど選択しやすい順にメニュー表示される候補演算文字の中から何れか一の候補演算文字を選択する要領で入力式の入力を行っていくことができ、より使い勝手の良い入力式入力制御装置が実現される。
【００２１】
また、請求項４に記載の入力式入力制御装置によれば、入力された演算文字に基づいて演算前提条件の表示要否が判別され、表示必要と判別された場合に演算前提条件が表示される。
従って、ユーザは演算前提条件を参照しながら、入力式の入力を行っていくことができ、より使い勝手の良い入力式入力制御装置が実現される。
【００２２】
また、請求項５に記載の入力式入力制御装置によれば、入力された演算文字のうち、最後に入力された演算文字及び使用組合せ情報に基づいて、候補演算文字がメニュー表示される。
ユーザは、かくしてメニュー表示される候補演算文字の中から何れか一の候補演算文字を選択する要領で入力式の入力を行っていくことができ、より使い勝手の良い入力式入力制御装置が実現される。
【００２３】
また、請求項６に記載の入力式入力制御装置によれば、現在入力中の入力式に対して入力済みの演算文字及び使用組合せ情報に基づくことで、入力済みの演算文字を基に全体的に判断した候補演算文字がメニュー表示される。
【００２４】
従って、現在入力中の入力式に用いられる可能性のある演算文字としてより適切な演算文字に限られた候補演算文字がメニュー表示され、ユーザはかかる候補演算文字の中から何れか一の候補演算文字を選択する要領で入力式の入力を行っていくことができ、より使い勝手の良い入力式入力制御装置が実現される。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明を実施するための形態について詳細に説明する。以下においては、本発明を関数電卓に適用した場合について説明するが、本発明を適用可能な形態がこれに限定されるものではない。
【００２６】
１．共通的な構成について
図１及び図２は、各実施の形態における関数電卓１の概観及び回路構成をそれぞれ示す図である。図２に示すように関数電卓１は、ＣＰＵ（Central Processing Unit ）２と、バス９を介して当該ＣＰＵ２に接続される入力部３、表示部４、ＲＡＭ（Random Access Memory）５及びフラッシュＲＯＭ（Read Only Memory）６とを備えて構成されている。
【００２７】
この関数電卓１においては、ユーザが入力部３を介して入力する数値、変数文字、括弧や二項演算等の各演算記号、各算術関数及び行列やベクトルの各演算記号等といった種々の演算要素の組合せで構成される種々の計算式（以下、入力式と呼ぶ。）や、その入力式に係る演算の実行結果が、表示部４上の所定の領域に表示されるようになされている。
なお、以下の説明において、数値を除く演算要素をコマンドと呼ぶこととする。
【００２８】
ＣＰＵ２は、入力される指示に応じて所定のプログラムに基づいた所定の処理を実行し、各機能部への指示やデータの転送等を行い、関数電卓１を統括的に制御する。具体的には、入力部３を介した入力操作等に応じてフラッシュＲＯＭ６に格納された各処理プログラムを読み出し、当該処理プログラムに従って処理を行い、処理結果をＲＡＭ５に保存するとともに表示部４に表示出力する。
【００２９】
入力部３は、図１に示すように、関数電卓１の機能に係る各プログラムの実行や各種情報等の入力に必要な各キーとして、数字文字記号キー部３１、方向キー部３２、演算の実行を行うための演算実行キー３３、処理開始キー３４及びファンクションキー部３５を備えて構成される。
【００３０】
数字文字記号キー部３１は、「ｘ」や「ｔ」といった変数文字、括弧（「（」及び「）」）、加算の記号（「＋」）及び正弦関数（「ｓｉｎ」）等といった種々のコマンドと、各数値とを入力するための諸キーを備えて構成される。
【００３１】
方向キー部３２は、入力式における前方、後方、上方及び下方をそれぞれキートップに表した前キー３２ｂ、後キー３２ｆ、上キー３２ｐ及び下キー３２ｎを備えて構成される。これらは何れも、入力文字等が表示部４において出力表示される位置（入力位置）を明示する入力カーソルを移動させるためのキーとなっている。
【００３２】
即ち、前キー３２ｂ及び後キー３２ｆは、入力カーソルを演算要素１個分、但し可能な限り、それぞれ前方及び後方へ移動させるキーであり、また、上キー３２ｐ及び下キー３２ｎは、入力カーソルを、１行上にある演算要素の直前及び１行下にある演算要素の直後へ、但し可能な限り、それぞれ移動させるキーである。
【００３３】
処理開始キー３４は、各実施の形態の演算処理を開始するためのキーであり、この処理開始キー３４が押下されると、後述する所定の各処理をＣＰＵ２が実行するようになされている。
【００３４】
所定のコマンド等を割り当てられたファンクションキーと呼ばれるキーの集まりであるファンクションキー部３５は、第１〜第６のファンクションキー３５１〜３５６を備えて構成される。この第１〜第６のファンクションキー３５１〜３５６は、それぞれ、後述する第１〜第６の項目４５１〜４５６に表されている所定の機能の実行又は所定のコマンドの入力等を行うためのファンクションキーである（図９参照）。
【００３５】
表示部４は、行方向及び列方向に配列された表示画素でなるＬＣＤ（Liquid Crystal Display）等により構成され、ＣＰＵ２から送信される制御信号に基づいて各種情報を表示する。特に、後述する各実施の形態の演算処理においては、例えば図９（ａ）に示すように、演算表示域４１及びメニュー表示域４５を備えるようにＣＰＵ２によって表示制御される。
【００３６】
演算表示域４１は、ユーザが入力部３を介して入力した入力式を表示し、また、演算実行キー３３が押下された際には、そのときの入力式に係る演算結果を表示するように制御される。
【００３７】
メニュー表示域４５は、コマンド等を表したメニュー項目を表示するように制御される。即ち、同図に示すようにメニュー表示域４５には、所定の処理を経てＣＰＵ２により選択されたメニュー項目である第１の項目４５１、第２の項目４５２、・・・が、それぞれに対応するファンクションキーである第１のファンクションキー３５１、第２のファンクションキー３５２、・・・のそれぞれすぐ上方に表示される。
【００３８】
メニュー表示域４５においては、コマンドを表示しているメニュー項目に対応するファンクションキーが押下されると、そのメニュー項目のコマンドを演算表示域４１の入力カーソルの位置（以下、入力カーソル位置と呼ぶ。）に、入力式における演算要素として表示出力するよう制御される。
【００３９】
また、後に詳述するように、ＣＰＵ２がメニュー表示域４５に表示しようとするコマンド等のメニュー項目（以下、候補項目と呼ぶ。）の内容及び個数は状況に応じて定まり、ＣＰＵ２は候補項目のうち、ファンクションキーの数と同じ６個までのメニュー項目、従って第６の項目４５６までを、メニュー表示域４５に一度に表示する。以下、この表示単位をページと呼ぶこととする。
【００４０】
そして、例えば、図９（ａ）に示すように候補項目が７個以上あり１ページには表示しきれない場合、第６の項目４５６は、ページ送り記号「→」として表示され、候補項目の全体が複数回に分けて表示されるように制御される。ここに、ページ送り記号「→」は、ページを改めて、第５の項目４５５の次以降に表示すべき候補項目を新たなページの第１の項目４５１以降に表示していく機能に対応付けられたメニュー項目とする。
【００４１】
図２に戻り、ＲＡＭ５は、ＣＰＵ２が実行する各種処理プログラムや、これらのプログラムの実行に係るデータ等を一時的に保持する格納領域を備えて構成される。なお、これらの格納領域の詳細については、後述する各実施の形態において説明する。
【００４２】
フラッシュＲＯＭ６は、例えば書換え可能な不揮発性メモリを用いて構成される補助記憶装置であり、各種初期設定やハードウェアの検査、必要なプログラムのロード等を行う為の初期プログラムが格納される。また、フラッシュＲＯＭ６には、それらの他にも関数電卓１の動作に係る各種処理プログラムや種々の機能を実現する為のデータ等が格納される。なお、これらのプログラムやデータ等の詳細については、後述する各実施の形態において説明する。
【００４３】
２．第１の実施の形態
本実施の形態の関数電卓１は、ＲＡＭ５として、図３に示すＲＡＭ５ａを用いて構成される。同図に示すようにＲＡＭ５ａは、入力式５１及び候補コマンド列５２を備えて構成される。
【００４４】
入力式５１は、入力部３を介して入力された入力式を記憶する領域であり、演算表示域４１にユーザが入力中の入力式と一致するように、ＣＰＵ２により制御される。
【００４５】
候補コマンド列５２は、メニュー表示域４５にメニュー項目として表示するコマンド（以下、候補コマンドと呼ぶ。）でなる配列を記憶する領域である。ＣＰＵ２はこの候補コマンド列５２に対して、候補コマンドを次々記憶していったり、候補コマンドの整順を行ったり、また、候補コマンドの絞り込みを行うといったデータ操作の制御を行う。
【００４６】
また、本実施の形態の関数電卓１は、フラッシュＲＯＭ６として、図４に示すフラッシュＲＯＭ６ａを用いて構成される。同図に示すようにフラッシュＲＯＭ６ａは、初期メニューデータ列６０、系統分類表６１、候補系統特定表６２ａ、使用頻度表６３及び第１の演算処理プログラム６４ａを備えて構成される。
【００４７】
初期メニューデータ列６０は、入力カーソルが演算表示域４１の先頭にある初期的状態においてメニュー表示域４５に表示すべき候補項目でなる配列を記憶している。
【００４８】
系統分類表６１は、所定の分類方法に沿って各演算要素を分類記憶するデータテーブルである。例えば図５にそのデータ構造を示すように、この系統分類表６１には、行列系、リスト系、・・・といったコマンドの系統と、その系統に属するコマンドの集まりとでなる系統データが格納されている。また、コマンドに該当しない演算要素を数値として分類するため系統データ６１１を含んで構成されている。
【００４９】
候補系統特定表６２ａは、ある１つの、例えば入力式において着目する所定の演算要素（以下、着目要素と呼ぶ。）の直後に記述してよいコマンドの系統（以下、候補系統と呼ぶ。）を定めるデータテーブルである。
例えば図６にそのデータ構造を示すように、この候補系統特定表６２ａには、着目要素やその着目要素の系統と候補系統とを対応付ける候補系統データが格納されている。
【００５０】
使用頻度表６３は、各コマンドの使用頻度を表す頻度データを記憶するデータテーブルである。例えば図７にそのデータ構造を示すように、この使用頻度表６３には、コマンドと、そのコマンドが入力された度数と、その度数の順位とでなる頻度データが順位の若い順に、即ち使用頻度の高い順に格納されている。
【００５１】
第１の演算処理プログラム６４ａは、本実施の形態の演算処理である第１の演算処理を実現するための処理プログラムである。ＣＰＵ２は、入力部３の処理開始キー３４が押下されると、この第１の演算処理プログラム６４ａを実行することにより、第１の演算処理を行うようになされている。
以下、この第１の演算処理について、図８を用いて詳細に説明する。
【００５２】
処理開始キー３４が押下され、本処理を開始すると、ＣＰＵ２はまず、初期メニューデータ列６０に基づくメニュー項目（以下、初期メニュー項目と呼ぶ。）を表示する（ステップＡ１１）。即ち、ＣＰＵ２は初期メニューデータ列６０の候補項目を先頭から順に、第１の項目４５１、第２の項目４５２、・・・として表示し、必要に応じて候補項目の全体を複数回に分けて表示する制御を行う。
【００５３】
次いでＣＰＵ２は、演算表示域４１への演算要素の入力や、関数電卓１の動作制御に係る諸操作の入力を受け付ける（ステップＡ１３）。
【００５４】
次いでＣＰＵ２は、どのような入力がなされたかを判別する（ステップＡ１５及びＡ１７）。演算要素の入力がなされた場合（ステップＡ１５：「その他」及びステップＡ１７：Ｙｅｓ）、ＣＰＵ２は、入力された演算要素（以下、入力演算要素と呼ぶ。）を演算表示域４１の入力カーソル位置へ追加（又は挿入）出力するとともに、その結果演算表示域４１に表示されている入力式の内容を入力式５１へ記憶する（ステップＡ１９）。因みに、この入力演算要素の出力の際、入力カーソルは入力演算要素の直後へ移るように制御される。
【００５５】
次いでＣＰＵ２は、入力演算要素に応じて使用頻度表６３の更新を行う（ステップＡ２１）。即ちＣＰＵ２は、入力演算要素がコマンドであるならば、まず使用頻度表６３を参照し、入力演算要素に対応する頻度データを特定し、当該頻度データの度数をインクリメントする。また、その結果順位の変動が起こる場合は、順位の変動の起こる各頻度データの順位の値をそれぞれ適切な値に更新する。
【００５６】
次いでＣＰＵ２は、系統分類表６１に基づいて入力演算要素の系統（以下、演算要素系統と呼ぶ。）を判定する（ステップＡ２３）。即ち、ＣＰＵ２は、系統分類表６１を参照し、演算要素の項目に入力演算要素を含む系統データに基づいて演算要素系統を判定する。
【００５７】
次いでＣＰＵ２は、まず、演算要素系統及び候補系統特定表６２ａに基づいて、入力カーソル位置における候補系統を特定する。即ち、演算要素系統を候補系統特定表６２ａにおける着目要素として、この着目要素及びその系統に対応する候補系統を特定する。
そしてＣＰＵ２は、特定した各候補系統に属するコマンドを、系統分類表６１を用いて抽出し、抽出した各コマンドを候補コマンドとして候補コマンド列５２に記憶する（ステップＡ２５）。
【００５８】
かくして、演算要素系統に基づいて抽出された各候補コマンドでなる候補コマンド列５２には、入力演算要素又は後述する直前演算要素の直後に記述してよいコマンドのみが抽出されて記憶されることとなる。このように、本ステップにおいては、入力演算要素や直前演算要素の直後に記述され得ないコマンドを排除し、ユーザが次に入力する可能性の高いコマンドとしてより適切なコマンドを抽出して候補コマンド列５２に記憶するようになされている。
【００５９】
次いでＣＰＵ２は、かかる候補コマンド列５２を使用頻度順に整順する（ステップＡ２９）。即ちＣＰＵ２は、候補コマンド列５２に含まれる各候補コマンドを、使用頻度表６３における順位に基づいて整順し、その結果として得られる候補コマンドの配列を候補コマンド列５２に改めて記憶する。
【００６０】
次いでＣＰＵ２は、候補コマンドが整順された候補コマンド列５２を用いて、メニュー表示域４５の表示を更新し、ステップＡ１３へ戻る（ステップＡ３３）。即ちＣＰＵ２は、候補コマンド列５２の先頭から順に第１の項目４５１、第２の項目４５２、・・・として出力することにより、メニュー表示域４５のメニュー構成を更新する。
【００６１】
この場合ＣＰＵ２は、候補コマンド列５２の候補コマンドが７個以上あるならば、先頭から５個までの候補コマンドを第１の項目４５１から第５の項目４５５として表示し、先述のページ送り記号「→」を第６の項目４５６として表示するといった処理を行うことにより、候補コマンド列５２の候補コマンドを複数ページに分けて出力する制御を行う。
【００６２】
一方ステップＡ１５において、方向キー部３２の何れかのキー（以下、方向キーと呼ぶ。）の押下といった、入力カーソルを他へ移す操作がなされた場合（ステップＡ１５：「方向キー」）、ＣＰＵ２は、まず押下された方向キーに応じた位置へカーソルを移動し、ステップＡ３９へ移行する（ステップＡ３７）。
【００６３】
ステップＡ３９へ移行すると、ＣＰＵ２は、入力カーソルが入力式の先頭にあるか否かを判別する（ステップＡ３９）。入力カーソルが入力式の先頭にある場合（ステップＡ３９：Ｙｅｓ）、ＣＰＵ２はステップＡ１１へ戻る。
【００６４】
一方、入力カーソルが入力式の先頭にない場合（ステップＡ３９：Ｎｏ）、ＣＰＵ２は、系統分類表６１に基づいて、入力カーソルの直前の位置にある演算要素（以下、直前演算要素と呼ぶ。）の系統を再び判定してステップＡ２５へ移行する（ステップＡ４３）。この場合もステップＡ２３と同様に、ＣＰＵ２は、まず系統分類表６１を参照し、演算要素の項目に直前演算要素を含む系統データに基づいて演算要素系統を判定する。
【００６５】
また、ステップＡ１５において、演算実行キー３３の押下がなされた場合（ステップＡ１５：「実行キー」）、入力式５１の演算を実行して本処理を終了する（ステップＡ４５）。
【００６６】
かくして本処理によれば、関数電卓１は、数字文字記号キー部３２及びファンクションキー部３５を介した入力式の入力や、方向キー部３２等を介した入力式の修正を、当該入力式を演算表示域４１に表示しながら受け付け、演算実行キー３３の押下に応じて、そのときの入力式の演算を実行することとなる。
【００６７】
この場合、メニュー表示域４５においては、入力演算要素や直前演算要素の系統に応じて抽出され使用頻度順に整順された候補コマンドを用いたメニュー項目が、入力式中の入力カーソル位置の変化に応じて更新表示されることとなる。
【００６８】
次に、かかる関数電卓１の第１の演算処理に係る操作例（以下、第１の操作例と呼ぶ。）について、主に表示部４における表示の遷移を示す図９を用いて詳細に説明する。
本操作例においては、例えば、それぞれ次式（１）に示すような所定の正方行列Ａ及びこの行列Ａと同じ次数の正則行列Ｂに係るtＡ＋Ｂ-1を求める場合について説明する。
【数１】
2006065768.tif 000003
【００６９】
ユーザが処理開始キー３４を押下し、第１の演算処理が開始されると、関数電卓１はメニュー表示域４５に初期メニュー項目を表示して演算要素等の入力を受け付け、表示部４は、例えば図９（ａ）に示す通りとなる（図８に示すステップＡ１１→Ａ１３に相当）。
【００７０】
このメニュー表示域４５においては、初期メニューデータ列６０に記憶される「Ｌｉｓｔ、Ｍａｔ、ＣＰＬＸ、ＣＡＬＣ、ＮＵＭ、・・・」といった候補項目が、先頭から順に第１の項目４５１、第２の項目４５２、・・・として、対応する第１のファンクションキー３５１、第２のファンクションキー３５２、・・・のすぐ上方に表示されている。
【００７１】
この図９（ａ）に示す状態において、ユーザが所定の操作を経て、行列の転置を表すコマンド「Ｔｒｎ」を演算要素として入力すると、関数電卓１は、入力演算要素「Ｔｒｎ」ａ０１を演算表示域４１に表示し、この入力演算要素「Ｔｒｎ」に応じた各メニュー項目をメニュー表示域４５に表示して次の演算要素等の入力を受け付け、表示画面は、例えば図９（ｂ）に示す通りとなる（図８に示すステップＡ１５（その他）→Ａ１７（Ｙｅｓ）→Ａ１９〜Ａ３３→Ａ１３に相当）。
【００７２】
このメニュー表示域４５においては、候補コマンド列５２に記憶される７個以上の各候補コマンドのうち、まず「Ｍａｔ」、「Ｌｉｓｔ」、「Ｍａｘ」、「Ｉｄｅｎｔ」、「Ｍｉｎ」、・・・といった先頭の５個が先頭から順に第１〜第５の項目４５１〜４５５として、対応する第１〜第５のファンクションキー３５１〜３５５のすぐ上方にそれぞれ表示され、第６のファンクションキー３５６のすぐ上方には、第６の項目４５６として送り記号「→」が表示されている。
【００７３】
この場合の候補コマンド列５２には、入力演算要素「Ｔｒｎ」の直後、即ち入力カーソルａ０２の位置に記述してよい候補コマンドのみが使用頻度順に整順されて記憶され、それらの候補コマンドが、記憶されている順にメニュー表示域４５へ出力される。
【００７４】
即ち、ＣＰＵ２はまず、図５に示す系統分類表６１を参照することにより、コマンド「Ｔｒｎ」の系統を行列操作に係る系統である「行列系」と特定し、次いで図６に示す候補系統特定表６２ａの「行列系」のコマンド「Ｔｒｎ」に応じた候補系統ａ０３を参照することにより、候補系統を「行列系、リスト系、行列名、・・・」と特定する。
【００７５】
次いでＣＰＵ２は、系統分類表６１（図５）を参照し、これら候補系統「行列系」、「リスト系」、「行列名」、・・・それぞれに応じたコマンド群ａ０４、ａ０５、ａ０６、・・・をそれぞれ候補コマンド列５２へ記憶する。かくして、例えば図１０（ａ）にその内容を示すように、候補コマンド列５２は入力演算要素「Ｔｒｎ」の直後に記述してよい候補コマンドのみで構成されることとなる。
【００７６】
次いでＣＰＵ２は、この候補コマンド列５２を、使用頻度表６３を用いて使用頻度順に整順する。かくして、例えば図１０（ｂ）にその内容を示すように、候補コマンド列５２には、入力演算要素「Ｔｒｎ」の直後に記述してよいコマンドのみが使用頻度順に整順されて記憶されることとなる。
【００７７】
また、本操作例の場合、次にユーザが入力すべき演算要素は、行列を表すコマンド「Ｍａｔ」であるが、当該コマンドはメニュー表示域４５の第１の項目４５１として表示されている。従って、ユーザは第１のファンクションキー３５１を押下するという単純な操作のみによって、次に入力すべきコマンド「Ｍａｔ」を入力式中に入力することができる。
【００７８】
次いで、この図９（ｂ）に示す状態において、ユーザが、例えば第１のファンクションキー３５１を押下してコマンド「Ｍａｔ」を演算要素として入力すると、関数電卓１は、入力演算要素「Ｍａｔ」ａ０８を演算表示域４１の入力カーソル位置に追加出力し、メニュー表示域４５の各メニュー項目を、この入力演算要素に応じたメニュー構成に表示更新して次の演算要素等の入力を受け付ける。かくして表示部４には、例えば図９（ｃ）に示すような表示画面が表示される（図８に示すステップＡ１５（その他）→Ａ１７（Ｙｅｓ）→Ａ１９〜Ａ３３→Ａ１３に相当）。
【００７９】
この場合、演算表示域４１には入力演算要素「Ｍａｔ」が追加出力されることにより入力式「Ｔｒｎ  Ｍａｔ」が表示され、入力演算要素「Ｍａｔ」の直後に入力カーソルａ０９が表示されている。
また、メニュー表示域４５においては、先述と同様に、入力演算要素「Ｍａｔ」の直後に記述してよい候補コマンドのうち、使用頻度順による先頭５要素がメニュー表示域４５へ出力されている。
【００８０】
即ちＣＰＵ２は、先述と同様に、まず図５に示す系統分類表６１を参照することにより、コマンド「Ｍａｔ」の系統を「行列系」と特定し、次いで図６に示す候補系統特定表６２ａを参照することにより、「行列系」のコマンド「Ｍａｔ」に応じた候補系統を特定する。この例の場合、候補系統ａ０７が参照され、候補系統は「行列名」のただ１系統に特定される。
【００８１】
次いでＣＰＵ２は、系統分類表６１（図５）を参照し、この候補系統「行列名」に応じたコマンド群ａ０６を候補コマンド列５２へ記憶し、この候補コマンド列５２を使用頻度表６３を用いて使用頻度順に整順し、この整順された候補コマンド列５２に基づいてメニュー表示域４５におけるメニュー構成を更新する。
【００８２】
この例の場合のように、入力演算要素や直前演算要素に対応する候補系統が少なければ、それに応じて整順等の処理対象となる候補コマンドが少なくなる。このように、候補系統の数を絞ることにより処理対象となる候補コマンドの数が適切に減少され、徒に処理時間を費すといったことがない。
【００８３】
ところで、この図９（ｃ）に示す状態において、ユーザが前キー３２ｂを押下すると、関数電卓１は、演算表示域４１の入力カーソルを１演算要素分手前へ戻し、メニュー表示域４５の各メニュー項目を、この入力カーソルの新たな位置における直前演算要素に応じたメニュー構成に表示更新して次の演算要素等の入力を受け付ける。かくして表示部４には、例えば図９（ｄ）に示すような表示画面が表示される（図８に示すステップＡ１５（方向キー）→Ａ３７→Ａ３９（Ｎｏ）→Ａ４３→Ａ２５〜Ａ３３→Ａ１３に相当）。
【００８４】
この場合、入力式として「Ｔｒｎ  Ｍａｔ」を表示する演算表示域４１においては、コマンド「Ｍａｔ」ａ１０の直後の位置にあった入力カーソルが、その１演算要素分手前の位置であるコマンド「Ｔｒｎ」ａ１１の直後の位置ａ１２に表示されている。
そして、メニュー表示域４５においては、直前演算要素「Ｔｒｎ」の直後に記述してよい候補コマンドのうち、使用頻度順による先頭から５つの要素がメニュー表示域４５へ出力され、再びコマンド「Ｔｒｎ」に応じたメニュー構成で各メニュー項目が出力されている。
【００８５】
即ちＣＰＵ２は、まず、図５に示す系統分類表６１を参照することにより、入力カーソルの新たな位置における直前演算要素「Ｔｒｎ」の系統を再び判定して「行列系」と特定する。
【００８６】
そして先述と同様に、以降ＣＰＵ２は、候補系統特定表６２ａ（図６）を参照して候補系統を「行列系、リスト系、行列名、・・・」と特定し、系統分類表６１（図５）を参照してコマンド群ａ０４、ａ０５、ａ０６、・・・をそれぞれ候補コマンド列５２へ記憶し、候補コマンド列５２を使用頻度順に整順し、整順された候補コマンド列５２に基づいてメニュー表示域４５におけるメニュー構成を更新する。
【００８７】
この例に示すように、本実施の形態の関数電卓１は、入力カーソルが入力式の末尾にある場合に限らず、入力カーソルの移動に応じて、直前演算要素の直後に記述してよい候補コマンドによるメニュー構成にてメニュー表示域４５に各メニュー項目を表示することとなる。
【００８８】
かくして、本実施の形態の関数電卓１においては、入力演算要素や直前演算要素の候補系統を記憶し、その候補系統とユーザが入力したコマンド等の演算要素とに基づいて現在入力中の入力式に用いられる可能性のあるコマンドを候補コマンドとしてメニュー表示し、メニュー表示された候補コマンドの中から一つを選択させて入力させるようにしたことにより、ユーザは、入力式に用いる可能性のあるコマンドを、メニュー表示された候補コマンドの中から選択する要領で入力していくことができる。
【００８９】
この場合、入力演算文字や直前演算要素の系統を判別し、その系統と、直後に記述してよいコマンドの系統（候補系統）とに基づいて、現在入力中の入力式に用いられる可能性のあるコマンドをメニュー表示するようにしたことにより、より用いられる可能性の高いコマンドで構成されたメニュー表示を行うことができる。
【００９０】
また、各コマンドの使用頻度を記憶し、使用頻度の高い順に候補コマンドをメニュー表示するようにしたことにより、ユーザが入力する可能性の高いコマンドほど先頭側のページに表示されるといった、より使い勝手の良いメニュー表示を実現することができる。
【００９１】
３．第２の実施の形態
本実施の形態の関数電卓１は、第１の実施の形態における関数電卓１と同様に、例えば、処理開始キー３４が押下されると、本実施の形態の演算処理を開始し、以降、入力位置に応じてメニュー表示域４５のメニュー構成を更新しながら入力式の入力を受け付け、演算実行キー３３の押下に応じて、入力された入力式の演算を実行するようになされている。
【００９２】
以下、本実施の形態における関数電卓１に特徴的な構成について詳述する。その際、上述した第１の実施の形態と同一の構成要素については同一の符号を付し、詳細な説明を省略する。
【００９３】
本実施の形態の関数電卓１は、ＲＡＭ５として、図１１に示すＲＡＭ５ｂを用いて構成される。同図に示すようにＲＡＭ５ｂは、第１の実施の形態におけるＲＡＭ５ｂと同様の入力式５１及び候補コマンド列５２に加え、演算前提条件部５３を備えて構成される。
【００９４】
演算前提条件部５３は、関数電卓１の各演算機能における前提条件（以下、演算前提条件と呼ぶ。）となる各設定情報を管理する記憶領域であり、角度単位の別を表す「Ｒａｄ」、「Ｇｒａｄ」及び「Ｄｅｇ」といった設定を記憶する角度単位５３１や、中心差分による微分係数計算における差分幅の設定値を記憶する差分幅５３２などを備えて構成される。
【００９５】
また、本実施の形態の関数電卓１は、フラッシュＲＯＭ６として、図１２に示すフラッシュＲＯＭ６ｂを用いて構成される。同図に示すようにフラッシュＲＯＭ６ｂは、第１の実施の形態におけるフラッシュＲＯＭ６ａと同様の初期メニューデータ列６０、系統分類表６１及び使用頻度表６３の他、候補系統特定表６２ａに替わる候補系統特定表６２ｂと、本実施の形態の演算処理である第２の演算処理を実現するための第２の演算処理プログラム６４ｂとを備えて構成される。
【００９６】
候補系統特定表６２ｂは、候補系統特定表６２ａと同様の、着目要素やその着目要素の系統に対応する候補系統を記憶するデータテーブルである。例えば図１３にそのデータ構造を示すように、この候補系統特定表６２ｂの場合、各候補系統データは、候補系統特定表６２ａと同様の着目要素やその着目要素の系統に応じた候補系統に加え、着目要素やその着目要素の系統に応じた演算前提条件を表す項目である演算前提条件６２１を有している。
【００９７】
因みに、同図に示す候補系統特定表６２ｂの場合、演算前提条件のない候補系統データにおける演算前提条件６２１の値は「−」として記憶され、これにより、着目要素やその着目要素の系統に応じた演算前提条件の有無が識別され得るようになされている。
【００９８】
第２の演算処理プログラム６４ｂは、本実施の形態の演算処理である第２の演算処理を実現するための処理プログラムである。ＣＰＵ２は、入力部３の処理開始キー３４が押下されると、この第２の演算処理プログラム６４ｂを実行することにより、第２の演算処理を行うようになされている。
以下、この第２の演算処理について、図１４を用いて詳細に説明する。
【００９９】
処理開始キー３４が押下され、本処理を開始すると、ＣＰＵ２は、第１の演算処理と同様のステップＡ１１〜Ａ２９を行い、ステップＢ３１へ移行する。
【０１００】
ステップＢ３１へ移行するとＣＰＵ２は、入力演算要素又は直前演算要素といった着目要素やその演算要素系統に演算前提条件があるか否かを判別する（ステップＢ３１）。この場合ＣＰＵ２は、候補系統特定表６２ｂを参照し、着目要素やその演算要素系統に対応する演算前提条件６２１により、演算前提条件があるか否かを判別する。
【０１０１】
演算前提条件がない場合（ステップＢ３１：Ｎｏ）、ＣＰＵ２は第１の演算処理の場合と同様のステップＡ３３を行うことによりメニュー表示域４５のメニュー構成を更新してステップＡ１３へ戻る（ステップＡ３３）。
【０１０２】
一方、演算前提条件がある場合（ステップＢ３１：Ｙｅｓ）、ＣＰＵ２は、その演算前提条件の内容をＲＡＭ５ｂの演算前提条件部５３から読み出し、メニュー表示域４５における第１の項目４５１として出力し、以下、候補コマンド列５２の先頭から順に第２の項目４５２、第３の項目４５３、・・・として出力することにより、メニュー表示域４５のメニュー構成を更新してステップＡ１３へ戻る（ステップＢ３５）。
【０１０３】
そしてステップＡ１３へ移行すると、以降ＣＰＵ２は、第１の演算処理と同様にステップＡ１３以降を行う。
【０１０４】
かくして本処理によれば、入力式中の入力カーソル位置の変化に応じてメニュー表示域４５が更新表示される際、入力演算要素や直前演算要素の系統に応じた演算前提条件が第１の項目４５１として表示されることとなる。
【０１０５】
次に、かかる関数電卓１の第２の演算処理に係る操作例（以下、第２の操作例と呼ぶ。）について、主に表示部４における表示の遷移を示す図９（ａ）及び図１５を用いて詳細に説明する。
本操作例においては、例えば次式（２）に示す積分値ｓを求める場合について説明する。
【数２】
2006065768.tif 000004
【０１０６】
ユーザが処理開始キー３４を押下し、第２の演算処理が開始されると、関数電卓１はメニュー表示域４５に初期メニュー項目を表示して演算要素等の入力を受け付ける。かくして第１の操作例の場合と同様に、表示部４には図９（ａ）に示すような表示画面が表示される（図１４に示すステップＡ１１→Ａ１３に相当）。
【０１０７】
この図９（ａ）に示す状態において、ユーザが所定の操作を経て、関数の０〜πにおける定積分を表すコマンドである、次式（３）に示す積分記号を演算要素として入力すると、関数電卓１は、この入力演算要素に応じた各メニュー項目をメニュー表示域４５に表示して次の演算要素等の入力を受け付ける。
【数３】
2006065768.tif 000005
【０１０８】
かくして表示部４には、例えば図１５（ａ）に示すような表示画面が表示される（図１４に示すステップＡ１５（その他）→Ａ１７（Ｙｅｓ）→Ａ１９〜Ａ２９→Ｂ３１（Ｎｏ）→Ａ３３→Ａ１３に相当）。
このメニュー表示域４５においては、メニュー表示域４５の第３の項目４５３として、次にユーザが入力すべき演算要素である、正弦関数を表すコマンド「ｓｉｎ」が表示されている。
【０１０９】
次いで、この図１５（ａ）に示す状態において、ユーザが、例えば第３のファンクションキー３５３を押下してコマンド「ｓｉｎ」を演算要素として入力すると、関数電卓１は、入力演算要素「ｓｉｎ」ｂ０１を演算表示域４１の入力カーソル位置に追加出力し、メニュー表示域４５の各メニュー項目を、この入力演算要素に応じたメニュー構成に表示更新して次の演算要素等の入力を受け付ける。かくして表示部４には、例えば図１５（ｂ）に示すような表示画面が表示される（図１４に示すステップＡ１５（その他）→Ａ１７（Ｙｅｓ）→Ａ１９〜Ａ２９→Ｂ３１（Ｙｅｓ）→Ｂ３５→Ａ１３に相当）。
【０１１０】
この場合、入力演算要素がコマンド「ｓｉｎ」であることにより、メニュー表示域４５においては、コマンド「ｓｉｎ」に係る演算前提条件であり角度単位を表す「Ｒａｄ」が第１の項目４５１として表示されている。
【０１１１】
即ちＣＰＵ２は、まず先述と同様にして、入力演算要素「ｓｉｎ」の直後に記述してよい候補コマンドを使用頻度順に整順して候補コマンド列５２へ記憶し、次いで、候補系統特定表６２ｂにおけるコマンド「ｓｉｎ」の候補系統データｂ０２を参照することにより、入力演算要素に「角度単位」という演算前提条件があることを判別する。
【０１１２】
そしてＣＰＵ２は、その演算前提条件の内容を演算前提条件部５３の角度単位５３１から読み出して第１の項目４５１として出力する。また、候補コマンド列５２を使用頻度順に整順し、候補コマンドを先頭から順に第２の項目４５２、第３の項目４５３、・・・として出力する。
【０１１３】
この例に示すように、本実施の形態の関数電卓１は、入力演算要素や直前演算要素の演算前提条件を表示必要と判別した場合、その演算前提条件の内容を演算前提条件部５３から読み出して第１の項目４５１として出力する。
【０１１４】
このように、本実施の形態の関数電卓１においては、入力演算文字や直前演算文字の演算前提条件の表示要否を判別し、必要と判別された場合にその演算前提条件を表示するようにしたことにより、ユーザは演算前提条件を参照しながら入力式の入力を行っていくことができる。
【０１１５】
４．第３の実施の形態
本実施の形態の関数電卓１もまた、第１の実施の形態における関数電卓１と同様に、例えば、処理開始キー３４が押下されると、本実施の形態の演算処理を開始し、以降、入力位置に応じてメニュー表示域４５のメニュー構成を更新しながら入力式の入力を受け付け、演算実行キー３３の押下に応じて、入力された入力式の演算を実行するようになされている。
【０１１６】
以下、本実施の形態における関数電卓１に特徴的な構成について詳述する。その際、上述した第１の実施の形態と同一の構成要素については同一の符号を付し、詳細な説明を省略する。
【０１１７】
本実施の形態の関数電卓１は、ＲＡＭ５として、図１６に示すＲＡＭ５ｃを用いて構成される。同図に示すようにＲＡＭ５ｃは、第１の実施の形態におけるＲＡＭ５ａと同様の入力式５１及び候補コマンド列５２に加え、着目位置５４および抽出コマンド列５５を備えて構成される。
【０１１８】
着目位置５４は、後述する候補コマンド絞込み処理において着目する、入力式中の所定の位置を表す情報を記憶する領域である。この場合、着目位置５４には、演算要素の直後や入力式の先頭といった、入力カーソル位置となり得る位置の、例えば入力式の先頭からの文字数が記憶される。
【０１１９】
抽出コマンド列５５は、後述する候補コマンド絞込み処理において、後述する着目位置直前演算要素の後方に記述してよいコマンド群が記憶される。
【０１２０】
また、本実施の形態の関数電卓１は、フラッシュＲＯＭ６として、図１７に示すフラッシュＲＯＭ６ｃを用いて構成される。同図に示すようにフラッシュＲＯＭ６ｃは、第１の実施の形態におけるフラッシュＲＯＭ６ａと同様の初期メニューデータ列６０、系統分類表６１、候補系統特定表６２ａ及び使用頻度表６３の他、本実施の形態の演算処理である第３の演算処理を実現するための第３の演算処理プログラム６４ｃ及び候補コマンド絞込み処理プログラム６５を備えて構成される。
【０１２１】
第３の演算処理プログラム６４ｃは、本実施の形態の演算処理である第３の演算処理を実現するための処理プログラムである。ＣＰＵ２は、入力部３の処理開始キー３４が押下されると、この第３の演算処理プログラム６４ｃを実行することにより、第３の演算処理を行うようになされている。
【０１２２】
また、ＣＰＵ２はこの第３の演算処理の必要に応じて、候補コマンド絞込み処理プログラム６５を実行することにより、第３の演算処理に従属する候補コマンド絞込み処理を行うようになされている。
【０１２３】
以下、この第３の演算処理及び候補コマンド絞込み処理について、図１８及び図１９を用いて詳細に説明する。
【０１２４】
処理開始キー３４が押下され、第３の演算処理を開始すると、ＣＰＵ２は、第１の演算処理と同様のステップＡ１１〜Ａ２５（図１８）を行い、ステップＣ２７へ移行し、図１９に示す候補コマンド絞込み処理を行う。従ってこの場合、入力演算要素や直前演算要素の直後に記述してよいコマンドのみが抽出されて候補コマンド列５２に記憶されている状態で候補コマンド絞込み処理が行われることとなる。
【０１２５】
同図に示すように、候補コマンド絞込み処理を開始すると、ＣＰＵ２は、現在の入力カーソル位置を着目位置５４に記憶する（ステップＤ１３）。具体的には、入力式における入力カーソル位置を表す値を着目位置５４に記憶する。なお、入力式において着目位置５４で表される位置を、以下、着目位置と呼ぶこととする。
【０１２６】
次いでＣＰＵ２は、着目位置を入力式前方の演算要素直後の位置へ移動する（ステップＤ１５）。具体的には、着目位置５４に記憶される位置の値を着目位置にある演算要素に応じて、所定演算要素分減じる。
【０１２７】
次いでＣＰＵ２は、着目位置の直前の演算要素（以下、着目位置直前演算要素と呼ぶ。）の系統を、系統分類表６１を用いて判定する（ステップＤ１７）。即ち、この場合ＣＰＵ２は、ステップＡ２３と同様に、系統分類表６１を参照し、演算要素の項目に着目位置直前演算要素を含む系統データにより演算要素系統を判定する。
【０１２８】
次いでＣＰＵ２は、この着目位置直前演算要素の後方に記述してよいコマンドを抽出して抽出コマンド列５５に記憶する（ステップＤ１９）。即ちＣＰＵ２は、まず候補系統特定表６２ａを用いて着目位置における候補系統を特定し、そして特定した各候補系統に属するコマンドを、系統分類表６１を用いて抽出し、抽出した各コマンドを抽出コマンド列５５に記憶する。
【０１２９】
そしてＣＰＵ２は、抽出コマンド列５５と候補コマンド列５２との共通要素を抽出し、かかる共通要素を候補コマンド列５２として新たに記憶する。（ステップＤ２１）。即ち、候補コマンド列５２の候補コマンドのうち抽出コマンド列５５にもあるコマンドのみを残すように候補コマンド列５２を更新する。
【０１３０】
従って本ステップによれば、殆どの場合、候補コマンド列５２に含まれる候補コマンドの個数が確実に減少し、ユーザが次に入力する可能性のより高い候補コマンドが残ることとなる。かくして候補コマンド列５２の候補コマンド群は、かかる本ステップが繰り返し行われることにより、ユーザが次に入力する可能性の高い候補コマンドとしてより適切な候補コマンドに絞り込まれていくこととなる。
【０１３１】
次いでＣＰＵ２は、候補コマンド列５２の候補コマンドが充分に絞り込まれるまで、上述のステップＤ１５〜Ｄ２１を繰り返す。即ちＣＰＵ２は、まず、本処理における繰り返しが所定回数に達したか否かを判別し（ステップＤ２３）、達していなければ（ステップＤ２３：Ｎｏ）、徐々に入力式前方へ移動されていく着目位置が入力式の先頭に達したか否かを判別し（ステップＤ２５）、達していなければ（ステップＤ２５：Ｎｏ）、候補コマンド列５２の候補コマンドが５個以内に絞られたか否かを判別し（ステップＤ２５）、候補コマンドが５個以内に絞られていなければ（ステップＤ２５：Ｎｏ）、ステップＤ１５へ戻る。
【０１３２】
そして、本処理における繰り返しが所定回数に達した場合（ステップＤ２３：Ｙｅｓ）、着目位置が入力式の先頭に達した場合（ステップＤ２５：Ｙｅｓ）、又は、候補コマンドが５個以内に絞られた場合（ステップＤ２７：Ｙｅｓ）、本処理を終了して第３の演算処理のステップＡ２９（図１８）へ戻る。
【０１３３】
かくして、入力演算要素や直前演算要素に基づいて抽出された各候補コマンドでなる候補コマンド列５２は、この候補コマンド絞込み処理を経て、更に適切で個数の少ない候補コマンドに絞り込まれることとなる。
【０１３４】
そして第３の演算処理のステップＡ２９へ移行すると、以降ＣＰＵ２は、第１の演算処理と同様にステップＡ２９以降を行う。
【０１３５】
かくして、第３の演算処理及び候補コマンド絞込み処理によれば、入力式中の入力カーソル位置の変化に応じてメニュー表示域４５のメニュー項目が更新表示される際、入力演算要素や直前演算要素の系統のみでなく、それらの演算要素より前方の演算要素にも応じた、より適切で個数の少ない候補コマンドを用いたメニュー項目が表示されることとなる。
【０１３６】
次に、かかる関数電卓１の第３の演算処理及び候補コマンド絞込み処理に係る操作例（以下、第３の操作例と呼ぶ。）について、主に表示部４における表示の遷移を示す図９（ａ）及び図２０を用いて詳細に説明する。
【０１３７】
本操作例においては、例えば次式（４）に示す微分係数を求める場合について説明する。この場合、本実施の形態の関数電卓１においては、ユーザは微分係数計算を表すコマンドである「ｄ／ｄｘ（」を用いて、入力式として「ｄ／ｄｘ（２ｘ＋１，ｘ，３）」を入力することとする。
【数４】
2006065768.tif 000006
【０１３８】
ユーザが処理開始キー３４を押下し、第３の演算処理が開始されると、関数電卓１はメニュー表示域４５に初期メニュー項目を表示して演算要素等の入力を受け付け、第１の操作例の場合と同様に、表示部４には図９（ａ）に示すような表示画面が表示される（図１８に示すステップＡ１１→Ａ１３に相当）。
【０１３９】
ここで、この図９（ａ）に示す状態において、例えば図２０に示すように、演算表示域４１において、ユーザが所定の操作を経て「ｄ／ｄｘ（２ｘ＋１，」までの入力式を入力した場合について考える。
【０１４０】
まずＣＰＵ２は、入力カーソル位置ｃ１の直前の演算要素であるコマンド「，」の直後に記述してよいコマンドを抽出して候補コマンド列５２へ記憶する。かくして候補コマンド列５２の内容は、例えば図２１（ａ）に示す通りとなる（図１８に示すステップＡ１３〜Ａ２５に相当）。
【０１４１】
ところでこの場合、図６に示す候補系統特定表６２ａのコマンド「，」に応じた候補系統ｃ０２は、「行列系，リスト系，行列名，・・・，三角関数，パラメタ変数，区切り記号，・・・」といったように相当多く、図２１（ａ）に示す候補コマンド列５２においては、これらの相当多い候補系統に応じた相当多くの候補コマンドが格納されている。
【０１４２】
次いでＣＰＵ２は、入力カーソル位置ｃ０１より手前にある演算要素の直後の位置である着目位置ｃ０３を着目位置とし、着目位置直前演算要素であるコマンド「ｄ／ｄｘ（」の後方に記述してよいコマンドを抽出して抽出コマンド列５５に記憶する。かくして抽出コマンド列５５の内容は、例えば図２２に示す通りとなる（図１９に示すステップＤ１３〜Ｄ１９に相当）。
【０１４３】
そしてＣＰＵ２は、抽出コマンド列５５と候補コマンド列５２との共通要素を候補コマンド列５２として新たに記憶し、かくして候補コマンド列５２の内容は、例えば図２１（ｂ）に示す通りとなる（図１９に示すステップＤ２１に相当）。
【０１４４】
そして関数電卓１は、かかる候補コマンド列５２に基づくメニュー項目をメニュー表示域４５に表示し、かくして、表示部４には図２０に示すような表示画面が表示される（図１８に示すステップＡ２９→Ａ３３→Ａ１３に相当）。
【０１４５】
このメニュー表示域４５においては、第１の項目４５１としてのコマンド「ｘ」及び第２の項目４５２としてコマンド「，」が表示されるのみとなり、例えばコマンド「，」の直後に記述してよいコマンド（図２１（ａ）参照）に基づいてメニュー項目を表示する場合に比べて、格段にメニュー項目が絞り込まれたメニュー構成で表示されている。
【０１４６】
かくして、本実施の形態の関数電卓１においては、入力演算要素の後方に用いられる可能性のあるコマンドを、入力演算要素の幾らか前方の演算要素にも亘って抽出し、候補コマンドを絞り込むようにしたことにより、格段にメニュー項目が絞り込まれたメニュー構成でメニュー表示を行うことができる。ユーザはそのような、より少ない候補コマンドから１つを選択する要領で入力式を入力できるから、より使い勝手の良いメニュー表示が実現される。
【０１４７】
５．変形例
なお、上述した各実施の形態においては、使用頻度表を格納するための書換え可能な補助記憶装置としてフラッシュＲＯＭを用いるようにしたが、本発明はこれに限らず、例えば、ＲＡＭに使用頻度表を記憶し、電源オフ時にＲＡＭを低電力動作させて記憶内容を保持するようにしても良い。加えて更に、各種初期設定や各プログラムを、フラッシュＲＯＭに替え、通常のＲＯＭに格納するようにしても良い。
この場合、入力式入力制御装置をより安価に構成することができる。
【０１４８】
また、上述した各実施の形態においては、本発明を関数電卓に適用した場合について説明したが、これに限らず、例えば、電子辞書、携帯電話機、パソコン、電子時計、ＰＤＡ（Personal Digital Assistants ）等といった電子機器全般に適用することが可能である。
【図面の簡単な説明】
【０１４９】
【図１】本発明を適用した実施の形態の関数電卓の概観を示す略線図である。
【図２】関数電卓の回路構成を示すブロック図である。
【図３】第１の実施の形態におけるＲＡＭの構成を示す図である。
【図４】第１の実施の形態におけるＲＯＭの構成を示す図である。
【図５】系統分類表の構成を示す図である。
【図６】第１及び第３の実施の形態における候補系統特定表の構成を示す図である。
【図７】使用頻度表の説明に供する図である。
【図８】第１の演算処理の処理フローを示す図である。
【図９】第１の操作例における表示部近傍を示す図である。
【図１０】第１の操作例における候補コマンド列を示す図である。
【図１１】第２の実施の形態におけるＲＡＭの構成を示す図である。
【図１２】第２の実施の形態におけるＲＯＭの構成を示す図である。
【図１３】第２の実施の形態における候補系統特定表の構成を示す図である。
【図１４】第２の演算処理の処理フローを示す図である。
【図１５】第２の操作例における表示部近傍を示す図である。
【図１６】第３の実施の形態におけるＲＡＭの構成を示す図である。
【図１７】第３の実施の形態におけるＲＯＭの構成を示す図である。
【図１８】第３の演算処理の処理フローを示す図である。
【図１９】候補コマンド絞込み処理プログラムの処理フローを示す図である。
【図２０】第３の操作例における表示部近傍を示す図である。
【図２１】第３の操作例における候補コマンド列を示す図である。
【図２２】第１の操作例における抽出コマンド列を示す図である。
【符号の説明】
【０１５０】
１  関数電卓
２  ＣＰＵ
５１  入力式
５２  候補コマンド列
５３  演算前提条件部
６１  系統分類表
６２１  演算前提条件
６２ａ，６２ｂ  候補系統特定表
６３  使用頻度表
【図１】
2006065768.tif 000007
【図２】
2006065768.tif 000008
【図３】
2006065768.tif 000009
【図４】
2006065768.tif 000010
【図５】
2006065768.tif 000011
【図６】
2006065768.tif 000012
【図７】
2006065768.tif 000013
【図８】
2006065768.tif 000014
【図９】
2006065768.tif 000015
【図１０】
2006065768.tif 000016
【図１１】
2006065768.tif 000017
【図１２】
2006065768.tif 000018
【図１３】
2006065768.tif 000019
【図１４】
2006065768.tif 000020
【図１５】
2006065768.tif 000021
【図１６】
2006065768.tif 000022
【図１７】
2006065768.tif 000023
【図１８】
2006065768.tif 000024
【図１９】
2006065768.tif 000025
【図２０】
2006065768.tif 000026
【図２１】
2006065768.tif 000027
【図２２】
2006065768.tif 000028