(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024038843
(43)【公開日】2024-03-21
(54)【発明の名称】電子機器、電子機器の制御方法およびプログラム
(51)【国際特許分類】
G06F 3/04842 20220101AFI20240313BHJP
G06F 15/08 20060101ALI20240313BHJP
【FI】
G06F3/04842
G06F15/08
【審査請求】未請求
【請求項の数】17
【出願形態】OL
(21)【出願番号】P 2022143164
(22)【出願日】2022-09-08
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110003708
【氏名又は名称】弁理士法人鈴榮特許綜合事務所
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100209048
【弁理士】
【氏名又は名称】森川 元嗣
(74)【代理人】
【識別番号】100212705
【弁理士】
【氏名又は名称】矢頭 尚之
(74)【代理人】
【識別番号】100219542
【弁理士】
【氏名又は名称】大宅 郁治
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】市川 雄一
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA04
5E555AA31
5E555AA79
5E555BA07
5E555BA73
5E555BB07
5E555BC18
5E555BC30
5E555BE12
5E555CA18
5E555CC03
5E555CC15
5E555CC16
5E555DA02
5E555DB04
5E555DB06
5E555EA15
5E555FA00
(57)【要約】
【課題】複数の命令を並べて行うプログラミングを、キーを用いて操作性よく行なう。
【解決手段】表示部12に対しブロックエリアABとコードエリアACとを左右2つのウインドウに分割して表示させたアルゴリズムモード画面GALで、[←]キー113L又は[→]キー113RによりブロックエリアAB又はコードエリアACをアクティブな状態に切り換えると共に、アクティブなエリアの命令ブロックの文字及びカーソルCr(カーソル線CrL)を“黒”で、非アクティブなエリアの命令ブロックの文字を“グレー”で識別表示させる。アクティブなエリアのカーソルCr(カーソル線CrL)を[↑]キー113U又は[↓]キー113Dにより上下に移動させ任意の命令ブロック又はその位置を選択し、[EXE]キー111Eにより確定する。ブロックエリアABで選択した任意の命令ブロックをコードエリアACに並べてあるいは挿入してプログラミングを行なう。
【選択図】
図1
【特許請求の範囲】
【請求項1】
表示部と、
複数の異なる方向を指定するためのキーを含む操作部と、
制御部と、
を備え、前記制御部は、
選択可能な候補である複数の命令ブロックを並べて表示するコードエリアと、前記コードエリア内から選択された複数の命令ブロックを実行すべき命令ブロックとして並べて表示するブロックエリアと、を前記表示部に同時に表示させる処理と、
前記ブロックエリアと前記コードエリアのうちの指定されたいずれか一方のエリアをアクティブ状態にするとともに、アクティブ状態となっているエリアを他方のエリアと識別して表示させる処理と、
前記操作部のキーにより方向を指定する第1操作が行われた場合に、前記ブロックエリアと前記コードエリアのうち、前記第1操作が行われた時点でアクティブ状態が維持されている一方のエリアを操作対象エリアとして、前記操作対象エリア内における命令ブロックの並び方向の指定位置を前記第1操作で指定される方向に移動させる処理と、
を実行する、
電子機器。
【請求項2】
前記制御部は、
前記ブロックエリア内の前記第1操作により移動した指定位置にある命令ブロックを、前記コードエリア内の前記第1操作により移動した指定位置に表示させる処理を実行する、
請求項1に記載の電子機器。
【請求項3】
前記制御部は、
前記第1操作が行われた時点で前記ブロックエリアがアクティブ状態となっていた場合は、前記ブロックエリア内に並んで表示されている命令ブロックを指定する指定位置を前記第1操作で指定される方向に移動させ、
前記第1操作が行われた時点で前記コードエリアがアクティブ状態となっていた場合は、前記コードエリア内に並んで表示されている命令ブロックまたは2つの命令ブロックの間を指定する指定位置を前記第1操作で指定される方向に移動させ、
前記操作部による前記第1操作とは異なる第2操作に応じて、前記ブロックエリア内の指定位置にある命令ブロックを前記コードエリア内の指定位置に挿入するか、または前記コードエリア内の指定位置にある命令ブロックを前記ブロックエリア内の指定位置にある命令ブロックと置き換える、
処理を実行する、
請求項1または2に記載の電子機器。
【請求項4】
前記ブロックエリアおよび前記コードエリアにおいて、複数の命令ブロックが第1方向に並んでおり、
前記第1操作は、前記操作部のキーにより前記第1方向または前記第1方向とは反対側の第2方向を指定する操作である、
請求項1または2に記載の電子機器。
【請求項5】
前記ブロックエリアと前記コードエリアは、第3方向に並んで前記表示部に表示されており、
前記制御部は、
前記操作部のキーにより前記第3方向または前記第3方向とは反対側の第4方向を指定する操作が行われた場合に、前記ブロックエリアと前記コードエリアのうちのアクティブ状態とするエリアを切り換える、
請求項1または2に記載の電子機器。
【請求項6】
記憶部を備え、
前記制御部は、
前記第1操作により移動した前記操作対象エリア内の指定位置または指定位置の命令ブロックを示す指定情報を、前記操作対象エリアがアクティブ状態から非アクティブ状態に切り換えられた後も前記記憶部に記憶させて保持し、非アクティブ状態となったエリア内の指定位置を保持されている前記指定情報に基づいて識別して表示させる、処理を実行する、
請求項1または2に記載の電子機器。
【請求項7】
前記制御部は、
アクティブ状態のエリア内で指定されている命令ブロックをアクティブ状態のエリア内の指定されていない命令ブロックと識別可能な第1の表示形態で表示させ、
非アクティブ状態のエリア内で指定されている命令ブロックを非アクティブ状態のエリア内の指定されていない命令ブロックと識別可能な前記第1の表示形態とは異なる第2の表示形態で表示させる、処理を実行する、
請求項1または2に記載の電子機器。
【請求項8】
前記制御部は、
前記コードエリア内で指定されている命令ブロックを、前記ブロックエリア内で選択された新たな命令ブロックに置き換える場合に、前記コードエリア内で置き換え対象として選択されている命令ブロックの表示形態を、アクティブ状態では第1表示階調の表示形態に、非アクティブ状態では第2表示階調の表示形態に変えて識別して表示させる、処理を実行する、
請求項1または2に記載の電子機器。
【請求項9】
前記制御部は、
前記コードエリア内で指定されている命令ブロックを、前記ブロックエリア内で選択された新たな命令ブロックに置き換えた場合に、置き換え前の命令ブロックを前記コードエリアから消去せずに、新たな命令ブロックの隣に表示階調を変えた状態で表示させておく、処理を実行する、
請求項8に記載の電子機器。
【請求項10】
前記制御部は、
置き換え前の命令ブロックを実行した結果と、置き換え後の命令ブロックを実行した結果と、を前記表示部に異なる表示階調で同時に表示させる、処理を実行する、
請求項9に記載の電子機器。
【請求項11】
前記ブロックエリアと前記コードエリアとは、左右方向に並べて表示されており、
前記ブロックエリアおよび前記コードエリア内の複数の命令ブロックは上下方向に並べて表示されており、
前記操作部は、上方向を指定する第1キーまたは下方向を指定する第2キーと、左方向を指定する第3キーまたは右方向を指定する第4キーとを含み、
前記制御部は、前記第1キーまたは前記第2キーの操作に応じて前記操作対象エリア内における指定位置を移動させ、前記第3キーまたは前記第4キーの操作に応じてアクティブ状態のエリアを切り換える、処理を実行する、
請求項1または2に記載の電子機器。
【請求項12】
前記コードエリアの左右方向の幅は、前記ブロックエリアの左右方向の幅よりも広く、
前記操作部の中央に対して、前記第1キーが上方向、前記第2キーが下方向、前記第3キーが左方向、前記第4キーが右方向、に設けられており、
前記ブロックエリアと前記コードエリアの左右方向の境界位置は、前記操作部の中央より左側に位置する、
請求項11に記載の電子機器。
【請求項13】
前記制御部は、
前記アクティブ状態のエリア内で命令ブロックを指定する第1カーソルおよび前記第1カーソルにより指定されていない命令ブロックの文字と、前記第1カーソルにより指定されている命令ブロックの文字と、前記非アクティブ状態のエリア内で命令ブロックを指定している第2カーソルと、前記第2カーソルにより指定されている命令ブロックの文字および前記第2カーソルにより指定されていない命令ブロックの文字と、を各々異なる4つの表示階調で識別して表示させる、処理を実行する、
請求項7に記載の電子機器。
【請求項14】
前記制御部は、
前記ブロックエリア内の命令ブロックのうち、パラメータ部分を表示せずに命令コード部分を表示している命令ブロックを選択し、前記選択した命令ブロックを前記コードエリアに表示させた場合に、前記選択した命令ブロックのパラメータ部分を表示する、
請求項1または2に記載の電子機器。
【請求項15】
前記制御部は、
前記コードエリアに表示させた命令ブロックにおいて、パラメータの数値をユーザに入力させ、パラメータを説明する補足文字を自動的に表示する、
請求項14に記載の電子機器。
【請求項16】
表示部と、
複数の異なる方向を指定するためのキーを含む操作部と、
を備えた電子機器の制御部により、
選択可能な候補である複数の命令ブロックを並べて表示するコードエリアと、前記コードエリア内から選択された複数の命令ブロックを実行すべき命令ブロックとして並べて表示するブロックエリアと、を前記表示部に同時に表示させる処理と、
前記ブロックエリアと前記コードエリアのうちの指定されたいずれか一方のエリアをアクティブ状態にするとともに、アクティブ状態となっているエリアを他方のエリアと識別して表示させる処理と、
前記操作部のキーにより方向を指定する第1操作が行われた場合に、前記ブロックエリアと前記コードエリアのうち、前記第1操作が行われた時点でアクティブ状態が維持されている一方のエリアを操作対象エリアとして、前記操作対象エリア内における命令ブロックの並び方向の指定位置を前記第1操作で指定される方向に移動させる処理と、
を実行する、
ようにした電子機器の制御方法。
【請求項17】
表示部と、
複数の異なる方向を指定するためのキーを含む操作部と、
を備えた電子機器の制御部を、
選択可能な候補である複数の命令ブロックを並べて表示するコードエリアと、前記コードエリア内から選択された複数の命令ブロックを実行すべき命令ブロックとして並べて表示するブロックエリアと、を前記表示部に同時に表示させる処理と、
前記ブロックエリアと前記コードエリアのうちの指定されたいずれか一方のエリアをアクティブ状態にするとともに、アクティブ状態となっているエリアを他方のエリアと識別して表示させる処理と、
前記操作部のキーにより方向を指定する第1操作が行われた場合に、前記ブロックエリアと前記コードエリアのうち、前記第1操作が行われた時点でアクティブ状態が維持されている一方のエリアを操作対象エリアとして、前記操作対象エリア内における命令ブロックの並び方向の指定位置を前記第1操作で指定される方向に移動させる処理と、
を実行する、
ように機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器、電子機器の制御方法およびプログラムに関する。
【背景技術】
【0002】
例えばコンピュータプログラムの初学者がプログラムを作成する場合のプログラム言語として、一定の専門知識を要するC言語などのプログラム言語ではなく、見た目から簡単にプログラムを作成することができるスクラッチ(Scratch)などのビジュアルプログラミング言語がある。
【0003】
ビジュアルプログラミング言語は、プログラミングで使用する個々の命令(命令コード)または複数の関連する命令(命令コード)やパラメータを、ユーザによる選択などの操作が可能なひとかたまりのブロックである命令ブロックとして扱い、その命令ブロックの内容をユーザに分かり易くした表示画面上の表示オブジェクト(ブロック状のイラスト)に置き換えたもので、ブロックエリアに表示されている複数の候補となる命令ブロック(表示オブジェクト)のうち、ユーザ任意の命令ブロック(表示オブジェクト)を、PC(Personal Computer)の場合にはマウス操作により、タブレット端末の場合にはタッチ操作により、ドラッグ&ドロップでコードエリアに移動し、既にコードエリアに表示されている他の命令ブロック(表示オブジェクト)と繋ぎ合わせるだけでプログラムを作成できる。
【0004】
従来、表示画面上のタブレット入力部に各種のコマンドを表示させ、ユーザ任意のコマンドがタッチ操作により入力されることで、入力されたコマンドに応じた処理を実行するプログラム電卓やポケットコンピュータなどの小型電子式計算機が考えられている(例えば、特許文献1参照。)。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
従来の特許文献1に開示されるようなプログラム電卓やポケットコンピュータなどの小型電子式計算機では、PCやタブレット端末と比較して、画面サイズが大幅に小さくまたユーザによる操作もキー操作に限られるため、ビジュアルプログラミング言語のような命令ブロックを扱うプログラミング言語を用いた、或るエリアに表示されている複数の候補となる命令ブロックの選択により、別のエリアにプログラムを構築していくようなプログラミングを操作性よく行なうことができない。
【0007】
本発明が解決しようとする課題は、或るエリアに表示されている複数の候補となる命令ブロックの選択により、別のエリアにプログラムを構築していくようなプログラミングを、キーを用いて操作性よく行なうことが可能になる電子機器、電子機器の制御方法およびプログラムを提供することにある。
【課題を解決するための手段】
【0008】
実施形態に係る電子機器は、
表示部と、
複数の異なる方向を指定するためのキーを含む操作部と、
制御部と、
を備え、前記制御部は、
選択可能な候補である複数の命令ブロックを並べて表示するコードエリアと、前記コードエリア内から選択された複数の命令ブロックを実行すべき命令ブロックとして並べて表示するブロックエリアと、を前記表示部に同時に表示させる処理と、
前記ブロックエリアと前記コードエリアのうちの指定されたいずれか一方のエリアをアクティブ状態にするとともに、アクティブ状態となっているエリアを他方のエリアと識別して表示させる処理と、
前記操作部のキーにより方向を指定する第1操作が行われた場合に、前記ブロックエリアと前記コードエリアのうち、前記第1操作が行われた時点でアクティブ状態が維持されている一方のエリアを操作対象エリアとして、前記操作対象エリア内における命令ブロックの並び方向の指定位置を前記第1操作で指定される方向に移動させる処理と、を実行する。
【発明の効果】
【0009】
実施形態の電子機器によれば、或るエリアに表示されている複数の候補となる命令ブロックの選択により、別のエリアにプログラムを構築していくようなプログラミングを、キーを用いて操作性よく行なうことが可能になる。
【図面の簡単な説明】
【0010】
【
図1】本発明の電子機器、電子機器の制御方法およびプログラムの実施形態に係る関数電卓10の外観構成を示す正面図。
【
図2】電子機器(関数電卓)10の電子回路の構成を示すブロック図。
【
図3】電子機器(関数電卓)10の4階調アルゴリズムモードでの命令ブロック挿入処理を示すフローチャート。
【
図4】電子機器(関数電卓)10の命令ブロック挿入処理に従ったアルゴリズムモード画面GALでの表示動作を示す図。
【
図5】電子機器(関数電卓)10の4階調アルゴリズムモードでの命令ブロック変更処理(その1)を示すフローチャート。
【
図6】電子機器(関数電卓)10の4階調アルゴリズムモードでの命令ブロック変更処理(その2)を示すフローチャート。
【
図7】電子機器(関数電卓)10の命令ブロック変更処理に従ったアルゴリズムモード画面GALでの表示動作を示す図。
【
図8】電子機器(関数電卓)10のアルゴリズムモード画面GALに対する他の実施形態の表示動作を示す図。
【発明を実施するための形態】
【0011】
以下図面を参照して本発明の実施の形態について説明する。
【0012】
(実施形態の構成)
図1は、本発明の電子機器、電子機器の制御方法およびプログラムの実施形態に係る関数電卓10の外観構成を示す正面図である。
【0013】
図2は、電子機器(関数電卓)10の電子回路の構成を示すブロック図である。
【0014】
電子機器は、関数電卓10に限定されるものではなく、少なくとも、計算機能およびビジュアルプログラミング言語のような命令ブロックを扱うプログラミング言語を用いた、或るエリアに表示されている複数の候補となる命令ブロックの選択により、別のエリアにプログラムを構築していくようなプログラミング機能を有し、キー入力部11(操作部)と、表示部12と、制御部(CPU)13と、記憶部14と、を備えた他の電子機器も含まれる。制御部13は、少なくとも一つのプロセッサを含む。
【0015】
関数電卓10は、その携帯性の必要からユーザが片手で十分把持し片手で操作可能な小型サイズからなり、関数電卓10の本体正面にはキー入力部11、表示部12、電池電源(ここでは太陽電池)BTが設けられる。
【0016】
キー入力部11には、数値や数式を入力したり計算の実行を指示したりするための数値・演算記号キー群111、各種の関数を入力するための関数機能キー群112、表示部12に表示されたカーソルCrの移動操作やデータ項目の選択操作(指定操作)などを行うためのカーソルキー113(操作部)が備えられる。
【0017】
数値・演算記号キー群111としては、[0]~[9](数値)キー、[+][-][×][÷](四則記号)キー、[EXE](実行)キー111E、[AC](クリア)キーなどが配列される。
【0018】
関数機能キー群112としては、[x](変数)キーをはじめ、[□/□](分数)キー、[√□](ルート)キー、[sin](サイン)キー、[cos](コサイン)キー、[tan](タンジェント)キーなどが配列される。
【0019】
カーソルキー113(操作部)は、[↑](上)キー113U(第1キー)、[↓](下)キー113D(第2キー)、[←](左)キー113L(第3キー)、[→](右)キー113R(第4キー)、[↑↓](スクロール)キー113Sを含む。
【0020】
なお、カーソルキー113は、キー入力部11が設けられる関数電卓10の本体正面において位置的に右寄りに設けることで、右利きが主体のユーザに対する操作性の向上が図られる。
【0021】
表示部12は、ドットマトリクス型(例えば192×63ドット)の液晶表示ユニットからなり、表示対象の画素(ドット)を時分割で電圧制御して駆動することにより、特有の駆動回路を設けることなく、色彩を4階調(ここでは、白/黒/グレー/ダークグレー)で表現する4階調表示機能を有する。なお、階調の数とその色彩はこれに限らない。
【0022】
<関数電卓10のプログラミング機能>
関数電卓10は、少なくともビジュアルプログラミング言語のような命令ブロックを扱うプログラミング言語を用いた、或るエリアに表示されている複数の候補となる命令ブロックの選択により、別のエリアにプログラムを構築していくようなプログラミング機能を有し、当該プログラミング機能によりプログラミングを行なうことが可能な動作モードを、ここでは4階調アルゴリズムモードと呼称する。
【0023】
関数電卓10は、4階調アルゴリズムモードにおいて、表示部12の表示画面を左右2つのウインドウに分割したアルゴリズムモード画面GALを表示させる機能を有する。
【0024】
アルゴリズムモード画面GALの左側(第3方向)のウインドウは、ビジュアルプログラミング言語の文法に従った複数種類の命令コードを各々ブロック化した命令ブロックの一覧を、上下方向(第1または第2方向)に並べて選択可能な候補として表示させるブロックエリアABとして機能し、右側(第4方向)のウインドウは、ブロックエリアABから任意に選択した命令ブロックを、上下方向に並べて実行すべきプログラムとして作成し表示させるコードエリアACとして機能する。それぞれの命令ブロックは、ユーザによる選択などの操作をまとめて行うことが可能な、1つの命令(命令コード)、複数の関連する命令(命令コード)のかたまり、または関連する命令(命令コード)とパラメータのかたまり、などである。なお、以下では、命令コードと記した場合は、パラメータ部分を除いた命令のコード部分(命令コード部分)を示すものとする。
【0025】
コードエリアACのウインドウサイズは、並べた命令ブロックに応じたパラメータ値を入力して表示させる必要があるため、例えば、ブロックエリアABのウインドウサイズよりも左右に幅広く、その割合は例えば4対3に設定される。これにより、コードエリアACとブロックエリアABの左右方向の境界位置は、関数電卓10の左右方向の中央位置より左側に位置し、かつ、カーソルキー113の左右方向の中央位置より左側に位置する。
【0026】
また、関数電卓10は、4階調アルゴリズムモードにおいて、ブロックエリアABを対象とする操作が有効(アクティブ)であるか、コードエリアACを対象とする操作が有効(アクティブ)であるかを明確に識別して表示させるため、アクティブに設定されている一方のエリア(ウインドウ)(操作対象エリア)内の表示データを、白を背景とする白と黒との2階調で表示させ、非アクティブに設定されている他方のエリア(ウインドウ)内の表示データを、白を背景とするグレートとダークグレーとの2階調で表示させる機能を有する。
【0027】
ブロックエリアABまたはコードエリアACをアクティブに切り換える操作は、[←](左)キー113Lまたは[→](右)キー113Rにより行ない、エリア内のカーソルCrまたはカーソル線CrL(
図4の(C)参照)を命令ブロックの並ぶ方向つまり上下方向に移動させ当該命令ブロックの位置または2つの命令ブロックの間を指定する操作は[↑](上)キー113Uまたは[↓](下)キー113Dにより行なう。
【0028】
<関数電卓10の電子回路>
図2に示すように、電子機器(関数電卓)10の電子回路は、キー入力部11、表示部12および電池電源(太陽電池)BTに加えて、コンピュータである制御部(CPU:central processing unit)13と、記憶部14と、記録媒体読取部15と、Bluetooth(登録商標)などの近距離無線通信部16と、を備えている。CPU13は、少なくとも一つのプロセッサを有している。
【0029】
制御部13は、記憶部14に記憶されている電卓制御プログラム14aに従い回路各部の動作を制御し、キー入力部11からのキー入力信号および外部から通信部16を介して受信される受信信号に応じた各種の演算処理を実行する。
【0030】
電卓制御プログラム14aは、少なくとも前述の<関数電卓10のプログラミング機能>で説明した4階調アルゴリズムモードでのプログラミング機能を実行するためのプログラムを含む。
【0031】
電卓制御プログラム14aは、記憶部14に予め記憶されていてもよいし、あるいはメモリカードなどの外部記録媒体Mから記録媒体読取部15を介して記憶部14に読み込まれて記憶されたものでもよいし、あるいは外部の通信ネットワークN上のWebサーバ(ここではプログラムサーバ)30から通信部16を介して記憶部14にダウンロードされ記憶されたものであってもよい。電卓制御プログラム14aは、ユーザがキー入力部11の操作によって書き換えできないようになっている。
【0032】
記憶部14には、さらに、計算データ記憶領域14b、ブロックエリアデータ記憶領域14c、コードエリアデータ記憶領域14d、アクティブ状態データ記憶領域14e、カーソル位置データ記憶領域14fおよび作業データ記憶領域14gなどの各種のデータ記憶領域が確保される。
【0033】
計算データ記憶領域14bには、キー入力部11の操作に応じて入力された計算式のデータ、計算結果のデータなどが記憶される。
【0034】
ブロックエリアデータ記憶領域14cには、アルゴリズムモード画面GALのブロックエリアABに一覧表示させてユーザの選択対象となる複数種類の命令ブロック([Move][Turn][Direction][Go TO x,y]など)の表示データがその命令コードのデータと共に記憶される。
【0035】
コードエリアデータ記憶領域14dには、アルゴリズムモード画面GALのブロックエリアABからユーザ操作に応じて選択されてコードエリアACに並べられた命令ブロックの表示データがその命令コードのデータと共に記憶される。
【0036】
アクティブ状態データ記憶領域14eには、4階調アルゴリズムモードにおいて、ブロックエリアABまたはコードエリアACの何れがアクティブ(有効)な状態であるかを示すデータが記憶される。
【0037】
カーソル位置データ記憶領域14fには、表示部12の表示画面上でのカーソルの位置を示すデータが記憶されるもので、4階調アルゴリズムモードでは、ブロックエリアAB内でカーソルCrが位置する命令ブロックを示すデータ(指定情報)と、コードエリアAC内でカーソルCr(またはカーソル線CrL)が位置する命令ブロック(またはその位置)を示すデータ(指定情報)とが記憶され保持される。
【0038】
作業データ記憶領域14gには、制御部13による各部の動作の制御に応じて生成または取得される各種のデータが必要に応じて一時的に記憶される。
【0039】
このように構成された電子機器としての関数電卓10は、制御部13が電卓制御プログラム14aに記述された命令に従い回路各部の動作を制御し、ソフトウエアとハードウエアとが協働して動作することにより、後述の動作説明で述べるような4階調アルゴリズムモードでのプログラミング機能を実現する。
【0040】
(実施形態の動作)
次に、実施形態の電子機器(関数電卓)10の動作について説明する。
【0041】
図3は、電子機器(関数電卓)10の4階調アルゴリズムモードでの命令ブロック挿入処理を示すフローチャートである。
【0042】
図4は、電子機器(関数電卓)10の命令ブロック挿入処理に従ったアルゴリズムモード画面GALでの表示動作を示す図である。
【0043】
キー入力部11の例えば[HOME]キーの押下に応じて表示部12に表示される動作モードのメニュー画面(図示せず)から、カーソルキー113の操作により4階調アルゴリズムモードが選択され、[EXE]キー111Eの押下により関数電卓10の動作モードが4階調アルゴリズムモードに決定されると、制御部13は、ブロックエリアABとコードエリアACとを左右に配置したアルゴリズムモード画面GALを表示部12に表示させる。
【0044】
4階調アルゴリズムモードの初期状態(デフォルト)では、制御部13は、例えば
図4の(A)に示すように、ブロックエリアABをアクティブに設定し、アクティブなブロックエリアABのカーソルCr(第1カーソル)を“黒”(第1の表示形態)、カーソルCrにより選択されている命令ブロックの文字を“白”、選択されていない命令ブロックの文字を“黒”で識別表示させる。一方、例えば
図7の(B)に示すように、非アクティブなコードエリアACのカーソルCr(第2カーソル)を“ダークグレー”(第2の表示形態)、カーソルCrにより選択されている命令ブロックの文字および選択されていない命令ブロックの文字を“グレー”で識別表示させる。
【0045】
ここで[→](右)キー111Rが押下されると、制御部13は、
図4の(B)に示すように、コードエリアABをアクティブに設定し、コードエリアABのカーソルCrを“黒”(第1の表示形態)、カーソルCrにより選択されている命令ブロックの文字を“白”、選択されていない命令ブロックの文字を“黒”で識別表示させる。一方、非アクティブのブロックエリアABの命令ブロックの文字を“グレー”で識別表示させる。
【0046】
例えば
図4の(A)で示したように、ブロックエリアABがアクティブな状態で、[↑](上)キー113Uまたは[↓](下)キー111Dの押下によりカーソルCrを移動させ、任意の命令ブロックを選択し、例えば
図4の(B)で示したように、[→](右)キー111Rの押下によりコードエリアACをアクティブな状態に切り換えると、その都度、ブロックエリアABにて選択した命令ブロックがコードエリアACの上から順番に並べられて表示され、コードエリアACに任意のプログラムを作成できる。
【0047】
なお、ブロックエリアABをアクティブに設定し当該ブロックエリアABで選択した任意の命令ブロックを、コードエリアACをアクティブに設定し当該コードエリアACに並べてプログラムを作成する処理は、
図3のフローチャートを参照して以下に説明する命令ブロック挿入処理と略同様の処理になるため、独立したフローチャートを示しての説明は省略する。
【0048】
ここで、
図1および
図4の(A)(B)に示すように、コードエリアACには、4つの命令ブロック“Go to x=-15,y=…”“Pen Down”“Repeat 10”“Move 25 pixels”を順番に並べて含んだプログラムが作成されていると仮定する。この場合、“Go to x=-15,y=…”における“Go to x,y”が命令コード(命令コード部分)、“-15”がパラメータの数値(パラメータ部分)、“=”がパラメータを説明する補足文字(パラメータ部分)であり、“Repeat 10”における“Repeat”が命令コード(命令コード部分)、“10”がパラメータの数値(パラメータ部分)であり、“Move 25 pixels”における“Move”が命令コード(命令コード部分)、“25”がパラメータの数値(パラメータ部分)、“pixels”がパラメータを説明する補足文字(パラメータ部分)である。ブロックエリアABには、主に命令コード部分にパラメータ部分が付加されない命令ブロックが表示され、コードエリアACには、主に命令コード部分にパラメータ部分が付加された命令ブロックが表示される。
【0049】
コードエリアACに作成中のプログラムにおいて、上下に並んだ任意の2つの命令ブロックの間にブロックエリアACにて選択した任意の命令ブロックを挿入する場合、
図3に示す命令ブロック挿入処理に従い命令ブロックの挿入が実行される。
【0050】
図4の(C)に示すように、ブロックエリアABがアクティブに設定された状態で(ステップS1)、[↑](上)キー113Uまたは[↓](下)キー113Dが押下されると(ステップS2(Yes))(第1操作)、制御部13は、ブロックエリアABのカーソルCrを1命令ブロックずつ上(第1方向)または下(第2方向)の指定位置に移動させる(ステップS3)。
【0051】
ブロックエリアABのカーソルCrにより命令ブロック“Move”を選択した状態で、[EXE](実行)キー111Eが押下されると(ステップS4(Yes))、制御部13は、カーソルCrにより選択されている命令ブロック“Move”を挿入対象の命令ブロックに確定する(ステップS5)。
【0052】
ここで、[→](右)キー113Rが押下されると(ステップS6(Yes))(第2操作)、制御部13は、コードエリアACをアクティブに設定し、当該コードエリアACで直前にカーソルCrにより選択されていた命令ブロック“Go to x=-15,y=…”とその次(下)の命令ブロック“Pen Down”との間にカーソル線CrLを表示させる(ステップS7)。
【0053】
なお、ステップS4においては、[EXE](実行)キー111Eの押下によりカーソルCrにより選択されている命令ブロックを挿入対象の命令ブロックに確定する代わりに、[→](右)キー113Rの押下により、カーソルCrにより選択されている命令ブロックを挿入対象の命令ブロックに確定するとともに、コードエリアACをアクティブに設定するようにしてもよい(この場合は、ステップS6は省略することができる)。
【0054】
命令ブロック挿入処理では、ブロックエリアABでの挿入対象の命令ブロック(ここでは“Move”)の確定後にコードエリアACがアクティブに切り換えられた場合(ステップS4~S7)、例外的にブロックエリアABでの白黒2階調の表示状態とコードエリアACでの命令ブロックの文字のグレーの表示状態とを維持し、当該コードエリアACではカーソル線CrLのみ“黒”にして識別表示させる。これにより、ブロックエリアABで選択した挿入対象の命令ブロック“Move”とその挿入先であるコードエリアACの挿入位置との明示を図る。
【0055】
ここで、[↑](上)キー113Uまたは[↓](下)キー113Dが押下されると(ステップS8(Yes))(第1操作)、制御部13は、コードエリアACのカーソル線CrLを1命令ブロックずつ上(第1方向)または下(第2方向)の指定位置に移動させる(ステップS9)。
【0056】
コードエリアACのカーソル線CrLにより命令ブロックの挿入位置を選択した状態で、[EXE](実行)キー111Eが押下されると(ステップS10(Yes))、制御部13は、カーソル線CrLにより選択されている命令ブロックの直下の位置、またはカーソル線CrLにより選択されている2つの命令ブロックの間(ここでは“Go to x=-15,y=…”と“Pen Down”との間)の位置を挿入位置に決定する(ステップS11)。
【0057】
制御部13は、
図4の(D)に示すように、コードエリアACにおいて決定された命令ブロックの挿入位置に、挿入対象の命令ブロック“Move 〇 pixels”をカーソルCrにより選択された状態で挿入し、当該カーソルCrを“黒”、カーソルCrにより選択されている命令ブロックの文字を“白”、それ以外の命令ブロックの文字を“黒”で識別表示させ、コードエリアACがアクティブに設定された状態を明示する。また、ブロックエリアABの命令ブロックの文字を“グレー”で識別表示させ、ブロックエリアABが非アクティブに設定された状態を明示する(ステップS12)。
【0058】
なお、ステップS10においては、[EXE](実行)キー111Eの押下によりカーソル線CrLにより選択されている命令ブロックの直下の位置を挿入位置に決定する代わりに、[←](左)キー113Lの押下により、カーソル線CrLにより選択されている命令ブロックの直下の位置を挿入位置に決定するとともに、ブロックエリアABをアクティブに設定するようにしてもよい。
【0059】
このように、4階調アルゴリズムモードでは、表示部12に対し、ブロックエリアABとコードエリアACとを左右2つのウインドウに分割して表示させたアルゴリズムモード画面GALにおいて、[←](左)キー113Lまたは[→](右)キー113RによりブロックエリアABまたはコードエリアACをアクティブな状態に切り換えるとともに、アクティブなエリアの命令ブロックの文字およびカーソルCr(カーソル線CrL)を“黒”で、非アクティブなエリアの命令ブロックの文字を“グレー”で識別表示させるので、ブロックエリアABで選択した任意の命令ブロックをコードエリアACに並べてあるいは挿入して行なうプログラミングを、キーを用いて操作性よく、直感的かつ効率的に行なうことができる。
【0060】
図5は、電子機器(関数電卓)10の4階調アルゴリズムモードでの命令ブロック変更処理(その1)を示すフローチャートである。
【0061】
図6は、電子機器(関数電卓)10の4階調アルゴリズムモードでの命令ブロック変更処理(その2)を示すフローチャートである。
【0062】
図7は、電子機器(関数電卓)10の命令ブロック変更処理に従ったアルゴリズムモード画面GALでの表示動作を示す図である。
【0063】
図7の(A)に示すように、コードエリアACに作成中のプログラムにおいて、上下に並んだ任意の命令ブロックをブロックエリアACにて選択した任意の異なる命令ブロックに置き換えて変更する場合、
図5に示す命令ブロック変更処理に従い命令ブロックの変更が実行される。
【0064】
図7の(A)に示すように、コードエリアACがアクティブに設定された状態で(ステップT1)、[↑](上)キー113Uまたは[↓](下)キー113Dが押下されると(ステップT2(Yes))(第1操作)、制御部13は、コードエリアACのカーソルCrを1命令ブロックずつ上(第1方向)または下(第2方向)の指定位置に移動させる(ステップT3)。
【0065】
コードエリアACのカーソルCrにより命令ブロック“Repeat 10”を選択した状態で、[EXE](実行)キー111Eが押下されると(ステップT4(Yes))、制御部13は、[EXE](実行)キー111Eが1回押下されてから所定時間内(例えば1秒以内)に再押下されたか否かに基づいて、1回押しされたかまたは2回押しされたかを判定する(ステップT5)。
【0066】
ここで、制御部13は、[EXE](実行)キー111Eが1回押しされたと判定した場合には(ステップT5<1回>)、選択された命令ブロック(ここでは“Repeat 10”)をユーザ任意の異なる命令ブロックに変更する処理(ステップT6~T14)に移行し、また、2回押しされたと判定した場合には(ステップT5<2回>)、選択された命令ブロック(ここでは“Repeat 10”)の命令パラメータ値をユーザ任意の値に変更する処理(ステップT15~T18)に移行する。
【0067】
[EXE](実行)キー111Eが1回押しされたと判定されると(ステップT5<1回>)、アクティブに設定されているコードエリアACにて“黒”(第1の表示形態:第1表示階調)のカーソルCrにより選択されて識別表示されている命令ブロック“Repeat 10”を変更対象の命令ブロックに確定する(ステップT6)。
【0068】
ここで、[←](左)キー113Lが押下されると(ステップT7(Yes))(第2操作)、制御部13は、
図7の(B)に示すように、ブロックエリアABをアクティブに設定し、当該ブロックエリアABのカーソルCrを“黒”(第1の表示形態:第1表示階調)、カーソルCrにより選択中の命令ブロックの文字を“白”、カーソルCrにより選択されていない命令ブロックの文字を“黒”にして識別表示させる。一方、カーソル位置データ記憶領域14fに記憶されているコードエリアACのカーソルCrの位置を示すデータに基づいて、非アクティブのコードエリアACのカーソルCrを“ダークグレー”(第2の表示形態:第2表示階調)、カーソルCrにより選択中の命令ブロック(ここでは“Repeat 10”)の文字を“グレー”、カーソルCrにより選択されていない命令ブロックの文字を“グレー”にして識別表示させる(ステップT8)。
【0069】
アクティブに切り換えられたブロックエリアABにて選択中の命令ブロックが“黒”のカーソルCrにより分かり易く識別表示されるのは勿論、非アクティブとなったコードエリアACにて変更対象に確定された命令ブロックは“ダークグレー”のカーソルCrによりが分かり易く識別表示される。
【0070】
ここで、[↑](上)キー113Uまたは[↓](下)キー113Dが押下されると(ステップT9(Yes))(第1操作)、制御部13は、ブロックエリアABのカーソルCrを1命令ブロックずつ上(第1方向)または下(第2方向)の指定位置に移動させる(ステップT10)。
【0071】
ブロックエリアABのカーソルCrにより命令ブロック“Turn”を選択した状態で、[EXE](実行)キー111Eが押下されると(ステップT11(Yes))、制御部13は、カーソルCrにより選択されている命令ブロック“Turn”の選択を確定する(ステップT12)。
【0072】
また制御部13は、
図7の(C)に示すように、コードエリアACをアクティブに設定し、当該コードエリアACのカーソルCrを“黒”、カーソルCrにより選択中の命令ブロックの文字を“白”、カーソルCrにより選択されていない命令ブロックの文字を“黒”にして識別表示させる。一方、非アクティブのブロックエリアABの命令ブロックの文字を“グレー”にして識別表示させる(ステップT13)。
【0073】
制御部13は、
図7の(A)で示したように、ステップT6にて選択を確定した変更対象の命令ブロック“Repeat 10”を、
図7の(C)に示すように、ステップT12にて選択を確定した命令ブロック“Turn”に置き換えて変更する(ステップT14)。
【0074】
一方、ステップT5において、[EXE](実行)キー111Eが2回押しされたと判定されると(ステップT5<2回>)、コードエリアACにてカーソルCrにより選択されている命令ブロック(例えば“Repeat 10”)を修正対象(命令パラメータ値を修正する対象)の命令ブロックに確定する(ステップT15)。
【0075】
ここで、数値・演算記号キー群111により、修正対象の命令ブロック“Repeat 10”に対するパラメータ値が入力され(ステップT16)、[EXE](実行)キー111Eが押下されると(ステップT17(Yes))、制御部13は、“黒”のカーソルCrで選択されている修正対象の命令ブロックの命令パラメータ値を、入力された命令パラメータ値に変更する(ステップT18)。なおコードエリアACにてカーソルCrにより選択した命令ブロックを対象にパラメータ値を新たに入力する場合も同様であり、パラメータ値が入力されて[EXE](実行)キー111Eが押下されたときに、命令コード部分にパラメータ部分(数値、補足文字)が付加された命令ブロックが自動的に表示される。
【0076】
このように、4階調アルゴリズムモードでは、表示部12に対し、ブロックエリアABとコードエリアACとを左右2つのウインドウに分割して表示させたアルゴリズムモード画面GALにおいて、[←](左)キー113Lまたは[→](右)キー113RによりブロックエリアABまたはコードエリアACをアクティブな状態に切り換えるとともに、アクティブなエリアの命令ブロックの文字およびカーソルCrを“黒”で、非アクティブなエリアの命令ブロックの文字を“グレー”、カーソルCrを“ダークグレー”で識別表示させるので、ブロックエリアABで選択した任意の命令ブロックをコードエリアACに並べたり、あるいはコードエリアACで選択した任意の命令ブロックをブロックエリアABで選択した任意の異なる命令ブロックに変更したり、あるいはコードエリアACで選択した任意の命令ブロックの命令パラメータ値を入力したり修正したりして行なうプログラミングを、キーを用いて操作性よく、直感的かつ効率的に行なうことができる。
【0077】
なお、前述した命令ブロック変更処理に従い、コードエリアACの任意の命令ブロック(ここでは“Repeat 10”)をブロックエリアABで選択した任意の異なる命令ブロック(ここでは“Turn”)に置き換えて変更した場合、
図7の(D)に示すように、コードエリアACをアクティブに設定したときは、“黒”で識別表示させた変更後の新たな命令ブロックの隣りに変更前(置き換え前)の命令ブロック“Repeat 10”を、表示階調を変えた“グレー”で識別表示させてよい。コードエリアACがアクティブな状態において、当該コードエリアAC内に“グレー”で表示階調を変えて識別表示される命令ブロックは、作成したプログラムの実行には影響しない。
【0078】
これによりユーザは、コードエリアACでのプログラミングによって変更した命令ブロックと変更前の命令ブロックとを容易に確認できる。
【0079】
また、前述した命令ブロック変更処理に従い、コードエリアACの任意の命令ブロック(ここでは“Repeat 10”)をブロックエリアABで選択した任意の異なる命令ブロック(ここでは“Turn”)に変更した場合、
図7の(E)に示すように、変更前の命令ブロック“Repeat 10”(命令パラメータ値(パラメータ部分)を含む)を、ブロックエリアデータ記憶領域14cの記憶容量の範囲内で追加して記憶させ、ブロックエリアABに一覧表示させてよい。
【0080】
これによりユーザは、例えば任意の命令パラメータ値を既に入力済みであって、命令ブロックの変更によって作成中のプログラムに使用しなくなった変更前の命令ブロックを、コードエリアACの変更後の命令ブロックと再度変更して元のプログラムの作成状態に戻したり、他のプログラムに使用したりして、有効かつ効率的なプログラミングを行なうことができる。
【0081】
図7の(D)を参照して説明した変更前の命令ブロックをコードエリアACの変更後の命令ブロックの隣りに“グレー”で表示させる動作や
図7の(E)を参照して説明した変更前の命令ブロックをブロックエリアABに追加して一覧表示させる動作は、4階調アルゴリズムモードを対象にユーザによって選択可能な動作モードの設定に基づき行わせてよい。
【0082】
また、実施形態の電子機器(関数電卓)10では、
図4および
図7で示したように、ブロックエリアABが非アクティブな状態に切り換えられた場合、カーソルCrを表示させていないが、コードエリアACが非アクティブに切り換えられた場合(
図7の(B)(E)参照)と同様に、カーソル位置データ記憶領域14fに記憶されているブロックエリアABのカーソルCrの位置を示すデータに基づいて、当該非アクティブなブロックエリアABのカーソルCrを“ダークグレー”(第2の表示形態)で表示させ、ブロックエリアABが非アクティブな状態に切り換えられる直前のアクティブな状態で選択されていた命令ブロックを分かり易く識別表示させてよい。
【0083】
また、実施形態の電子機器(関数電卓)10では、ブロックエリアABに一覧表示させる命令ブロックを上下方向に並べて表示させ、コードエリアACに並べて作成する命令ブロックも上下方向に並べて表示させる構成としたが、命令ブロックを並べて表示させる方向が上下方向に限らないのは勿論である。さらに、ブロックエリアABとコードエリアACとは、左右2つのウインドウに分けて表示させる構成としたが、2つのウインドウに分ける方向が左右方向に限らないのは勿論である。
【0084】
(実施形態のまとめ)
実施形態の電子機器(関数電卓)10によれば、ビジュアルプログラミング言語を用いて任意のプログラムを作成する4階調アルゴリズムモードでは、上下方向(第1または第2方向)に一覧表示させた複数種類の命令ブロックから任意の命令ブロックを選択するブロックエリアABと、ブロックエリアABで選択した命令ブロックを上下方向に並べてプログラムを作成するコードエリアACとを、表示部12の左右(第3または第4方向)のウインドウに分けて同時表示させ、[←](左)キー113Lまたは[→](右)キー113Rを押下して、ブロックエリアABまたはコードエリアACをアクティブな状態に切り換える。
【0085】
アクティブな状態に切り換えられた一方のエリアの命令ブロックを選択するカーソルCrおよび命令ブロックの位置を選択するカーソル線CrLは“黒”(第1の表示形態)、カーソルCrにより選択されている命令ブロックの文字は“白”、カーソルCrにより選択されていない命令ブロックの文字は“黒”として識別表示させ、非アクティブな状態に切り換えられた他方のエリアの命令ブロックを選択するカーソルCrは“ダークグレー”(第2の表示形態)、命令ブロックの文字は“グレー”として識別表示させる。
【0086】
アクティブな状態に設定された一方のエリアにおいて、“黒”のカーソルCr(カーソル線CrL)は[↑](上)キー113Uまたは[↓](下)キー113Dを押下して上または下の任意の命令ブロックの位置に移動させ、[EXE]キー111Eを押下してカーソルCr(またはカーソル線CrL)が位置する命令ブロック(または命令ブロックの位置)の選択を確定する。
【0087】
ユーザは、ブロックエリアABで選択した任意の命令ブロックをコードエリアACに並べたりあるいは任意の位置に挿入したり、あるいはコードエリアACで選択した任意の命令ブロックをブロックエリアABで選択した任意の異なる命令ブロックに変更したり、あるいはコードエリアACで選択した任意の命令ブロックの命令パラメータ値を入力または変更(修正)したりしてプログラミングを行なう。
【0088】
よって、画面サイズが小さくまたキー操作に限られる電子機器(関数電卓)10であっても、ユーザは、ビジュアルプログラミング言語を用いたプログラミングを、キーを用いて操作性よく、直感的かつ効率的に行なうことが可能になる。
【0089】
(他の実施形態)
図8は、電子機器(関数電卓)10のアルゴリズムモード画面GALに対する他の実施形態の表示動作を示す図である。
【0090】
4階調アルゴリズムモードにおいて、コードエリアACにて作成するプログラムを、“黒”で表示させて作成する動作モードと、“グレー”で表示させて作成する動作モードとを設け、制御部13は、“黒”で作成したプログラムと“グレー”で作成したプログラムとを判別可能にしてコードエリアデータ記憶領域14dに記憶させる。制御部13は、作成したプログラムを実行する場合、例えば
図8のアルゴリズムモード画面GALに示すように、“黒”で作成したプログラム(ここでは五角形を表示させるプログラム)の実行結果は左ウインドウGLに“黒”で識別表示させ、“グレー”で作成したプログラム(ここでは四角形を表示させるプログラム)の実行結果は右ウインドウGRに“グレー”で識別表示させる。
【0091】
なお、
図5~
図7を参照して説明した命令ブロック変更処理において、
図7の(D)で示したように、コードエリアACの変更後(置き換え後)の命令ブロック(ここでは“Turn 〇 degrees”)の隣りに変更前(置き換え前)の命令ブロック(ここでは“Repeat 10”)を“グレー”に変えて表示させた場合に、変更後の命令ブロック“黒”を含むプログラムの実行と同時に、変更前の命令ブロック“グレー”を含むプログラムを実行してもよい。この場合、
図8を参照して説明した場合と同様に、変更後(置き換え後)の命令ブロック“黒”を含むプログラムの実行結果は左ウインドウGLに“黒”で識別表示させ、変更前(置き換え前)の命令ブロック“グレー”を含むプログラムの実行結果は右ウインドウGRに“グレー”で識別表示させる。
【0092】
また、異なる色(ここでは“黒”と“グレー”)で作成した各プログラムの実行結果は、左右のウインドウ(GLとGR)に分けて表示させる以外に、例えばアルゴリズムモード画面GALに対応する一つの画面(ウインドウ)に重ねて表示させてもよい。
【0093】
ユーザは、“黒”と“グレー”とに分けて作成したプログラムの実行結果を、同時に分かり易くかつ比較し易く識別表示させて確認できる。
【0094】
以上の実施形態において記載した電子機器(関数電卓)10による各処理の手法、すなわち、
図3のフローチャートに示す命令ブロック挿入処理、
図5および
図6のフローチャートに示す命令ブロック変更処理などの各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカードなど)、磁気ディスク(フロッピ(登録商標)ディスク、ハードディスクなど)、光ディスク(CD-ROM、DVDなど)、半導体メモリなどの外部記録装置の媒体に格納して配布することができる。そして、電子機器の制御部(CPU)は、この外部記録装置の媒体に記録されたプログラムを記憶装置に読み込み、この読み込んだプログラムによって動作が制御されることにより、実施形態において説明した各種の機能を実現し、前述した手法による同様の処理を実行することができる。
【0095】
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(N)上を伝送させることができ、この通信ネットワーク(N)に接続されたコンピュータ装置(プログラムサーバ)から、前記プログラムのデータを電子機器に取り込んで記憶装置に記憶させ、前述した各種の機能を実現することもできる。
【0096】
なお、本発明は、実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【符号の説明】
【0097】
10 …電子機器(関数電卓)
11 …キー入力部(操作部)
111…数値・演算記号キー群
112…関数機能キー群
113…カーソルキー(操作部)
12 …表示部
13 …制御部(CPU)
14 …記憶部
14a…電卓制御プログラム
14b…計算データ記憶領域
14c…ブロックエリアデータ記憶領域
14d…コードエリアデータ記憶領域
14e…アクティブ状態データ記憶領域
14f…カーソル位置データ記憶領域
14g…作業データ記憶領域
16 …近距離無線通信部
30 …Webサーバ
N …通信ネットワーク(Web)
GAL…アルゴリズムモード画面
AB …ブロックエリア
AC …コードエリア
Cr …カーソル
CrL…カーソル線