IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特開2022-189056数式入力支援装置、数式入力支援方法及び数式入力支援プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189056
(43)【公開日】2022-12-22
(54)【発明の名称】数式入力支援装置、数式入力支援方法及び数式入力支援プログラム
(51)【国際特許分類】
   G06F 15/02 20060101AFI20221215BHJP
【FI】
G06F15/02 360Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2021097402
(22)【出願日】2021-06-10
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100108855
【弁理士】
【氏名又は名称】蔵田 昌俊
(74)【代理人】
【識別番号】100103034
【弁理士】
【氏名又は名称】野河 信久
(74)【代理人】
【識別番号】100179062
【弁理士】
【氏名又は名称】井上 正
(74)【代理人】
【識別番号】100153051
【弁理士】
【氏名又は名称】河野 直樹
(74)【代理人】
【識別番号】100199565
【弁理士】
【氏名又は名称】飯野 茂
(74)【代理人】
【識別番号】100162570
【弁理士】
【氏名又は名称】金子 早苗
(72)【発明者】
【氏名】田中 博和
【テーマコード(参考)】
5B019
【Fターム(参考)】
5B019HB08
5B019HC08
5B019HE09
(57)【要約】
【課題】数式の入力の途中でも入力の誤りをユーザに気づかせることができ、かつ修正すべき箇所が容易に分かる数式入力支援装置、数式入力支援方法及び数式入力支援プログラムを提供すること。
【解決手段】数式入力支援装置は、ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定する判定部と、数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示する表示制御部とを備える。
【選択図】図1
【特許請求の範囲】
【請求項1】
ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定する判定部と、
前記数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示する表示制御部と、
を具備する数式入力支援装置。
【請求項2】
前記表示制御部は、前記誤りの内容を示すメッセージをさらに前記表示装置に表示する請求項1に記載の数式入力支援装置。
【請求項3】
前記判定部は、数式毎に設定される関数タイプにおいて認められていない入力が前記入力が受け付けられた数式にあるか否かの判定に応じて前記誤りがあるか否かを判定する請求項1又は2に記載の数式入力支援装置。
【請求項4】
前記関数タイプにおいて認められていない入力は、入力された数式を計算する自機の仕様に応じて定められている請求項3に記載の数式入力支援装置。
【請求項5】
前記表示制御部は、前記関数タイプにおいて認められていない入力がされた箇所を前記誤りの箇所として他の箇所に対して強調して前記表示装置に表示する請求項3又は4に記載の数式入力支援装置。
【請求項6】
前記判定部は、自機のモードの設定において認められていない入力が前記入力が受け付けられた数式にあるか否かの判定に応じて前記誤りがあるか否かを判定する請求項1乃至5の何れか1項に記載の数式入力支援装置。
【請求項7】
前記モードは、実数の計算だけを許可する実数モードと、実数に加えて複素数の計算も許可する複素数モードであり、
前記判定部は、前記モードの設定が前記実数モードであり、かつ、前記入力が受け付けられた数式において計算結果が複素数になる入力があるか否かの判定に応じて前記誤りがあるか否かを判定する請求項6に記載の数式入力支援装置。
【請求項8】
前記表示制御部は、前記モードの設定において認められていない入力がされた箇所を前記誤りの箇所として他の箇所に対して強調して前記表示装置に表示する請求項6又は7に記載の数式入力支援装置。
【請求項9】
数式入力支援装置の判定部により、ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定することと、
前記数式入力支援装置の表示制御部により、前記数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示することと、
を具備する数式入力支援方法。
【請求項10】
ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定することと、
前記数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示することと、
をコンピュータに実行させるための数式入力支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、数式入力支援装置、数式入力支援方法及び数式入力支援プログラムに関する。
【背景技術】
【0002】
卓上電子計算機、所謂電卓のうちで、関数計算等の複雑な計算をすることができる関数電卓が知られている。また、関数電卓と同等の機能を実現するアプリケーションソフトウェア(以下、アプリ)も知られている。関数電卓又はそれと同等の機能を有するアプリでは、ユーザは、所望の数式を入力する。これを受けて関数電卓又はそれと同等の機能を有するアプリは、数式の計算結果をユーザに返す。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2008-276741号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
関数電卓等の仕様上の制約及び数学関数上の制約等により、関数電卓等は入力された数式に対してエラーを返すことがある。従来の関数電卓等では、入力された数式に誤りがある場合であっても計算が実行されるまではそのことが分からない場合が多い。このため、エラーが発生した場合には入力がやり直しとなり、ユーザにとっての手間がかかりやすい。また、特に関数電卓等を使い慣れてないユーザは、エラーが発生してもどこを直せばよいのかが分かりづらい。
【0005】
本発明は、数式の入力の途中でも入力の誤りをユーザに気づかせることができ、かつ修正すべき箇所が容易に分かる数式入力支援装置、数式入力支援方法及び数式入力支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の第1の態様の数式入力支援装置は、ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定する判定部と、数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示する表示制御部とを具備する。
【0007】
本発明の第2の態様の数式入力支援方法は、数式入力支援装置の判定部により、ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定することと、数式入力支援装置の表示制御部により、数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示することとを具備する。
【0008】
本発明の第3の態様の数式入力支援プログラムは、ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定することと、数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示することとをコンピュータに実行させる。
【発明の効果】
【0009】
本発明によれば、数式の入力の途中でも入力の誤りをユーザに気づかせることができ、かつ修正すべき箇所が容易に分かる数式入力支援装置、数式入力支援方法及び数式入力支援プログラムを提供することができる。
【図面の簡単な説明】
【0010】
図1図1は、一実施形態に係る数式入力支援装置の一例としての計算機の構成の一例を示す図である。
図2図2は、一例の計算機の外観正面図である。
図3A図3Aは、ディスプレイの表示の例を示す図である。
図3B図3Bは、ディスプレイの表示の例を示す図である。
図3C図3Cは、ディスプレイの表示の例を示す図である。
図4図4は、計算機における入力処理を示すフローチャートである。
図5図5は、入力判定処理について示すフローチャートである。
図6図6は、強調表示1の例を示す図である。
図7図7は、強調表示2の例を示す図である。
図8A図8Aは、強調表示3の例を示す図である。
図8B図8Bは、強調表示3の例を示す図である。
図9図9は、強調表示4の例を示す図である。
図10図10は、強調表示5の例を示す図である。
図11A図11Aは、通常表示の第1の例を示す図である。
図11B図11Bは、通常表示の第2の例を示す図である。
【発明を実施するための形態】
【0011】
図1は、一実施形態に係る数式入力支援装置の一例としての計算機1の構成の一例を示す図である。計算機1は、プロセッサ11と、メモリ12と、入力装置13と、ディスプレイ14とを有している。計算機1は、例えば関数計算機能を備えた卓上電子計算機、所謂関数電卓である。計算機1は、関数電卓以外の関数計算機能を備えた各種の電子機器であり得る。ここで、計算機1は、図1で示した以外の要素を有していてもよい。
【0012】
プロセッサ11は、計算機1の各種動作を制御するプロセッサである。プロセッサ11は、CPU、ASIC、FPGA等であってよい。また、プロセッサ11は、2つ以上のプロセッサで構成されていてもよい。プロセッサ11は、ユーザによって入力された数式の誤りの有無を判定する判定部として動作する。また、プロセッサ11は、判定部の判定結果に応じてディスプレイ14の表示を制御する表示制御部として動作する。
【0013】
メモリ12は、RAM及びROMを含む。RAMは、揮発性のメモリであって記憶部として動作し得る。RAMは、プロセッサ11における各種のデータを一時記憶するための作業メモリ等に用いられる。実施形態では、RAMは、数値キー等を介して入力された関数の引数、数式の計算結果等を記憶するための記憶領域を有している。ROMは、不揮発性のメモリである。ROMには、計算機1の起動プログラム、計算機プログラム等が記憶されている。実施形態における計算機プログラムは、ユーザによって入力された数式を計算し、計算結果をユーザに提示する処理を実行するためのプログラムである。実施形態における計算機プログラムは、数式入力支援プログラムを含む。数式入力支援プログラムは、ユーザによる数式の入力中において入力される数式に誤りがあるときに、ユーザにその旨を通知する処理を実行するためのプログラムである。
【0014】
入力装置13は、ユーザが計算機1を操作するための各種の操作インタフェースである。入力装置13を用いた操作が受け付けられたとき、その操作に応じた入力信号がプロセッサ11に伝達される。
【0015】
ディスプレイ14は、液晶ディスプレイ等の表示部である。ディスプレイ14は、電卓機能に係る各種の表示をする。ディスプレイ14は、カラー表示できるディスプレイであってもよい。また、ディスプレイ14は、タッチパネルと一体的に構成されていてもよい。
【0016】
図2は、一例の計算機1の外観正面図である。図2に示すように、計算機1の筐体正面には、入力装置13と、ディスプレイ14とが設けられている。
【0017】
入力装置13は、キーパッド131と、機能キー132とを有している。キーパッド131は、数式の入力等に用いられる各種のキーを含む操作部分である。機能キー132は、計算機1の各種機能の実施のためのキー群である。
【0018】
キーパッド131は、例えば、数値キー131a、文字キー131b、演算子キー131c、実行キー131dを含む。数値キー131aは、数値の入力に用いられるキーであって、例えば0から9のそれぞれの数値に対応したキー、ネイピア数等の予め定義された数値を入力するためのキー、小数点を入力するためのキーを含む。文字キー131bは、文字式の入力に用いられるキーであって、例えばx、y、zのそれぞれの文字に対応したキーを含む。演算子キー131cは、四則演算等の簡易的な数式の入力に用いられるキーであって、例えば加算、減算、乗算、除算、べき乗、等号、カンマ、括弧といった演算子のそれぞれに対応したキーを含む。実行キー131dは、入力された数式の計算実行指示のために用いられるキーである。
【0019】
機能キー132は、例えばカーソルキー132a、キーボードキー132b、矢印キー132c、クリアキー132d、シフトキー132eを含む。カーソルキー132aは、ディスプレイ14に表示されるカーソルを移動させる操作等に用いられるキーである。キーボードキー132bは、ディスプレイ14へのソフトウェアキーボードの表示及び非表示を切り替える操作に用いられるキーである。矢印キー132cは、ディスプレイ14への入力を1つ戻す操作等に用いられるキーである。クリアキー132dは、計算結果のクリアの操作等に用いられるキーである。シフトキー132eは、他のキーとともに使用されるキーであり、その後に押されたキーに割り当てられた別の機能を有効にするために用いられる。例えば、シフトキー132eの後でクリアキー132dが押された場合、クリアキー132dは計算機1の電源オフキーとして働く。
【0020】
図2で示した入力装置13は一例である。計算機1は、必ずしも図2で示した入力装置と同一の入力装置を有している必要はない。例えば、図2で示した一部のキーが省略されていてもよいし、図2で示した以外のキーが追加されていてもよい。
【0021】
図3A図3B及び図3Cは、ディスプレイ14の表示の例を示す図である。計算機1の起動後、ディスプレイ14には、図3Aに示すような作業エリア141が表示される。また、作業エリア141の外には、ステータスバー142が表示される。ステータスバー142には、計算機1の各種の状態表示142a、142b、142c、142d及び142eが表示される。
【0022】
例えば、状態表示142aは、「Algebra(Alg)モード」と「Assistant(Assist)モード」の何れのモードが起動中であるかを示す表示である。「Algebraモード」は、ユーザによって入力された数式を整理してからディスプレイ14の作業エリア141に表示するモードである。「Assistantモード」は、ユーザによって入力された数式をそのままディスプレイ14の作業エリア141に表示するモードである。状態表示142aは、モードを切り替えるためのソフトウェアボタンとして構成されていてもよい。
【0023】
状態表示142bは、数式の計算結果の表示形式の状態を示す表示である。例えば、表示形式は、小数で計算される結果をそのまま小数で表示する形式、小数で計算される結果を数学的記法に従って表示する形式といったものを含む。状態表示142bは、表示形式を切り替えるためのソフトウェアボタンとして構成されていてもよい。
【0024】
状態表示142cは、「Realモード」と「Complex(Cplx)モード」の何れのモードが起動中であるかを示す表示である。「Realモード」は、実数計算のための実数モードである。「Realモード」では、実数領域の計算だけが許可される。つまり、実施形態では、「Realモード」において複素数解となるような数式が入力されたときにはエラーが表示される。「Complexモード」は、複素数計算のための複素数モードである。「Complexモード」では、実数領域の計算に加えて複素数領域の計算も許可される。実施形態では、状態表示142cは、モードを切り替えるためのソフトウェアボタンとして構成されていてもよい。
【0025】
状態表示142dは、角度の単位の設定を示す表示である。角度の単位は、度、ラジアン、グラードといったものを含む。状態表示142dは、角度の単位を切り替えるためのソフトウェアボタンとして構成されていてもよい。
【0026】
状態表示142eは、計算機1の電池残量の状態を示す表示である。
【0027】
また、ユーザがキーボードキー132bを押した場合、図3Bに示すようにソフトウェアキーボード143が作業エリア141の下部に表示される。ソフトウェアキーボード143は、用途に応じた異なるキー配置を有する複数のソフトウェアキーボード143a、143b、143c、143d、143e及び143fを有している。
【0028】
例えば、Math1キーボード143aは、図3Bに示すように、各種の実数計算の入力に用いられることの多いキーが配列されたキーボードである。Math1キーボード143aは、四則演算、分数計算、平方根計算、指数計算、対数計算といった各種の計算に用いられる関数が予め割り当てられたキーを含む。また、Math2キーボード143bは、微分計算、積分計算、極限計算、複素数計算といった特定の関数計算の入力に用いられるキーが多く配置されたキーボードである。また、Math3キーボード143cは、等号、不等号、括弧といった演算子の入力に用いられるキーが多く配置されたキーボードである。また、Torigonometric(Trig)キーボード143dは、三角関数計算の入力に用いられるキーが多く配置されたキーボードである。Variable(Var)キーボード143eは、変数名の入力に用いられる文字キーが多く配置されたキーボードである。abcキーボード143fは、文字及び数字の入力に用いられるキーが多く配置されたキーボードである。
【0029】
Math1キーボード143a、Math2キーボード143b、Math3キーボード143c、Torigonometricキーボード143d、Variableキーボード143e及びabcキーボード143fは、タブによって切り替えることができるように構成されている。例えば、ユーザがMath2キーボード143bのタブを選択することにより、ディスプレイ14に表示されるキーボードが図3Bに示すMath1キーボード143aから図3Cに示すMath2キーボード143bに切り替わる。
【0030】
以下、計算機1の動作を説明する。図4は、計算機1における入力処理を示すフローチャートである。図4の処理は、メモリ12に記憶された計算機プログラムに従ってプロセッサ11により実行される。入力処理では、ユーザによって入力された数式がディスプレイ14の作業エリア141に表示される。数式の入力処理中、プロセッサ11は、ユーザによる入力が数学的な規則、計算機1の仕様、起動中のモードに対して誤りであるか否かを判定する。そして、誤りとされる入力があったときに、プロセッサ11は、ユーザに対して通知をする。
【0031】
ステップS1において、プロセッサ11は、ユーザによる入力があるか否かを判定する。ステップS1におけるキーは、ハードウェアキーとソフトウェアキーの何れも含む。ステップS1において、入力があると判定されたときには、処理はステップS2に移行する。ステップS1において、入力があると判定されていないときには、プロセッサ11は、図4の処理を終了させる。この場合、プロセッサ11は、次回の図4の処理のタイミングでの入力を待つ。
【0032】
ステップS2において、プロセッサ11は、入力が数学関数のキーの入力であるか否かを判定する。数学関数のキーは、三角関数、行列、指数関数、対数関数といった予め特定の関数が割り当てられているキーである。ステップS2において、入力が数学関数のキーの入力であると判定されたときには、処理はステップS3に移行する。ステップS2において、入力が数学関数のキーの入力であると判定されていないときには、処理はステップS5に移行する。
【0033】
ステップS3において、プロセッサ11は、入力に応じた数学関数をディスプレイ14の作業エリア141に表示させる。
【0034】
ステップS4において、プロセッサ11は、キーの入力があった数学関数の数学関数タイプを例えばメモリ12のRAMに保持させる。その後、プロセッサ11は、図4の処理を終了させる。数学関数タイプは、三角関数、行列、指数関数、対数関数といった計算機1において用いられる各種の関数を識別するための情報である。数学関数タイプは、例えば関数毎に割り当てられたID番号である。
【0035】
ステップS5において、プロセッサ11は、入力がモード変更の入力であるか否かを判定する。モード変更の入力は、例えば、状態表示142a、状態表示142b、状態表示142c、状態表示142dの何れかの選択の操作である。ステップS5において、入力がモード変更の入力であると判定されたときには、処理はステップS6に移行する。入力がモード変更の入力であると判定されていないときには、処理はステップS8に移行する。
【0036】
ステップS6において、プロセッサ11は、入力に応じてモードを変更する。例えば、状態表示142cがユーザによって選択されたときには、プロセッサ11は、RealモードとComplexモードとの間の切り替えを行う。また、プロセッサ11は、状態表示142cも更新する。
【0037】
ステップS7において、プロセッサ11は、変更されたモード設定を例えばメモリ12のRAMに保持させる。その後、プロセッサ11は、図4の処理を終了させる。モード設定は、前述したRealモードとComplexモードの何れが起動中であるかといった、計算機1の各種のモードの設定の情報である。
【0038】
ステップS8において、プロセッサ11は、入力が引数の入力であるか否かを判定する。引数の入力は、例えば数値又は演算子の入力である。ステップS8において、入力が引数の入力であると判定されたときには、処理はステップS9に移行する。ステップS8において、入力が引数の入力であると判定されていないときには、処理はステップS10に移行する。
【0039】
ステップS9において、プロセッサ11は、入力判定処理を行う。入力判定処理の後、プロセッサ11は、図4の処理を終了させる。入力判定処理は、ユーザの引数の入力が誤りなく実施されているかを判定する処理である。実施形態における入力の誤りは、計算機1がエラーを返す誤りである。入力判定処理の詳細については後で説明する。
【0040】
ステップS10において、プロセッサ11は、その他の入力に応じた処理を行う。その他の入力に応じた処理の後、プロセッサ11は、図4の処理を終了させる。その他の入力に応じた処理は、例えば実行キー131dが選択された場合の計算の実行の処理、クリアキー132dが選択された場合の計算結果のクリアの処理といった処理を含む。
【0041】
次に、入力判定処理について説明する。図5は、入力判定処理について示すフローチャートである。ステップS101において、プロセッサ11は、例えばメモリ12のRAMに記憶されている数学タイプ及びモード設定を取得する。
【0042】
ステップS102において、プロセッサ11は、数式における構文の誤りがあるか否かを判定する。例えば、通常の数式では加算記号等の演算子が連続することはないので、このような連続した演算子の入力がされた場合には、数式における構文の誤りがあると判定される。ステップS102において、数式における構文の誤りがあると判定されたときには、処理はステップS103に移行する。ステップS102において、数式における構文の誤りがあると判定されていないときには、処理はステップS104に移行する。
【0043】
ステップS103において、プロセッサ11は、ディスプレイ14の作業エリア141において強調表示1を行う。その後、プロセッサ11は、図5の処理を終了させ、図4の処理に復帰する。強調表示1は、数式における構文誤りの可能性をユーザに通知するための表示である。図6は、強調表示1の例を示す図である。強調表示1では、構文誤りであると推定される箇所に対して下線UL1が表示される。例えば、図6では、連続する「+」記号のうちの2つ目の「+」記号に対して下線UL1が表示される。また、強調表示1では、構文誤りがあることを示すエラーメッセージM1として“Invalid Syntax”のエラーメッセージも表示される。エラーメッセージM1の表示位置は、例えば最新の入力された数式の直下の行である。
【0044】
ステップS104において、プロセッサ11は、取得したモード設定より、Realモードが起動中であるか否かを判定する。ステップS104において、Realモードが起動中であると判定されたときには、処理はステップS105に移行する。ステップS104において、Realモードが起動中でない、すなわちComplexモードが起動中であると判定されたときには、処理はステップS107に移行する。
【0045】
ステップS105において、プロセッサ11は、計算結果が複素数になる入力がされたか否かを判定する。つまり、Realモードの起動中には計算結果が複素数になる入力がエラーになるために禁止される。例えば、虚数単位i又はjが入力された場合、指数関数又は対数関数の底に負の数値が入力された場合、対数関数の真数に負の数値が入力された場合には、計算結果が複素数になる入力がされたと判定される。ステップS105において、計算結果が複素数になる入力がされたと判定されたときには、処理はステップS106に移行する。ステップS105において、計算結果が複素数になる入力がされたと判定されていないときには、処理はステップS107に移行する。
【0046】
ステップS106において、プロセッサ11は、ディスプレイ14の作業エリア141において強調表示2を行う。その後、プロセッサ11は、図5の処理を終了させ、図4の処理に復帰する。強調表示2は、計算結果が複素数になる入力がされた可能性をユーザに通知するための表示である。図7は、強調表示2の例を示す図である。強調表示2では、計算結果が複素数となる可能性のある入力箇所に対して下線UL2が表示される。例えば、図7では、対数関数の真数として入力された「-1」の符号「-」に対して下線UL2が表示される。また、強調表示2では、計算結果が複素数になる可能性があることを示すエラーメッセージM2として“Non-real in Calc”のエラーメッセージも表示される。エラーメッセージM2の表示位置は、例えば最新の入力された数式の直下の行である。
【0047】
ステップS107において、プロセッサ11は、取得した数学関数タイプにより、現在の表示中の数学関数の数学関数タイプで認められていない引数が入力されたか否かを判定する。認められていない引数は、例えば数学関数タイプ毎に決められている。例えば、ある関数P(x)は整数のみを引数として受け付ける、ある関数Q(x)は実数のみを引数として受け付ける、ある関数R(x)は行列を引数として受け付けない、ある関数S(x)は文字列を引数として受け付けない、ある関数T(x)は数列を引数として受け付けない、といったように、認められていない引数は、関数毎に予め決められている。認められていない引数は、数学的な規則によって認められないものに限らず、計算機1の仕様等によって認められないものも含む。ステップS107において、現在の表示中の数学関数の数学関数タイプで認められていない引数が入力されたと判定されたときには、処理はステップS108に移行する。ステップS107において、現在の表示中の数学関数の数学関数タイプで認められていない引数が入力されたと判定されていないときには、処理はステップS109に移行する。
【0048】
ステップS108において、プロセッサ11は、ディスプレイ14の作業エリア141において強調表示3を行う。その後、プロセッサ11は、図5の処理を終了させ、図4の処理に復帰する。強調表示3は、入力された引数が現在の表示中の数学関数で認められていない引数であることをユーザに通知するための表示である。図8A及び図8Bは、強調表示3の例を示す図である。強調表示3では、現在の表示中の数学関数で認められていない引数の箇所に対して下線UL3が表示される。例えば計算機1において積分関数の引数として行列が認められていないときには、図8Aに示すように、行列の箇所に下線UL3が表示される。また、強調表示3では、引数が認められていないことを示すエラーメッセージM3として“Wrong Argument Type”のエラーメッセージも表示される。エラーメッセージM3の表示位置は、例えば最新の入力された数式の直下の行である。同様に、例えば計算機1において三角関数の引数として文字列が認められていないときには、図8Bに示すように、文字列の箇所に下線UL3が表示される。また、引数が認められていないことを示すエラーメッセージM3として“Wrong Argument Type”のエラーメッセージも表示される。
【0049】
ステップS109において、プロセッサ11は、入力された数式に循環参照が含まれているか否かを判定する。ステップS109において、入力された数式に循環参照が含まれていると判定されたときには、処理はステップS110に移行する。ステップS109において、入力された数式に循環参照が含まれていると判定されていないときには、処理はステップS111に移行する。
【0050】
ステップS110において、プロセッサ11は、ディスプレイ14の作業エリア141において強調表示4を行う。その後、プロセッサ11は、図5の処理を終了させ、図4の処理に復帰する。強調表示4は、入力された数式に循環参照が含まれていることをユーザに通知するための表示である。図9は、強調表示4の例を示す図である。強調表示4では、循環参照であると考えられる箇所に対して下線UL4が表示される。例えば図9では、定義関数f(x)=f(x)の右辺のf(x)の箇所に下線UL4が表示される。また、強調表示4では、循環参照が含まれていることを示すエラーメッセージM4として“Circular Reference”のエラーメッセージも表示される。エラーメッセージM4の表示位置は、例えば最新の入力された数式の直下の行である。
【0051】
ステップS111において、プロセッサ11は、取得した数学関数タイプにより、現在の表示中の数学関数に対して入力された引数が定義域の範囲外であるか否かを判定する。ステップS111において、現在の表示中の数学関数に対して入力された引数が定義域の範囲外であると判定されたときには、処理はステップS112に移行する。ステップS111において、現在の表示中の数学関数に対して入力された引数が定義域の範囲外であると判定されていないときには、処理はステップS113に移行する。
【0052】
ステップS112において、プロセッサ11は、ディスプレイ14の作業エリア141において強調表示5を行う。その後、プロセッサ11は、図5の処理を終了させ、図4の処理に復帰する。強調表示5は、入力された引数が定義域の範囲外であることをユーザに通知するための表示である。図10は、強調表示5の例を示す図である。強調表示5では、定義域の範囲外の引数の箇所に対して下線UL5が表示される。例えば図10では、三角関数の括弧内の数値の箇所に下線UL5が表示される。また、強調表示5では、引数が定義域の範囲外であることを示すエラーメッセージM5として“Domain”のエラーメッセージも表示される。エラーメッセージM5の表示位置は、例えば最新の入力された数式の直下の行である。
【0053】
ステップS113において、ディスプレイ14の作業エリア141において通常表示を行う。その後、プロセッサ11は、図5の処理を終了させ、図4の処理に復帰する。通常表示では、ユーザによって入力された数値又は演算子が強調表示を伴わずにそのまま表示される。図11Aは、通常表示の第1の例を示す図である。例えば、Realモードにおいて虚数単位iが入力された場合等とは異なり、Complexモードにおいては計算結果が複素数となる入力がされても通常表示がされる。図11Aに示すように、通常表示では、下線は表示されない。また、図11Bは、通常表示の第2の例を示す図である。実施形態では、図7で示した通り、対数関数において負の数が入力されたときには強調表示2が行われる。これに対し、その後の入力において強調表示2となる条件が解除された場合には、通常表示が行われる。例えば、図11Bに示すように、対数関数の引数として「-1」の後でさらに「2」が入力され、結果として対数関数の引数が「2-1」となった場合には、通常表示になる。この場合、符号「-」の箇所に表示されていた下線UL2及びエラーメッセージM2は消去される。この場合、ユーザによって実行キー131dが押されると、プログラム11は、計算結果である「0」を作業領域141に表示させる。
【0054】
以上説明したように本実施形態によれば、数式の入力中に数学関数及びモード設定等に基づく入力の誤りの有無が判定される。そして、入力の誤りがあると推定されるときには、誤りと推定される箇所がエラーメッセージとともに強調表示される。これにより、ユーザは、実際に計算を実行しなくとも入力の誤りに気づくことができる。また、誤りと推定される箇所が強調表示されるので、ユーザは修正すべき箇所を容易に特定し得る。
【0055】
[変形例]
以下、実施形態の変形例を説明する。前述した実施形態では、強調表示は、下線を表示させることで行われている。これに対し、強調表示は、誤りと推定される箇所をユーザに気づかせることができる任意の表示であってよい。例えば、強調表示は、誤りと推定される箇所の色を変える、階調を変える、点滅させるといった各種の表示で行われてよい。
【0056】
また、実施形態では、強調表示は、ユーザによる引数の入力時に行われるとされている。これに対し、強調表示は、他のタイミングでも行われてよい。例えば、強調表示は、計算の実行時に行われてもよい。例えば、計算結果のオーバーフローといった表示は、計算の実行時に行われてよい。
【0057】
また、前述した実施形態で示したエラーメッセージは、数式の下に表示されるのに限らない。例えば、エラーメッセージは、ダイアログで表示されてもよい。
【0058】
また、前述した実施形態で示したエラーメッセージは、一例である。エラーメッセージは、数学的な規則、計算機1の仕様、起動中のモードに対して適宜に設定されてよい。例えば、入力された数式中にゼロによる除算が含まれているときに、ゼロの除算がされている箇所に下線が表示され、ゼロの除算がされている旨のエラーメッセージが表示されてもよい。
【0059】
また、上述した実施形態による各処理は、コンピュータに実行させることができるプログラムとして記憶させておくこともできる。この他、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。この場合において、計算機1は関数電卓ではなく、前述した計算機プログラムと同等の機能を実現するための計算機アプリがインストールされたパーソナルコンピュータ、スマートフォン等の端末機器であってもよい。また、実施形態における計算機プログラムは、サーバと端末との連携によって実行されるウェブアプリであってもよい。さらには、実施形態における数式入力支援プログラムは、計算機プログラムに含まれるとされている。これに対し、実施形態における数式入力支援プログラムは、計算機プログラムと別のプログラムであってもよい。
【0060】
本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。更に、上記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【0061】
以下に、本出願の出願当初の特許請求の範囲に記載された発明を付記する。
[1] ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定する判定部と、
前記数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示する表示制御部と、
を具備する数式入力支援装置。
[2] 前記表示制御部は、前記誤りの内容を示すメッセージをさらに前記表示装置に表示する[1]に記載の数式入力支援装置。
[3] 前記判定部は、数式毎に設定される関数タイプにおいて認められていない入力が前記入力が受け付けられた数式にあるか否かの判定に応じて前記誤りがあるか否かを判定する[1]又は[2]に記載の数式入力支援装置。
[4] 前記関数タイプにおいて認められていない入力は、入力された数式を計算する自機の仕様に応じて定められている[3]に記載の数式入力支援装置。
[5] 前記表示制御部は、前記関数タイプにおいて認められていない入力がされた箇所を前記誤りの箇所として他の箇所に対して強調して前記表示装置に表示する[3]又は[4]に記載の数式入力支援装置。
[6] 前記判定部は、自機のモードの設定において認められていない入力が前記入力が受け付けられた数式にあるか否かの判定に応じて前記誤りがあるか否かを判定する[1]-[5]の何れか1に記載の数式入力支援装置。
[7] 前記計算機は、実数の計算だけを許可する実数モードと、実数に加えて複素数の計算も許可する複素数モードとを有し、
前記判定部は、前記モードの設定が前記実数モードであり、かつ、前記入力が受け付けられた数式において計算結果が複素数になる入力があるか否かの判定に応じて前記誤りがあるか否かを判定する[6]に記載の数式入力支援装置。
[8] 前記表示制御部は、前記モードの設定において認められていない入力がされた箇所を前記誤りの箇所として他の箇所に対して強調して前記表示装置に表示する[6]又は[7]に記載の数式入力支援装置。
[9] 数式入力支援装置の判定部により、ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定することと、
前記数式入力支援装置の表示制御部により、前記数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示することと、
を具備する数式入力支援方法。
[10] ユーザによる入力が受け付けられた数式に誤りがあるか否かを判定することと、
前記数式に誤りがあると判定された場合に、誤りの箇所を他の箇所に対して強調して表示装置に表示することと、
をコンピュータに実行させるための数式入力支援プログラム。
【符号の説明】
【0062】
1 計算機、11 プロセッサ、12 メモリ、13 入力装置、14 ディスプレイ、131 キーパッド、131a 数値キー、131b 文字キー、131c 演算子キー、131d 実行キー、132 機能キー、132a カーソルキー、132b キーボードキー、132c 矢印キー、132d クリアキー、132e シフトキー。
図1
図2
図3A
図3B
図3C
図4
図5
図6
図7
図8A
図8B
図9
図10
図11A
図11B