(57)【要約】【課題】入力された計算プログラムを表示する電子式計算機において、プログラムの入力中あるいは編集中におけるプログラム部分が何れの命令部分にあるかを明確に確認する。【解決手段】プログラムデータ先頭からカーソルＣ位置までのデータを順次取得してプログラム命令の先頭コマンドであるか否かおよび同プログラム命令の終了コマンドであるかを判断し、先頭コマンド（例えば「Ｆｏｒ」）であると判断された場合には当該コマンド（シンボル）「Ｆｏｒ」を示すフラグをセットし、また終了コマンド（例えば「Ｎｅｘｔ」）であると判断された場合には対応するコマンド（シンボル）「Ｆｏｒ」を示すフラグを消去して前記カーソルＣの位置に対応したプログラム命令の内容を判定保持する。そして、セットされているフラグが示すコマンド（シンボル）「Ｆｏｒ」２１を表示させることで、当該カーソルＣの位置に対応したプログラム命令の内容をユーザ報知する。【選択図】      図６
2008165522.tif 000002
【特許請求の範囲】
【請求項１】
表示部上のカーソルをユーザ操作に応じて移動表示可能なカーソル表示制御手段を備えた電子式計算機であって、
ループ処理命令または条件分岐処理命令を含む一連の計算命令を入力する計算命令入力手段と、
この計算命令入力手段により入力された計算命令を前記表示部上のカーソル位置に応じて表示させる計算命令表示制御手段と、
前記計算命令入力手段により入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断する命令範囲判断手段と、
この命令範囲判断手段によるループ処理命令または条件分岐処理命令の範囲の判断に基づいて、前記表示部上のカーソル位置に対応する計算命令の位置がループ処理命令または条件分岐処理命令に対応する位置であるか否かを判定するカーソル位置命令判定手段と、
このカーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置がループ処理命令または条件分岐処理命令に対応する位置であると判定された場合に、当該処理命令を示す表示を行わせる処理命令表示制御手段と、
を備えたことを特徴とする電子式計算機。
【請求項２】
前記処理命令表示制御手段は、前記カーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置が複数の処理命令に対応している位置であると判定された場合には、前記命令範囲判断手段により判断される当該カーソル位置に最も近い範囲の処理命令を示す表示を行わせることを特徴とする請求項１に記載の電子式計算機。
【請求項３】
前記処理命令表示制御手段は、前記カーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置が複数の処理命令に対応している位置であると判定された場合には、当該複数の処理命令を示す表示を行わせることを特徴とする請求項１に記載の電子式計算機。
【請求項４】
前記命令範囲判断手段は、前記カーソル表示制御手段により前記表示部上のカーソルがユーザ操作に応じて移動表示される毎に、前記計算命令入力手段により入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断することを特徴とする請求項１ないし請求項３の何れか１項に記載の電子式計算機。
【請求項５】
前記命令範囲判断手段は、前記計算命令入力手段によりループ処理命令または条件分岐処理命令を含む一連の計算命令が入力される毎に、当該入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断することを特徴とする請求項１ないし請求項４の何れか１項に記載の電子式計算機。
【請求項６】
表示部上のカーソルをユーザ操作に応じて移動表示可能なカーソル表示制御手段を備えた電子式計算機のコンピュータを制御するための計算機制御プログラムであって、
前記コンピュータを、
ループ処理命令または条件分岐処理命令を含む一連の計算命令をユーザ操作に応じて入力する計算命令入力手段、
この計算命令入力手段により入力された計算命令を前記表示部上のカーソル位置に応じて表示させる計算命令表示制御手段、
前記計算命令入力手段により入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断する命令範囲判断手段、
この命令範囲判断手段によるループ処理命令または条件分岐処理命令の範囲の判断に基づいて、前記表示部上のカーソル位置に対応する計算命令の位置がループ処理命令または条件分岐処理命令に対応する位置であるか否かを判定するカーソル位置命令判定手段、
このカーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置がループ処理命令または条件分岐処理命令に対応する位置であると判定された場合に、当該処理命令を示す表示を行わせる処理命令表示制御手段、
として機能させるようにしたコンピュータ読み込み可能な計算機制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力された計算プログラムを表示すると共に当該計算プログラムを実行しその実行結果を表示出力する電子式計算機およびその計算機制御プログラムに関する。
【背景技術】
【０００２】
例えばプログラム電卓と称される小型電子式計算機では、単純な四則演算機能だけでなく、様々な種類の関数計算機能やプログラミング計算機能をも有している。
【０００３】
このプログラム電卓によるプログラミング計算処理では、複数のコマンドで構成された命令を使うことでループ処理や分岐処理を行うことができ、例えばループ処理では、Ｆｏｒ文（Ｆｏｒ〜Ｔｏ〜Ｓｔｅｐ〜Ｎｅｘｔ）、Ｗｈｉｌｅ文（Ｗｈｉｌｅ〜ＷｈｉｌｅＥｎｄ）、Ｄｏ文（Ｄｏ〜ＬｐＷｈｉｌｅ）、条件分岐処理では、Ｉｆ文（Ｉｆ〜Ｔｈｅｎ〜Ｅｌｓｅ〜ＩｆＥｎｄ）を使用できる。
【０００４】
Ｆｏｒ文は、設定した初期値から終了値までの間で指定した刻み幅分の繰り返し処理を行う命令であり、その書式は「Ｆｏｒ初期値  Ｔｏ終了値  Ｓｔｅｐ刻み幅；ループさせる処理；Ｎｅｘｔ」、このＦｏｒ文の終了コマンドは「Ｎｅｘｔ」である。
【０００５】
Ｗｈｉｌｅ文は、指定した条件が真の間で繰り返し処理を行う命令であり、その書式は「Ｗｈｉｌｅ条件；ループさせる処理；ＷｈｉｌｅＥｎｄ」、このＷｈｉｌｅ文の終了コマンドは「ＷｈｉｌｅＥｎｄ」である。
【０００６】
Ｄｏ文は、指定した条件が真の間で繰り返し処理を行う命令であり、その書式は「Ｄｏ；ループさせる処理；ＬｐＷｈｉｌｅ条件」、このＤｏ文の終了コマンドは「ＬｐＷｈｉｌｅ条件」である。
【０００７】
Ｉｆ文は、分岐条件が真の時は「Ｔｈｅｎ」以降の処理を、偽の時は「Ｅｌｓｅ」以降の処理を行う命令であり、その書式は「Ｉｆ条件  Ｔｈｅｎ真の時の処理  Ｅｌｓｅ偽の時の処理  ＩｆＥｎｄ」、このＩｆ文の終了コマンドは「ＩｆＥｎｄ」である。
【０００８】
従来、このようなプログラム電卓において、複数のコマンドで構成されるループ処理や分岐命令処理を使ったプログラムを入力表示あるいは編集表示すると、その表示エリアが例えば１行表示と小さいために、当該入力中あるいは編集中の位置に直近のプログラム部分しか表示されず、その前後に続くプログラムが表示エリアに収まらずに途切れてしまう。このため、当該入力中あるいは編集中のプログラム部分がどの命令中での処理の中にいるのかが分かり難く、左右キーを操作してプログラムを移動表示させその命令を確認しなければならない問題がある。
【０００９】
一方で、現在の計算モードが何に指定されているかをシンボル表示してユーザに報知する機能を有する従来の電卓として、換算計算を指定する１つの専用指定キーと換算計算であることを示す１つの専用シンボル表示を加えるだけで、キーの個数に依存せずに多数の換算計算機能を数値キーのみで実行することができる関数電卓がある（例えば、特許文献１参照。）。
【特許文献１】特開平０５−３０７５２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記従来の関数電卓に搭載されたシンボル表示機能は、換算計算を指定する１つの専用指定キーにより指定された換算計算モードであることを専用シンボル表記によって表示するだけのものであり、入力中あるいは編集中にあるプログラム部分がどの命令中での処理の中にいるのかが分かるように表記するものとは全く異なり、これを応用して前記従来のプログラム電卓にある問題を解決することはできない。
【００１１】
本発明は、このような課題に鑑みなされたもので、プログラムの入力中あるいは編集中におけるプログラム部分が何れの命令部分にあるかを明確に確認することが可能になる電子式計算機およびその計算機制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明に係る電子式計算機は、表示部上のカーソルをユーザ操作に応じて移動表示可能なカーソル表示制御手段を備えた電子式計算機であって、ループ処理命令または条件分岐処理命令を含む一連の計算命令を入力する計算命令入力手段と、この計算命令入力手段により入力された計算命令を前記表示部上のカーソル位置に応じて表示させる計算命令表示制御手段と、前記計算命令入力手段により入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断する命令範囲判断手段と、この命令範囲判断手段によるループ処理命令または条件分岐処理命令の範囲の判断に基づいて、前記表示部上のカーソル位置に対応する計算命令の位置がループ処理命令または条件分岐処理命令に対応する位置であるか否かを判定するカーソル位置命令判定手段と、このカーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置がループ処理命令または条件分岐処理命令に対応する位置であると判定された場合に、当該処理命令を示す表示を行わせる処理命令表示制御手段とを備えたことを特徴としている。
【００１３】
また、本発明に係る電子式計算機において、前記処理命令表示制御手段は、前記カーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置が複数の処理命令に対応している位置であると判定された場合には、前記命令範囲判断手段により判断される当該カーソル位置に最も近い範囲の処理命令を示す表示を行わせることを特徴としている。
【００１４】
また、本発明に係る電子式計算機において、前記処理命令表示制御手段は、前記カーソル位置命令判定手段により前記カーソル位置に対応する計算命令の位置が複数の処理命令に対応している位置であると判定された場合には、当該複数の処理命令を示す表示を行わせることを特徴としている。
【００１５】
また、本発明に係る電子式計算機において、前記命令範囲判断手段は、前記カーソル表示制御手段により前記表示部上のカーソルがユーザ操作に応じて移動表示される毎に、前記計算命令入力手段により入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断することを特徴としている。
【００１６】
また、本発明に係る電子式計算機において、前記命令範囲判断手段は、前記計算命令入力手段によりループ処理命令または条件分岐処理命令を含む一連の計算命令が入力される毎に、当該入力された計算命令の先頭から前記カーソル位置まで当該計算命令に含まれるループ処理命令または条件分岐処理命令の範囲を判断することを特徴としている。
【発明の効果】
【００１７】
本発明によれば、プログラムの入力中あるいは編集中におけるプログラム部分が何れの命令部分にあるかを明確に確認することが可能になる電子式計算機およびその計算機制御プログラムを提供できる。
【発明を実施するための最良の形態】
【００１８】
以下図面により本発明の実施の形態について説明する。
【００１９】
図１は、本発明の実施形態に係る電子式計算機（プログラム電卓）１０の電子回路の構成を示すブロック図である。
【００２０】
この電子式計算機１０の電子回路は、コンピュータ等からなる制御部（ＣＰＵ）１１を備えている。
【００２１】
制御部（ＣＰＵ）１１は、キー入力部１２から入力されるキー入力データに応じて、ＲＯＭ１４に予め記憶されているシステムプログラムを起動させ、あるいは外部記憶媒体１５に予め記憶されている計算機制御プログラムを記憶媒体読み取り部１６により読み取らせて起動させ、あるいは通信制御部１７によって他のコンピュータ端末から通信ネットワークＮを介して受信された計算機制御プログラムを起動させ、ＲＡＭ１８をワークメモリとして回路各部の動作制御を行なうものである。
【００２２】
この制御部（ＣＰＵ）１１には、前記キー入力部１２、ＲＯＭ１４、ＲＡＭ１８、記録媒体読み取り部１６、通信制御部１７が接続され、また、液晶表示部１３が表示駆動回路１９を介して接続される。
【００２３】
ＲＯＭ１４には、本電子式計算機１０の電子回路における全体の処理を司るシステムプログラムデータが予め記憶されると共に、通常計算モード処理、プログラミング計算モード処理等、各動作モードの選択設定メニュー画面において設定可能なそれぞれの動作モードに対応した制御プログラムデータも予め記憶される。
【００２４】
そして、前記プログラミング計算モード処理を司る制御プログラムデータには、ユーザ入力されるプログラムデータ（計算命令）を新規登録／編集・表示するための制御機能や、当該プログラムデータの新規入力／編集に際してのプログラム表示に伴い当該プログラム上のカーソル位置に対応したプログラム部分が何れの命令部分であるかをその命令先頭のコマンド（Ｆｏｒ，Ｗｈｉｌｅ，Ｄｏ，Ｉｆなど）によりシンボル表示してユーザ報知するための制御機能、入力／編集されたプログラムを実行するための制御機能などが備えられる。
【００２５】
キー入力部１２には、動作モードを選択設定するための「ＭＥＮＵ」キー、任意の計算式を入力したり、任意の計算プログラムを入力・編集したりするための数値・記号・文字入力キー、演算子キー、計算式による計算の実行やプログラムの実行を指示するための「ＥＸＥ」キー、表示画面上での項目選択やカーソルＣ（図６，図８，図１０参照）を移動表示させるためのカーソルキー等が備えられる。
【００２６】
図２は、前記電子式計算機（プログラム電卓）１０のＲＡＭ１８に確保される主要なデータメモリの構成を示す図である。
【００２７】
ＲＡＭ１８には、表示データメモリ１８ａ、モードデータメモリ１８ｂ、入力データメモリ（入力バッファ）１８ｃ、入力式メモリ１８ｄ、式計算結果メモリ１８ｅ、プログラムメモリ１８ｆ、プログラム実行結果メモリ１８ｇ、カーソル位置メモリ１８ｈ、プログラムシンボル設定フラグメモリ１８ｉ、フラグ退避メモリ１８ｊ、及びワークエリア１８ｋ等の各種のデータメモリが備えられる。
【００２８】
表示データメモリ１８ａには、例えば通常計算モードでは入力・編集される数式データや計算結果データ、プログラミング計算モードでは入力・編集されるプログラムデータやプログラム実行結果データなど、前記各種の動作モードにおいて液晶表示部１３に表示すべき表示データがビットマップのパターンデータとして展開されて記憶される。
【００２９】
モードデータメモリ１８ｂには、前記動作モードの選択設定メニュー画面において設定可能な各種の動作モードを示すモードデータが記憶される。
【００３０】
入力データメモリ（入力バッファ）１８ｃには、キー入力部１２のキー操作に伴い入力されるキーコードのデータが当該キー操作毎に一時記憶されたり、プログラミング処理に伴うプログラムの入力／編集に関わるプログラムデータが一時記憶されたりする。
【００３１】
入力式メモリ１８ｄには、通常計算モードにおいてキー入力された任意の数式（計算式）データが記憶される。
【００３２】
式計算結果メモリ１８ｅには、前記入力式メモリ１８ｄに記憶された数式（計算式）データに基づき演算（計算）処理された演算（計算）結果のデータが記憶される。
【００３３】
プログラムメモリ１８ｆには、プログラミング計算モードにおいて入力／編集されてなる各プログラムのデータファイルが記憶されて登録される。
【００３４】
プログラム実行結果メモリ１８ｇには、前記プログラムメモリ１８ｆに記憶されたプログラムデータに基づき演算（計算）処理された実行結果のデータが記憶される。
【００３５】
カーソル位置メモリ１８ｈには、表示データメモリ１８ａに記憶されて表示部１３に表示出力される表示データ上でのカーソルＣの位置データが記憶されるもので、例えば数式データの入力・表示状態では、表示されている数式中のカーソル位置を示すデータが前記入力式メモリ１８ｄに記憶された数式内の各文字・記号の位置に対応するデータとして記憶され、またプログラムデータの入力／編集・表示状態では、表示されているプログラム中のカーソル位置を示すデータが前記プログラムメモリ１８ｆから入力データメモリ１８ｃに読み出されたプログラムデータ内の各文字・記号の位置に対応するデータとして記憶される。
【００３６】
プログラムシンボル設定フラグメモリ１８ｉには、プログラムデータの入力／編集・表示状態におけるカーソルＣ位置に対応したコマンド（シンボル）の表示処理において、当該プログラム上で前記カーソルＣがその先頭から順次移動して位置するところのプログラム部分に掛かるプログラム命令に対応したコマンド（シンボル）を示すフラグがセットされる。
【００３７】
フラグ退避メモリ１８ｊには、前記プログラムデータの入力／編集・表示状態におけるカーソルＣ位置に対応したコマンド（シンボル）の表示処理において、例えば複数重なったループ処理命令など、該当位置における命令が二重，三重，…となる場合に前記プログラムシンボル設定フラグメモリ１８ｉに既にセットされていたコマンド（シンボル）を示すフラグが順次退避されてセットされる。
【００３８】
ワークエリア１８ｋには、各種動作モードの制御処理に伴ない制御部（ＣＰＵ）１１により入出力されるデータが一時的に記憶される。
【００３９】
次に、前記構成の電子式計算機（プログラム電卓）１０によるプログラミング計算モードでのプログラムデータの入力／編集・表示機能やこれに伴うシンボル表示機能について説明する。
【００４０】
図３は、前記電子式計算機（プログラム電卓）１０によるプログラムデータの入力／編集・表示処理を示すフローチャートである。
【００４１】
先ず、キー入力部１２に対するユーザ操作に伴い新規のプログラム入力が指定されたのか、またはプログラム修正が指定されたのかが判断される（ステップＳ１）。
【００４２】
ここで、プログラム修正が指定されたと判断された場合には（ステップＳ１（修正））、ユーザ操作に応じて指定されたファイルＮｏ．のプログラムデータがＲＡＭ１８内のプログラムメモリ１８ｆから読み出され、入力データメモリ（入力バッファ）１８ｃに記憶される（ステップＳ２，Ｓ３）。
【００４３】
すると、表示部１３の表示画面に対するカーソルＣの位置がその先頭位置に設定表示されると共に（ステップＳ４）、前記入力データメモリ１８ｃに読み出されたプログラムデータがその先頭から表示部１３に表示される（ステップＳ５）。
【００４４】
一方、前記ステップＳ１において、新規のプログラム入力が指定されたと判断された場合には（ステップＳ１（新規））、表示部１３の表示画面に対するカーソルＣの位置がその先頭位置に設定表示されると共に（ステップＳ４）、データ未入力の入力データメモリ１８ｃに入力されるプログラムデータの表示部１３に対する表示位置がその先頭データからに設定される（ステップＳ５）。
【００４５】
そして、キー入力部１２に対するユーザ操作に応じて、データ入力キーが操作されたと判断された場合には（ステップＳ６（データキー））、当該入力されたキーに応じたデータが入力データメモリ（入力バッファ）１８ｃに記憶されると共に（ステップＳ７）、前記表示部１３の表示画面上のカーソルＣの位置に対応させてそのデータが入力表示される（ステップＳ８）。
【００４６】
また、キー入力部１２に対するユーザ操作に応じて、カーソルキーが操作されたと判断された場合には（ステップＳ６（カーソルキー））、前記表示部１３の表示画面上のカーソルＣが当該カーソル操作の方向に応じて移動表示され（ステップＳ９）、当該カーソルＣの移動後の位置に対応したプログラムデータが前記入力データメモリ１８ｃから読み出されて表示される（ステップＳ１０）。つまり、表示画面（１３）上の先頭位置〜末尾位置間でカーソルＣが移動表示される場合には、当該表示画面（１３）上のプログラムデータはそのまま表示され、同表示画面（１３）上の先頭位置または末尾位置にカーソルＣが移動されて更に前方向または後方向のカーソルキーが操作された場合には、当該表示画面（１３）上には同方向に応じたプログラムデータが前記入力データメモリ１８ｃから読み出されスクロールされて表示される。
【００４７】
また、前記キー入力部１２のデータ入力キーまたはカーソルキー以外の他のキーが操作されたと判断された場合には（ステップＳ６（他のキー））、当該他のキー操作に応じた処理が行われる（ステップＳ１１，Ｓ１２）。
【００４８】
そして、前記各キー操作に応じたプログラム入力／編集処理が行われる毎に、図４におけるシンボル表示処理ＳＡに移行され、カーソルＣが位置するところのプログラム部分に掛かるプログラム命令に対応したコマンド（シンボル）の表示が行われる。
【００４９】
図４は、前記電子式計算機（プログラム電卓）１０によるプログラムデータの入力／編集・表示処理に伴うシンボル表示処理を示すフローチャートである。
【００５０】
このシンボル表示処理が起動されると、前記入力データメモリ（入力バッファ）１８ｃに記憶されているプロクラムデータがその先頭データから前記表示部１３上のカーソルＣの位置直前のデータまで順次取得され（ステップＡ１）、１つのデータが取得される毎にステップＡ２以降の処理に移行される。
【００５１】
先ず、前記ステップＡ１においてプログラムデータの先頭から１つのデータが取得されると、当該取得データが各プログラム命令の書式先頭になる何れかのコマンド（Ｆｏｒ，Ｗｈｉｌｅ，Ｄｏ，Ｉｆ）コードであるか否か判断される（ステップＡ２）。
【００５２】
ここで、何れのプログラム命令の先頭コマンドコードでもないと判断された場合には（ステップＡ２（Ｎｏ））、同取得データが各プログラム命令の書式終了になる何れかのコマンド（Ｎｅｘｔ，ＷｈｉｌｅＥｎｄ，ＬｐＷｈｉｌｅ，ＩｆＥｎｄ）コードであるか否か判断される（ステップＡ３）。
【００５３】
ここでさらに、何れのプログラム命令の終了コマンドコードでもないと判断された場合には（ステップＡ３（Ｎｏ））、シンボル表示判定すべきプログラムデータの位置が次のデータ位置に設定され（ステップＡ４）、当該設定位置が前記カーソルＣの位置を超えた次のデータ位置に到達したと判断される（ステップＡ５（Ｙｅｓ））までは、前記入力データメモリ（入力バッファ）１８ｃからのプログラムデータの順次取得処理が繰り返される（ステップＡ５（Ｎｏ）→Ａ１）。
【００５４】
そして、前記ステップＡ１において順次先頭から取得されるプログラムデータについて、当該取得データが各プログラム命令の書式先頭になる何れかのコマンド（Ｆｏｒ，Ｗｈｉｌｅ，Ｄｏ，Ｉｆ）コードであると判断された場合には（ステップＡ２（Ｙｅｓ））、ＲＡＭ１８内のプログラムシンボル設定フラグメモリ１８ｉにおいて既に何れかのプログラム命令に対応したコマンド（シンボル）を示すフラグがセットされているか否か判断される（ステップＡ６）。
【００５５】
ここで、前記プログラムシンボル設定フラグメモリ１８ｉにおいて現在何れかのプログラム命令に対応したコマンド（シンボル）を示すフラグはセットされてないと判断されると（ステップＡ６（Ｎｏ））、今回取得されたプログラムデータの命令に対応したコマンド（シンボル）を示すフラグがセットされる（ステップＡ７）。
【００５６】
この後、前記ステップＡ１〜Ａ５→Ａ１の処理が繰り返された後に、今回取得されたプログラムデータについて再び各プログラム命令の書式先頭になる何れかのコマンド（Ｆｏｒ，Ｗｈｉｌｅ，Ｄｏ，Ｉｆ）コードであると判断された場合には（ステップＡ２（Ｙｅｓ））、前記プログラムシンボル設定フラグメモリ１８ｉにおいて既にプログラム命令に対応したコマンド（シンボル）を示すフラグがセットされていると判断されるので（ステップＡ６（Ｙｅｓ））、当該フラグメモリ１８ｉにセットされているコマンド（シンボル）を示すフラグはフラグ退避メモリ１８ｊに退避されてセットされる（ステップＡ８）。
【００５７】
そして、前記プログラムシンボル設定フラグメモリ１８ｉには、今回重ねて取得されたプログラムデータの命令に対応したコマンド（シンボル）を示すフラグがセットされる（ステップＡ７）。
【００５８】
一方、前記ステップＡ３において、今回取得されたプログラムデータがプログラム命令の書式終了になる何れかのコマンド（Ｎｅｘｔ，ＷｈｉｌｅＥｎｄ，ＬｐＷｈｉｌｅ，ＩｆＥｎｄ）コードであると判断された場合には（ステップＡ３（Ｙｅｓ））、当該命令終了のコマンドコードが前記プログラムシンボル設定フラグメモリ１８ｉに現在セットされているフラグが示す命令先頭のコマンド（シンボル）に対応する終了コマンドであるか判断確認され（ステップＡ９（Ｙｅｓ））、同フラグメモリ１８ｉにセットされているコマンド（シンボル）示すフラグが消去される（ステップＡ１０）。
【００５９】
この際、フラグ退避メモリ１８ｊに退避セットされているより広範囲なプログラム部分に掛けられた命令に対応したコマンド（シンボル）示すフラグがある場合には、当該退避セットされているフラグは前記プログラムシンボル設定フラグメモリ１８ｉに戻されてセットされる（ステップＡ１０）。
【００６０】
このように、前記ステップＡ１〜Ａ１０での処理により、入力データメモリ（入力バッファ）１８ｃから順次取得されるプログラムデータについて、命令先頭のコマンドコードであると判断された場合には当該コマンド（シンボル）示すフラグをセットし、命令終了のコマンドコードであると判断された場合には対応する命令先頭のコマンド（シンボル）示すフラグを消去する命令の範囲を判断して行うシンボル表示処理において、シンボル表示判定すべきプログラムデータの取得設定位置が（ステップＡ４）、現在表示中のカーソルＣに対応する位置を超えた次のデータ位置に到達したと判断された場合には（ステップＡ５（Ｙｅｓ））、前記プログラムシンボル設定フラグメモリ１８ｉにフラグがセットされているか否か判断される（ステップＡ１１）。
【００６１】
ここで、前記プログラムシンボル設定フラグメモリ１８ｉにフラグがセットされていると判断された場合には（ステップＡ１１（Ｙｅｓ））、当該フラグにより示される現在カーソル位置に対応したプログラム命令のコマンド（シンボル）が、例えば図６，図８，図１０の（Ａ）〜（Ｋ）に示すように、プログラム入力／編集・表示中の表示画面（１３）上に表示される（ステップＡ１２）。
【００６２】
図５は、前記プログラムデータの入力／編集・表示処理に伴い入力データメモリ（入力バッファ）１８ｃに読み出されたＦｏｒ文を含むプログラムデータの一例（その１）を示す図である。
【００６３】
図６は、前記図５におけるプログラムデータの表示に伴うカーソルＣの移動位置に応じたシンボル表示動作を示す図である。
【００６４】
ここで、図６（Ａ）〜（Ｄ）はそれぞれ、図５で示すプログラムデータ上でカーソルＣを（Ａ）（Ｂ）（Ｃ）（Ｄ）に示す位置に移動させた場合の各対応するシンボル表示状態を示している。
【００６５】
すなわち、図６（Ａ）に示すように、プログラムデータの先頭から順次データ取得判定して何の命令に対応するコマンドコードも記述されてないカーソルＣの位置では、プログラムシンボル設定フラグメモリ１８ｉにおいて何のコマンド（シンボル）を示すフラグもセットされていないので、カーソルＣ位置のプログラム部分に対応した命令のシンボルは何も表示されない（ステップＡ１〜Ａ５（Ｙｅｓ）→Ａ１１（Ｎｏ）→ＥＮＤ）。
【００６６】
この後、図６（Ｂ）に示すように、Ｆｏｒ文先頭のコマンドコード「Ｆｏｒ」の記述位置までカーソルＣが移動された場合には、プログラムシンボル設定フラグメモリ１８ｉにおいて当該コマンド（シンボル）「Ｆｏｒ」を示すフラグがセットされているので、カーソルＣ位置のプログラム部分に対応した命令のシンボル「Ｆｏｒ」２１が表示される（ステップＡ１〜Ａ７→Ａ１１（Ｙｅｓ）→Ａ１２）。
【００６７】
さらに、図６（Ｃ）に示すように、前記Ｆｏｒ文が掛かっている途中位置までカーソルＣが移動された場合には、前記プログラムシンボル設定フラグメモリ１８ｉには当該コマンド（シンボル）「Ｆｏｒ」を示すフラグがセットされたままとなっているので（ステップＡ１〜Ａ７→Ａ１〜Ａ５）、カーソルＣ位置のプログラム部分に対応した命令のシンボル「Ｆｏｒ」２１が継続的に表示される（ステップＡ５（Ｙｅｓ）→Ａ１１（Ｙｅｓ）→Ａ１２）。
【００６８】
そして、図６（Ｄ）に示すように、前記Ｆｏｒ文終了のコマンドコード「Ｎｅｘｔ」の記述位置までカーソルＣが移動された場合には、前記プログラムシンボル設定フラグメモリ１８ｉにセットされていた当該コマンド（シンボル）「Ｆｏｒ」を示すフラグは消去されているので（ステップＡ１〜Ａ３→Ａ９→Ａ１０）、現在のカーソルＣ位置のプログラム部分に対応した命令のシンボルは表示されない（ステップＡ１１（Ｎｏ）→ＥＮＤ）。
【００６９】
図７は、前記プログラムデータの入力／編集・表示処理に伴い入力データメモリ（入力バッファ）１８ｃに読み出されたＦｏｒ文中にＩｆ文を含むプログラムデータの一例（その２）を示す図である。
【００７０】
図８は、前記図７におけるプログラムデータの表示に伴うカーソルＣの移動位置に応じたシンボル表示動作を示す図である。
【００７１】
ここで、図８（Ｅ）〜（Ｇ）はそれぞれ、図７で示すプログラムデータ上でカーソルＣを（Ｅ）（Ｆ）（Ｇ）に示す位置に移動させた場合の各対応するシンボル表示状態を示している。
【００７２】
すなわち、図８（Ｅ）に示すように、プログラムデータの先頭から順次データ取得判定してＦｏｒ文先頭のコマンドコード「Ｆｏｒ」の記述を過ぎた位置までカーソルＣが移動された場合には、プログラムシンボル設定フラグメモリ１８ｉにおいて当該コマンド（シンボル）「Ｆｏｒ」を示すフラグがセットされているので（ステップＡ１，Ａ２→Ａ６→Ａ７）、カーソルＣ位置のプログラム部分に対応した命令のシンボル「Ｆｏｒ」２１が表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００７３】
この後、図８（Ｆ）に示すように、前記Ｆｏｒ文中に重ねて含まれるＩｆ文先頭のコマンドコード「Ｉｆ」の記述位置までカーソルＣが移動された場合には、プログラムシンボル設定フラグメモリ１８ｉにおいて既にセットされていた前記コマンド（シンボル）「Ｆｏｒ」を示すフラグはフラグ退避メモリ１８ｊに退避され、当該Ｆｏｒ文中に新たに重なったコマンド（シンボル）「Ｉｆ」を示すフラグが前記プログラムシンボル設定フラグメモリ１８ｉに新たにセットされるので（ステップＡ１，Ａ２→Ａ６（Ｙｅｓ）→Ａ８，Ａ７）、カーソルＣ位置のプログラム部分に対応した最も下位の命令のシンボル「Ｉｆ」２２が表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００７４】
そして、図８（Ｇ）に示すように、前記Ｆｏｒ文中にあるＩｆ文終了のコマンドコード「ＩｆＥｎｄ」の記述位置までカーソルＣが移動された場合には、前記プログラムシンボル設定フラグメモリ１８ｉにセットされていた当該Ｉｆ文先頭のコマンド（シンボル）「Ｉｆ」を示すフラグが消去されると共に、前記フラグ退避メモリ１８ｊに退避されていたＦｏｒ文先頭のコマンド（シンボル）「Ｆｏｒ」を示すフラグが前記フラグメモリ１８ｉに戻されるので（ステップＡ１〜Ａ３→Ａ９→Ａ１０）、Ｉｆ文終了後でもＦｏｒ文の掛かっている現在のカーソルＣ位置のプログラム部分に対応した命令のシンボル「Ｆｏｒ」２１が再表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００７５】
なお、前記図７（Ｆ）および図８（Ｆ）で示したように、表示されているプログラムデータ上のカーソルＣの位置が、Ｆｏｒ文中に含まれるＩｆ文に掛かるプログラム部分にある場合には、前記フラグ退避メモリ１８ｊに退避されたコマンド（シンボル）「Ｆｏｒ」を示すフラグおよび前記プログラムシンボル設定フラグメモリ１８ｉに新たにセットされた該Ｆｏｒ文に重なったコマンド（シンボル）「Ｉｆ」を示すフラグの両方に従って、図８（Ｆ′）に示すように、その上位の命令であるシンボル「Ｆｏｒ」２１および下位の命令であるシンボル「Ｉｆ」２２の両方を並べて表示させることで、現在のカーソル位置に対応したプログラム部分に掛かる命令の詳細を容易に知ることができる。
【００７６】
図９は、前記プログラムデータの入力／編集・表示処理に伴い入力データメモリ（入力バッファ）１８ｃに読み出されたＦｏｒ文中にＦｏｒ文を含むプログラムデータの一例（その３）を示す図である。
【００７７】
図１０は、前記図９におけるプログラムデータの表示に伴うカーソルＣの移動位置に応じたシンボル表示動作を示す図である。
【００７８】
ここで、図１０（Ｈ）〜（Ｋ）はそれぞれ、図９で示すプログラムデータ上でカーソルＣを（Ｈ）（Ｉ）（Ｊ）（Ｋ）に示す位置に移動させた場合の各対応するシンボル表示状態を示している。
【００７９】
すなわち、図１０（Ｈ）に示すように、プログラムデータの先頭から順次データ取得判定して最初のＦｏｒ文先頭のコマンドコード「Ｆｏｒ」の記述を過ぎた位置までカーソルＣが移動された場合には、プログラムシンボル設定フラグメモリ１８ｉにおいて当該コマンド（シンボル）「Ｆｏｒ」を示すフラグがセットされているので（ステップＡ１，Ａ２→Ａ６→Ａ７）、カーソルＣ位置のプログラム部分に対応した最初のＦｏｒ文のシンボル「Ｆｏｒ」２１ａが表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００８０】
この後、図１０（Ｉ）に示すように、前記最初のＦｏｒ文中に重ねて含まれる２つ目のＦｏｒ文先頭のコマンドコード「Ｆｏｒ」の記述位置までカーソルＣが移動された場合には、プログラムシンボル設定フラグメモリ１８ｉにおいて既にセットされていた前記最初のコマンド（シンボル）「Ｆｏｒ」を示すフラグはフラグ退避メモリ１８ｊに退避され、当該最初のＦｏｒ文中に新たに重なった２つ目のコマンド（シンボル）「Ｆｏｒ」を示すフラグが前記プログラムシンボル設定フラグメモリ１８ｉに新たにセットされるので（ステップＡ１，Ａ２→Ａ６（Ｙｅｓ）→Ａ８，Ａ７）、カーソルＣ位置のプログラム部分に対応した２つ目のＦｏｒ文のシンボル「Ｆｏｒ」２１ｂが表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００８１】
さらに、図１０（Ｊ）に示すように、前記２つのＦｏｒ文中にさらに重ねて含まれる３つ目のＦｏｒ文先頭のコマンドコード「Ｆｏｒ」の記述位置までカーソルＣが移動された場合には、プログラムシンボル設定フラグメモリ１８ｉにおいて既にセットされていた前記２つ目のコマンド（シンボル）「Ｆｏｒ」を示すフラグもさらにフラグ退避メモリ１８ｊに退避され、当該２つ目のＦｏｒ文中にさらに重なった３つ目のコマンド（シンボル）「Ｆｏｒ」を示すフラグが前記プログラムシンボル設定フラグメモリ１８ｉに新たにセットされるので（ステップＡ１，Ａ２→Ａ６（Ｙｅｓ）→Ａ８，Ａ７）、カーソルＣ位置のプログラム部分に対応した３つ目のＦｏｒ文のシンボル「Ｆｏｒ」２１ｃが表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００８２】
そして、図１０（Ｋ）に示すように、前記２つのＦｏｒ文中にさらに重ねてある３つ目のＦｏｒ文終了のコマンドコード「Ｎｅｘｔ」の記述位置までカーソルＣが移動された場合には、前記プログラムシンボル設定フラグメモリ１８ｉにセットされていた当該３つ目のＦｏｒ文先頭のコマンド（シンボル）「Ｆｏｒ」を示すフラグが消去されると共に、前記フラグ退避メモリ１８ｊに退避されていた２つ目のＦｏｒ文先頭のコマンド（シンボル）「Ｆｏｒ」を示すフラグが前記フラグメモリ１８ｉに戻されるので（ステップＡ１〜Ａ３→Ａ９→Ａ１０）、３つ目のＦｏｒ文終了後でも未だＦｏｒ文の掛かっている現在のカーソルＣ位置のプログラム部分に対応した２つ目のＦｏｒ文のシンボル「Ｆｏｒ」２１ｂが再表示される（ステップＡ１１（Ｙｅｓ）→Ａ１２）。
【００８３】
なお、前記図１０（Ｈ）〜図１０（Ｋ）で示したように、表示されているプログラムデータ上のカーソルＣの位置が、最初のＦｏｒ文中に含まれる２つ目，３つ目の重なった同一命令であるＦｏｒ文に掛かるプログラム部分にある場合には、各Ｆｏｒ文に伴うループ変数Ａ，Ｂ，ＣについてカーソルＣの位置の先のプログラムデータも判定確認し、シンボル「ＦｏｒＡ」を示すフラグ、シンボル「ＦｏｒＢ」を示すフラグ、シンボル「ＦｏｒＣ」を示すフラグとしてセットあるいは退避させておくことで、現在のカーソル位置に対応したプログラム部分に掛かる重なった同一命令の詳細を容易に知ることができる。
【００８４】
しかも、前記図１０（Ｉ）〜図１０（Ｋ）で示したように、表示されているプログラムデータ上のカーソルＣの位置が、最初のＦｏｒ文中に含まれる２つ目のＦｏｒ文に掛かるプログラム部分にあったり、さらに当該２つ目のＦｏｒ文中に含まれる３つ目のＦｏｒ文に掛かるプログラム部分にあったりした場合には、前記フラグ退避メモリ１８ｊに退避されたコマンド（シンボル）「ＦｏｒＡ」や「ＦｏｒＢ」を示すフラグおよび前記プログラムシンボル設定フラグメモリ１８ｉに新たにセットされた該１つ目や２つ目のＦｏｒ文に重なった３つ目のＦｏｒ文のコマンド（シンボル）「ＦｏｒＣ」を示すフラグのそれぞれに従って、図１０（Ｉ′）〜図１０（Ｋ′）に示すように、その上位の命令であるシンボル「ＦｏｒＡ」２１Ａから下位の命令であるシンボル「ＦｏｒＣ」２１Ｃまでを並べて表示させることで、現在のカーソル位置に対応したプログラム部分に掛かる命令の詳細を容易に知ることができる。
【００８５】
なお、前述したように、複数の同一の命令が重なった場合のシンボル表示は、例えば「Ｆｏｒ１」「Ｆｏｒ２」「Ｆｏｒ３」…と単純に連続する番号を付加したシンボル表示としてもよい。
【００８６】
したがって、前記構成の電子式計算機（プログラム電卓）１０によるプログラミング計算モードでのプログラムデータの入力／編集・表示機能およびこれに伴うシンボル表示機能によれば、プログラムデータの入力表示または編集表示状態において、当該プログラムデータの先頭からカーソルＣの位置までのデータを順次取得して（ステップＡ１）プログラム命令の先頭コマンドコードであるか否かおよび同プログラム命令の終了コマンドコードであるか否かを判断し（ステップＡ２，Ａ３）、先頭コマンドコード（例えば「Ｆｏｒ」）であると判断された場合には当該コマンド（シンボル）「Ｆｏｒ」を示すフラグをセットし（ステップＡ７）、また終了コマンドコード（例えば「Ｎｅｘｔ」）であると判断された場合には対応するコマンド（シンボル）「Ｆｏｒ」を示すフラグを消去して（ステップＡ１０）前記カーソルＣの位置に対応したプログラム命令の内容を判定保持する。そして、セットされているフラグが示すコマンド（シンボル）「Ｆｏｒ」２１を表示させることで（ステップＡ１１→Ａ１２）、当該カーソルＣの位置に対応したプログラム命令の内容をユーザ報知するようにしたので、例えば１行表示のプログラム電卓であってもプログラムの入力中あるいは編集中におけるプログラム部分が何れの命令部分にあるかを明確に確認することができ、プログラムの作成支援および作成ミスの予防が可能になる。
【００８７】
また、前記構成の電子式計算機（プログラム電卓）１０によるプログラミング計算モードでのプログラムデータの入力／編集・表示機能およびこれに伴うシンボル表示機能によれば、カーソルＣの位置までに取得されたプログラムデータについて、例えばＦｏｒ文中にＩｆ文が含まれた場合など、複数の命令が重なった場合には、当該プログラム命令の重なった先頭コマンドコード（例えば「Ｉｆ」）が判断される毎に既にセットされたコマンド（シンボル）「Ｆｏｒ」を示すフラグが退避され（ステップＡ６→Ａ８）、新たに重なったコマンド（シンボル）「Ｉｆ」を示すフラグがセットされるので、当該退避されたフラグをも含めた各フラグが示すコマンド（シンボル）「Ｆｏｒ」２１および「Ｉｆ」２２を並べて表示させることで、プログラムの入力中あるいは編集中におけるプログラム部分が何れの命令部分にあるかをより明確且つ詳細に確認することができる。
【００８８】
また、前記構成の電子式計算機（プログラム電卓）１０によるプログラミング計算モードでのプログラムデータの入力／編集・表示機能およびこれに伴うシンボル表示機能によれば、プログラムの新規入力や編集入力によりカーソルＣが新たなデータに対応して更新表示される都度（ステップＳ７，Ｓ８）、また表示されたプログラム上のカーソルＣがカーソルキーの操作により移動表示される都度（ステップＳ９，Ｓ１０）、前記プログラムの先頭からカーソルＣの位置まで順次取得されるプログラムデータに従ったシンボル表示処理（ステップＳＡ）を行うので、プログラムの入力中あるいは編集中あるいは単なる閲覧中におけるプログラム部分が何れの命令部分にあるかを常に明確に確認することができる。
【００８９】
なお、前記各実施形態において記載した電子式計算機（プログラム電卓）１０による各処理の手法、すなわち、図３のフローチャートに示すプログラムデータの入力／編集・表示処理、図４のフローチャートに示す前記プログラムデータの入力／編集・表示処理に伴うシンボル表示処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フロッピディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の外部記憶媒体１５に格納して配布することができる。そして、コンピュータは、この外部記憶媒体１５に記憶されたプログラムを記憶媒体読み取り部１６によって読み込み、この読み込んだプログラムによって動作が制御されることにより、前記各実施形態において説明したプログラムデータの入力／編集・表示機能およびこれに伴うシンボル表示機能を実現し、前述した手法による同様の処理を実行することができる。
【００９０】
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワークＮ上を伝送させることができ、このネットワークＮに接続されたコンピュータ端末の通信制御部１７によって前記のプログラムデータを取り込み、前述したプログラムデータの入力／編集・表示機能およびこれに伴うシンボル表示機能を実現することもできる。
【００９１】
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【図面の簡単な説明】
【００９２】
【図１】本発明の実施形態に係る電子式計算機（プログラム電卓）１０の電子回路の構成を示すブロック図。
【図２】前記電子式計算機（プログラム電卓）１０のＲＡＭ１８に確保される主要なデータメモリの構成を示す図。
【図３】前記電子式計算機（プログラム電卓）１０によるプログラムデータの入力／編集・表示処理を示すフローチャート。
【図４】前記電子式計算機（プログラム電卓）１０によるプログラムデータの入力／編集・表示処理に伴うシンボル表示処理を示すフローチャート。
【図５】前記プログラムデータの入力／編集・表示処理に伴い入力データメモリ（入力バッファ）１８ｃに読み出されたＦｏｒ文を含むプログラムデータの一例（その１）を示す図。
【図６】前記図５におけるプログラムデータの表示に伴うカーソルＣの移動位置に応じたシンボル表示動作を示す図。
【図７】前記プログラムデータの入力／編集・表示処理に伴い入力データメモリ（入力バッファ）１８ｃに読み出されたＦｏｒ文中にＩｆ文を含むプログラムデータの一例（その２）を示す図。
【図８】前記図７におけるプログラムデータの表示に伴うカーソルＣの移動位置に応じたシンボル表示動作を示す図。
【図９】前記プログラムデータの入力／編集・表示処理に伴い入力データメモリ（入力バッファ）１８ｃに読み出されたＦｏｒ文中にＦｏｒ文を含むプログラムデータの一例（その３）を示す図。
【図１０】前記図９におけるプログラムデータの表示に伴うカーソルＣの移動位置に応じたシンボル表示動作を示す図。
【符号の説明】
【００９３】
１０  …電子式計算機（プログラム電卓）
１１  …制御部（ＣＰＵ）
１２  …キー入力部
１３  …液晶表示部
１４  …ＲＯＭ
１５  …外部記憶媒体
１６  …記憶媒体読み取り部
１７  …通信制御部
１８  …ＲＡＭ
１８ａ…表示データメモリ
１８ｂ…モードデータメモリ
１８ｃ…入力データメモリ（入力バッファ）
１８ｄ…入力式メモリ
１８ｅ…式計算結果メモリ
１８ｆ…プログラムメモリ
１８ｇ…プログラム実行結果メモリ
１８ｈ…カーソル位置メモリ
１８ｉ…プログラムシンボル設定フラグメモリ
１８ｊ…フラグ退避メモリ
１８ｋ…ワークエリア
１９  …表示駆動回路
２１  …カーソル位置のプログラム部分に対応した命令シンボル「Ｆｏｒ」
２１ａ，２１Ａ…１つ目のＦｏｒ文シンボル「ＦｏｒＡ」
２１ｂ，２１Ｂ…２つ目のＦｏｒ文シンボル「ＦｏｒＢ」
２１ｃ，２１Ｃ…３つ目のＦｏｒ文シンボル「ＦｏｒＣ」
２２  …カーソル位置のプログラム部分に対応した命令シンボル「Ｉｆ」
Ｎ  …通信ネットワーク
Ｃ  …カーソル
【図１】
2008165522.tif 000003
【図２】
2008165522.tif 000004
【図３】
2008165522.tif 000005
【図４】
2008165522.tif 000006
【図５】
2008165522.tif 000007
【図６】
2008165522.tif 000008
【図７】
2008165522.tif 000009
【図８】
2008165522.tif 000010
【図９】
2008165522.tif 000011
【図１０】
2008165522.tif 000012