(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024065213
(43)【公開日】2024-05-15
(54)【発明の名称】入力支援装置、入力支援方法及びプログラム
(51)【国際特許分類】
G06F 15/02 20060101AFI20240508BHJP
【FI】
G06F15/02 360D
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2022173957
(22)【出願日】2022-10-31
(71)【出願人】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】大野 真人
【テーマコード(参考)】
5B019
【Fターム(参考)】
5B019HB08
5B019HC08
5B019HC10
5B019HG16
(57)【要約】
【課題】ユーザの所望の計算式を入力することである。
【解決手段】電子卓上計算機1は、ユーザ操作に応じて入力された第1計算式に括弧が含まれている場合であって開括弧の数と閉括弧の数とが異なっている場合に、開括弧と閉括弧とのうち不足している方の不足括弧が第1計算式における所定の位置に挿入された第2計算式を修正候補として表示部14に表示させるCPU11を備える。CPU11は、過剰な方の括弧と括弧の向きを対にすることが可能な位置毎に当該位置を仮挿入位置として、不足括弧が入力計算式に仮挿入された第2計算式を生成するとともに、対にされた括弧でのくくりが不要なくくりまたは不適切なくくりとして予め設定されているくくりとなる第2計算式を修正候補から除外する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
ユーザ操作に応じて入力された第1計算式に括弧が含まれている場合であって開括弧の数と閉括弧の数とが異なっている場合に、前記開括弧と前記閉括弧とのうち不足している方の括弧が前記第1計算式における所定の位置に挿入された第2計算式を修正候補として表示させる制御手段を備え、
前記制御手段は、前記開括弧と前記閉括弧とのうち過剰な方の括弧と括弧の向きを対にすることが可能な位置毎に当該位置を仮挿入位置として前記不足している方の括弧が前記第1計算式に仮挿入された第2計算式を生成するとともに、この生成した第2計算式のうち前記対にされた括弧でのくくりが不要なくくりまたは不適切なくくりとして予め設定されているくくりとなる第2計算式を前記修正候補から除外する、
ことを特徴とする入力支援装置。
【請求項2】
前記制御手段は、前記対にされた括弧でのくくりが前記予め設定されているくくりとなる第2計算式がある場合に当該第2計算式を前記修正候補から除外する、
ことを特徴とする請求項1に記載の入力支援装置。
【請求項3】
前記予め設定されているくくりとなる第2計算式は、括弧内が数値又は変数のみであり、かつ当該括弧の親ノードの演算子が乗算又は加算の演算子である、
ことを特徴とする請求項1に記載の入力支援装置。
【請求項4】
前記予め設定されているくくりとなる第2計算式は、当該第2計算式の全体が括弧で囲われている、
ことを特徴とする請求項1に記載の入力支援装置。
【請求項5】
前記予め設定されているくくりとなる第2計算式は、開括弧の前の係数が1である、
ことを特徴とする請求項1に記載の入力支援装置。
【請求項6】
前記制御手段は、前記第2計算式から二分木データを生成し、生成した二分木データに基づいて、当該第2計算式が前記予め設定されているくくりとなる第2計算式であるか否かを判別し、前記予め設定されているくくりとなる第2計算式である場合に当該第2計算式を前記修正候補から除外する、
ことを特徴とする請求項1に記載の入力支援装置。
【請求項7】
前記制御手段は、前記所定の位置に挿入された不足している方の括弧を他の部分と表示態様を異にして前記第2計算式を表示させる、
ことを特徴とする請求項1に記載の入力支援装置。
【請求項8】
前記制御手段は、除外されていない前記修正候補の第2計算式の演算を行う、
ことを特徴とする請求項1から7のいずれか一項に記載の入力支援装置。
【請求項9】
前記制御手段は、除外されていない前記修正候補の第2計算式の採点を行う、
ことを特徴とする請求項1から7のいずれか一項に記載の入力支援装置。
【請求項10】
前記予め設定されているくくりとなる第2計算式は、当該第2計算式が模範解答と数学的に等価でない、
ことを特徴とする請求項9に記載の入力支援装置。
【請求項11】
ユーザ操作に応じて入力された第1計算式に括弧が含まれている場合であって開括弧の数と閉括弧の数とが異なっている場合に、前記開括弧と前記閉括弧とのうち不足している方の括弧が前記第1計算式における所定の位置に挿入された第2計算式を修正候補として表示させる制御工程を含み、
前記制御工程において、前記開括弧と前記閉括弧とのうち過剰な方の括弧と括弧の向きを対にすることが可能な位置毎に当該位置を仮挿入位置として前記不足している方の括弧が前記第1計算式に仮挿入された第2計算式を生成するとともに、この生成した第2計算式のうち前記対にされた括弧でのくくりが不要なくくりまたは不適切なくくりとして予め設定されているくくりとなる第2計算式を前記修正候補から除外する、
ことを特徴とする入力支援方法。
【請求項12】
コンピュータを、
ユーザ操作に応じて入力された第1計算式に括弧が含まれている場合であって開括弧の数と閉括弧の数とが異なっている場合に、前記開括弧と前記閉括弧とのうち不足している方の括弧が前記第1計算式における所定の位置に挿入された第2計算式を修正候補として表示させる制御手段として機能させ、
前記制御手段は、前記開括弧と前記閉括弧とのうち過剰な方の括弧と括弧の向きを対にすることが可能な位置毎に当該位置を仮挿入位置として前記不足している方の括弧が前記第1計算式に仮挿入された第2計算式を生成するとともに、この生成した第2計算式のうち前記対にされた括弧でのくくりが不要なくくりまたは不適切なくくりとして予め設定されているくくりとなる第2計算式を前記修正候補から除外する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、入力支援装置、入力支援方法及びプログラムに関する。
【背景技術】
【0002】
従来、電子計算機において、計算式(数式)をユーザが入力する場合に、例えば、計算式の開括弧(開き括弧)又は閉括弧(閉じ括弧)の未入力が起こりうる。このため、計算式の入力時に、括弧の深さを表示して括弧の入力ミスを抑制する電子計算機が知られている(特許文献1参照)。
【0003】
また、従来、電子計算機としての関数電卓では、計算式に閉括弧が不足していた場合に、不足分だけ閉括弧を計算式の末尾(終端)に一律的に付加して演算を行なっていた。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、括弧の深さの表示だけでは、括弧が不足する場合のユーザの確認及び修正入力の負担が大きく、括弧の入力ミスを十分に抑制できないおそれがある。また、閉括弧を計算式の末尾に一律的に付加する処理だと、ユーザの意図した計算式とは異なる計算式の演算結果が得られてしまうおそれがある。例えば、入力された計算式が“(x+1(x+2)”である場合に、末尾への閉括弧の付加処理では、“(x+1(x+2))”に修正されて演算される。しかし、ユーザが入力したかった所望の計算式が“(x+1)(x+2)”である場合に、演算結果も異なる。具体的にはx=1である場合、末尾への閉括弧の付加処理の計算式の演算結果=4となり、ユーザの所望の計算式の演算結果=6となる。
【0006】
本発明の課題は、ユーザの所望の計算式を入力することである。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の入力支援装置は、
ユーザ操作に応じて入力された第1計算式に括弧が含まれている場合であって開括弧の数と閉括弧の数とが異なっている場合に、前記開括弧と前記閉括弧とのうち不足している方の括弧が前記第1計算式における所定の位置に挿入された第2計算式を修正候補として表示させる制御手段を備え、
前記制御手段は、前記開括弧と前記閉括弧とのうち過剰な方の括弧と括弧の向きを対にすることが可能な位置毎に当該位置を仮挿入位置として前記不足している方の括弧が前記第1計算式に仮挿入された第2計算式を生成するとともに、この生成した第2計算式のうち前記対にされた括弧でのくくりが不要なくくりまたは不適切なくくりとして予め設定されているくくりとなる第2計算式を前記修正候補から除外する、
ことを特徴とする。
【発明の効果】
【0008】
本発明によれば、ユーザの所望の計算式を入力できる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施の形態の電子計算機の正面図である。
【
図2】電子卓上計算機の機能構成を示すブロック図である。
【
図4】
図3の続きの演算処理を示すフローチャートである。
【
図5】(a)は、計算式からの二分木データの作成の一例を示す図である。(b)は、別の計算式からの二分木データの作成の一例を示す図である。
【
図6】入力計算式の計算式候補、二分木データ及び最終候補の一例を示す図である。
【
図7】別の入力計算式の計算式候補、二分木データ及び最終候補の一例を示す図である。
【
図8】
図6の計算式の演算の表示画面を示す図である。
【
図9】
図7の計算式の演算の表示画面を示す図である。
【
図10】変形例の学習支援システムを示すブロック図である。
【
図11】サーバの機能構成を示すブロック図である。
【
図13】自動採点処理を示すフローチャートである。
【
図14】
図13の続きの自動採点処理を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して本発明に係る実施の形態及び変形例を順に詳細に説明する。なお、以下に述べる実施の形態及び変形例には、本発明を実施するために技術的に好ましい種々の限定が付されているが、本発明の範囲を以下の実施の形態、変形例及びこれらの図示例に限定するものではない。
【0011】
(実施の形態)
図1~
図9を参照して、本発明に係る実施の形態を説明する。まず、
図1及び
図2を参照して、本実施の形態の装置構成を説明する。
図1は、本実施の形態の電子卓上計算機1の正面図である。
図2は、電子卓上計算機1の機能構成を示すブロック図である。
【0012】
本実施の形態の入力支援装置としての電子卓上計算機1は、関数を含む計算式(数式)の演算が可能ないわゆる関数電卓であるものとする。
図1に示すように、電子卓上計算機1は、各種キー群を有する操作部12と、表示部14と、を備える。
【0013】
操作部12は、ユーザから数値や演算子などの計算式の構成要素の入力操作を受けたり、各種処理の指示操作を受けたりするためのキー群であり、それぞれ固有の機能を割り当てられた複数のキーを備える。本実施の形態において、操作部12は、テンキー210、演算キー220、関数キー230、機能キー240、演算関連キー250を含む。
【0014】
テンキー210は、数値の入力を受け付ける置数キーであり、「0」キー~「9」キーを有する。演算キー220は、演算子の入力を受け付けるキーであり、「+」キー、「-」キー、「×」キー、「÷」キーを有する。
【0015】
関数キー230は、関数に関する情報の入力を受け付けるキーであり、分数、べき乗、べき乗根、対数、三角関数、変数、演算記号、関数などの入力キーを有する。特に、関数キー230は、「x」キー231、開括弧キー232、閉括弧キー233、「sin」キー234、「CALC」キー235などを有する。「x」キー231は、変数としての「x」の入力を受け付けるキーである。開括弧キー232は、演算記号としての開括弧「(」の入力を受け付けるキーである。閉括弧キー233は、演算記号としての閉括弧「)」の入力を受け付けるキーである。「sin」キー234は、三角関数としての「sin」の入力を受け付けるキーである。「CALC」キー235は、入力された変数を含む計算式の記憶と当該変数の数値の入力開始とを受け付けるキーである。
【0016】
機能キー240は、計算式の演算に関する各種機能の入力を受け付けるキーであり、電源オンキー、メニューキー、カーソルキー、シフトキーなどを含む。電源オンキーは、電子卓上計算機1の電源オンの入力を受け付けるキーである。メニューキーは、各種メニューの選択入力を受け付けるキーである。カーソルキーは、表示部14内で編集対象位置、選択対象位置、それらの位置を示すカーソルを所定の各方向に移動させる場合などに入力されるキーである。カーソルキーは、上下左右の各方向の入力を受け付ける、上方向キー、下方向キー、左方向キー、右方向キーを有する。シフトキーは、他の文字キーと組み合わせて入力することで、入力される文字を切り替える(シフトする)入力を受け付けるキーである。
【0017】
演算関連キー250は、計算式の演算に関連する情報の入力を受け付けるキーであり、演算実行キー251、DEL(Delete)キー、AC(All Clear)キー、などを有する。演算実行キー251は、入力された計算式の実行(「=」)の入力を受け付けるキーである。DELキーは、1文字の削除の入力を受け付ける修正キーである。ACキーは、全削除の入力を受け付ける修正キーである。
【0018】
表示部14は、ドットマトリクス方式のLCD(Liquid Crystal Display)などの表示パネルにより構成されており、操作部12などの操作に応じた文字や符号、記号、数式、演算結果などの各種データを背景の白地上に表示する表示部である。本実施の形態において、表示部14は、表示態様として、白地に、黒、ダークグレー、ライトグレー、白(表示なし)の4つの階調(表示濃度)での情報の表示が可能である。以下、例えば、「背景の白地に黒」を単に「黒」と表現し、「背景の白地にダークグレー」を単に「ダークグレー」と表現するものとする。なお、表示部14の表示態様の階調数は、4以上としてもよい。なお、操作部12は、表示部14の表示パネル上に一体的に設けられて、タッチ入力を受け付けるタッチパネルを含む構成としてもよい。
【0019】
ついで、
図2を参照して、電子卓上計算機1の内部の機能構成を説明する。
図2に示すように、電子卓上計算機1は、制御手段としてのCPU(Central Processing Unit)11と、操作部12と、RAM(Random Access Memory)13と、表示部14と、記憶部15と、を備える。電子卓上計算機1の各部は、バス16を介して接続されている。
【0020】
CPU11は、電子卓上計算機1の各部を制御する。CPU11は、記憶部15に記憶された各種プログラムのうち指定されたプログラムを読み出してRAM13に展開し、展開されたプログラムとの協働で、各種処理を実行する。
【0021】
操作部12は、テンキー210、演算キー220、関数キー230、機能キー240、演算関連キー250などの複数の各種キーを有し、各種キーを介するユーザからの押下の操作入力を受け付け、その操作情報をCPU11に出力する。
【0022】
RAM13は、情報を読み出し及び書き込み可能な揮発性の半導体メモリであり、CPU11に作業用のワークエリアを提供し、データ及びプログラムを一時的に記憶する。
【0023】
表示部14は、CPU11などから入力される各種の表示情報を、4つの階調の表示態様で表示パネルの表示画面に表示する。
【0024】
記憶部15は、ROM(Read Only Memory)などにより構成され、情報の読み出しが可能な記憶部であり、各種データ及び各種プログラムを記憶している。特に、記憶部15は、後述する演算処理を実行するための演算プログラムP1を記憶する。
【0025】
つぎに、
図3~
図9を参照して、電子卓上計算機1の動作を説明する。
図3は、演算処理を示すフローチャートである。
図4は、
図3の続きの演算処理を示すフローチャートである。
図5(a)は、計算式からの二分木データの作成の一例を示す図である。
図5(b)は、別の計算式からの二分木データの作成の一例を示す図である。
図6は、入力計算式の計算式候補、二分木データ及び最終候補の一例を示す図である。
図7は、別の入力計算式の計算式候補、二分木データ及び最終候補の一例を示す図である。
図8は、
図6の計算式の演算の表示画面140a,140bを示す図である。
図9は、
図7の計算式の演算の表示画面140c,140d,140eを示す図である。
【0026】
あらかじめ、電源オンキーの押下入力により、電子卓上計算機1が電源オンされているものとする。ユーザは、電子卓上計算機1を用いて、所望の計算式を入力し、入力した計算式の演算を実行する。ここで、所望の計算式は、開括弧及び閉括弧を含み、かつ変数xを含む計算式である場合を主として説明する。所望の計算式は、例えば、“(x+1)(x+2)”である。正しい計算式において、開括弧及び閉括弧のそれぞれの数は、同じとなる。なお、所望の計算式は、他の変数(例えば、変数a,b)を含む計算式や、変数を含まない計算式(例えば、“sin(π+1)”)としてもよい。また、入力する所望の計算式は、開括弧及び閉括弧を含まないものとしてもよい。
【0027】
より具体的には、電子卓上計算機1のCPU11は、操作部12を介して、ユーザからの所望の計算式の操作入力を受け付け、入力された所望の計算式(入力計算式とする)を表示部14に表示する。例えば、ユーザからのテンキー210、「x」キー231、開括弧キー232、閉括弧キー233の押下入力により、所望の計算式“(x+1)(x+2)”が入力されて表示されるものとする。
【0028】
入力された計算式中の括弧は、1つの開括弧と1つの閉括弧とが1セットとなるため、開括弧の数と閉括弧の数とが同じになることが必要である。ただし、ユーザが入力ミスをして、入力された計算式の開括弧又は閉括弧の入力数が不足する場合もあり得る。例えば、所望の計算式“(x+1)(x+2)”が入力されるはずが、1つの閉括弧が足りない計算式“(x+1(x+2)”が入力される場合もある。
【0029】
そして、電子卓上計算機1において、操作部12を介して、ユーザからの所望の計算式の演算実行指示が操作入力されたことをトリガとして、CPU11は、記憶部15に記憶された演算プログラムP1に従い、演算処理を実行する。
【0030】
変数を含まない計算式(例えば、“sin(π+1)”)の実行指示入力は、演算実行キー251の押下入力となる。変数を含む計算式の実行指示入力は、変数を含まない計算式の場合と異なる。例えば、変数xを含む計算式“(x+1(x+2)”の入力後、「CALC」キー235の押下入力に応じて、CPU11は、「x=?」を表示部14に表示し、変数xの数値の入力をユーザに促す。そして、例えば、x=1の演算を行う場合、ユーザから「1」キーが押下入力され、続いて演算実行キー251が押下入力される。これらの「CALC」キー235、「1」キー、演算実行キー251の一連の押下入力が、変数を含む計算式の実行指示入力となる。
【0031】
図3に示すように、まず、CPU11は、あらかじめ入力された計算式(「入力計算式」とする)に含まれる全ての括弧の数を種別(開括弧又は閉括弧)ごとにカウントして比較し、不足する方の括弧(「不足括弧」とする)の種別が開括弧であるか閉括弧であるかを識別する(ステップS10)。ステップS10では、例えば、入力計算式に含まれる開括弧の数が閉括弧の数よりも少ない場合に、不足括弧が開括弧であると識別される。同様に、入力計算式に含まれる開括弧の数が閉括弧の数よりも多い場合に、不足括弧が閉括弧であると識別される。同様に、入力計算式に含まれる開括弧の数が閉括弧の数と同じ場合に、不足括弧がないと識別されるものとする。
【0032】
そして、CPU11は、ステップS10で取得された不足括弧の数n(0又は自然数)を取得する(ステップS11)。入力計算式の閉括弧の数が開括弧の数より少ない場合に、(開括弧の数)-(閉括弧の数)が、不足括弧(閉括弧)の数n(nは自然数)となる。入力計算式の開括弧の数が閉括弧の数より少ない場合に、(閉括弧の数)-(開括弧の数)が、不足括弧(開括弧)の数n(nは自然数)となる。入力計算式の開括弧の数が閉括弧の数と同じ場合に、不足括弧の数nが0となる。
【0033】
そして、CPU11は、ステップS11で取得された、入力計算式の不足括弧の数nが0であるか否かを判別する(ステップS12)。不足括弧の数nが0である場合(ステップS12;YES)、不足括弧がないため、CPU11は、入力計算式の演算を実行する(ステップS13)。そして、CPU11は、ステップS13の入力計算式の演算結果を表示部14に表示し(ステップS14)、演算処理を終了する。ステップS14では、変更なしの入力計算式と、当該入力計算式の演算結果とが、表示される。
【0034】
不足括弧の数nが0でない場合(ステップS12;NO)、不足括弧があるため、CPU11は、入力計算式を走査して、入力計算式に、ステップS10で識別された種別でかつステップS11で取得された数nの不足括弧を挿入する挿入位置を取得する(ステップS15)。数nが1の場合、挿入位置は、入力計算式に1つの不足括弧を挿入可能な少なくとも1つの位置となる。数nが複数の場合、挿入位置は、入力計算式に数nの不足括弧を挿入可能な複数の挿入位置からなる少なくとも1つの挿入位置パターンとなる。
【0035】
なお、上記のステップS10,S11では、入力計算式の不足括弧の種別(開括弧又は閉括弧)と、不足括弧の数n(n>0)と、を別々に取得する構成であるが、これに限定されるものではない。例えば、不足括弧の種別(開括弧又は閉括弧)と、不足括弧の数との取得後に、不足括弧が開括弧である場合に不足括弧の数nを正の数値で表し、かつ不足括弧が閉括弧である場合に不足括弧の数nを負の数値で表す不足括弧の数nを設定する構成としてもよい。例えば、不足括弧が開括弧であり、閉括弧の数-開括弧の数=1の場合に、不足括弧の数n=+1となり、不足括弧が閉括弧であり、開括弧の数-閉括弧=1である場合に、不足括弧の数n=-1とする。この構成では、不足括弧の数nから、不足括弧の種別及び数を認識できる。また、この不足括弧の数nの正負を逆にする構成としてもよい。
【0036】
そして、CPU11は、ステップS15で取得された挿入位置のうちの1番目の挿入位置を選択する(ステップS16)。そして、CPU11は、直前のステップS16又はS20で選択された挿入位置が挿入条件を満たすか否かを判別する(ステップS17)。
【0037】
ステップS17の挿入条件は、選択された1つの挿入位置、又は選択された1つの挿入位置パターンの各挿入位置についての下記条件(1a)、(1b)及び(1c)である。
(1a).不足括弧が閉括弧である場合に、挿入位置前の開括弧の数が、閉括弧の数より多いこと。不足括弧が開括弧である場合に、挿入位置後の閉括弧の数が、開括弧の数より多いこと。
(1b).不足括弧が閉括弧である場合に、挿入位置直前の文字が、演算子又は関数でないこと。不足括弧が開括弧である場合に、挿入位置直後の文字が、演算子(ただし加算“+”又は減算“-”を除く)でないこと。
(1c).不足括弧が閉括弧である場合に、挿入位置直後の文字が、演算子、関数又は末尾であること。不足括弧が開括弧である場合に、挿入位置直前の文字が、数値、演算子、関数又は先頭であること。
【0038】
挿入条件を満たす場合(ステップS17;YES)、CPU11は、数nの不足括弧を入力計算式の現在選択中の挿入位置に挿入して修正(補正)し、修正した入力計算式を計算式候補として登録する(ステップS18)。ステップS18の登録により計算式候補は、RAM13に格納される。
【0039】
そして、CPU11は、ステップS15で取得された挿入位置に、ステップS16又はS20で未選択の次の挿入位置があるか否かを判別する(ステップS19)。挿入条件を満たさない場合(ステップS17;NO)、ステップS19に移行される。次の挿入位置がある場合(ステップS19;YES)、CPU11は、ステップS15で取得された挿入位置のうちの次の挿入位置を選択し(ステップS20)、ステップS17に移行する。
【0040】
次の挿入位置がない場合(ステップS19;NO)、
図4に示すように、CPU11は、ステップS18で登録された計算式候補のうち、未選択の計算式候補を1つ選択する(ステップS21)。そして、CPU11は、ステップS21で選択中の計算式候補の二分木データを生成する(ステップS22)。二分木とは、データ構造の1つであり、根付き木構造の中で、全てのノード(節点)が持つ子の数が高々2であるものをいう。
【0041】
ここで、
図5(a)、
図5(b)を参照して、ステップS22における選択中の計算式候補の二分木データの具体例を説明する。例えば、
図5(a)に示すように、選択中の計算式候補が“x(x+1)”である場合に、二分木の図は、演算子“×”をルート(根)とし、ルートが、変数“x”を左の子ノードとして有し、演算子“+”を右の子の内部ノードとして有する。演算子“+”のノードは、変数“x”を左の子ノードとして有し、数値“1”を右の子ノードとして有する。変数“x”、数値“1”のノードは、リーフ(葉;子ノードがないノード)である。
【0042】
二分木のノードの階層は、ルートが一番高く、高いほど演算の優先順位が低い。演算の優先順位は、例えば、高いものから低いものへ順に、括弧内の式、括弧付き関数、(後置関数、べき乗又はべき乗根)、分数、(負符号又はn進記号)、単位換算、乗算記号の省略された乗算、(順列、組合せ又は複素数の極座標記号)、(乗算、除算又は余り計算)、(加算又は減算)、and、(or、xor又はxnor)となる。演算の優先順位が同じもの(上記の「又は」で示したもの)は、計算式の左側の位置の演算がより優先される。
【0043】
二分木データは、次の形式で記載される。
Node={
operator: OPERATOR
parenthesis: boolean
left: Node|string
right: Node|string
}
ここで、“operator: OPERATOR”は、親ノードの演算子及び数式を表す。“parenthesis: boolean”は、子ノードを含む親ノードの括弧の有無のブート値(ある場合の“true”又は無い場合の“false”)を表す。“left: Node|string”は、親ノードの左の子ノードの文字列を表す。“right: Node|string”は、親ノードの右の子ノードの文字列を表す。
【0044】
例えば、選択中の計算式候補が“x(x+1)”である場合に、二分木データは、
図5(a)に示すものとなる。また、選択中の計算式候補が“sin(x)”である場合に、二分木の図、二分木データは、
図5(b)に示すものとなる。
【0045】
図4に戻り、CPU11は、ステップS22で選択中の計算式候補の二分木データに基づいて、不要な括弧があるか否かを判別する(ステップS23)。ステップS23の不要な括弧は、選択中の計算式候補についての下記条件(2a)又は(2b)を満たす括弧である。
(2a).括弧内が数値又は変数のみであり、かつ当該括弧の親ノードの演算子が乗算“×”又は加算“+”であること。
(2b).計算式全体が括弧で囲われていること。
条件(2a)について、数学的に通常は、乗算又は加算時に、数値又は変数のみの括弧を使わないが、減算又は除算時には、数値又は変数のみの括弧を使う可能性があるためである。条件(2b)について、数学的に通常は、計算式全体が囲われている括弧を記載しないためである。
【0046】
例えば、入力計算式が“(x+1(x+2)”である場合を考える。入力計算式“(x+1(x+2)”は、1つの閉括弧が不足している。
図6に、入力計算式“(x+1(x+2)”の計算式候補“(x)+1(x+2)”、“(x+1)(x+2)”、“(x+1(x)+2)”、“(x+1(x+2))”と、これらの二分木データと、を示す。
図6の各計算式候補において、入力計算式で不足している閉括弧の修正のために挿入した閉括弧を太字で示している。
【0047】
計算式候補“(x)+1(x+2)”の二分木データにおいて、太字部分が、ルートの演算子が“+”であり、かつ左の子ノードに括弧があり括弧内が変数xのみであることを示している。このため、計算式候補“(x)+1(x+2)”は、条件(2a)を満たすので、最終候補から除外される(
図6で「NG」)。なお、計算式候補“(x+1(x)+2)”は、条件(2b)も満たす。
【0048】
また、計算式候補“(x+1(x)+2)”の二分木データにおいて、太字部分が、ルートの演算子がなく、計算式候補全体が括弧で囲われていることを示している。このため、計算式候補“(x+1(x)+2)”は、条件(2b)を満たすので、最終候補から除外される(
図6で「NG」)。
【0049】
また、計算式候補“(x+1(x+2))”の二分木データにおいて、太字部分が、ルートの演算子がなく、計算式候補全体が括弧で囲われていることを示している。このため、計算式候補“(x+1(x+2))”は、条件(2b)を満たすので、最終候補から除外される(
図6で「NG」)。
【0050】
不要な括弧がない場合(ステップS23;NO)、CPU11は、ステップS22で構文解析された選択中の計算式候補の二分木データに基づいて、不要な係数があるか否かを判別する(ステップS24)。ステップS24の不要な係数は、選択中の計算式候補についての下記条件(3a)を満たす係数である。
(3a).開括弧の前の係数でありかつ“1”であること。
条件(3a)について、数学的に通常は、開括弧の前に1の係数を記載しないためである。
【0051】
計算式候補“(x+1)(x+2)”の二分木データは、条件(2a),(2b),(3a)をいずれも満たさないので、最終候補から除外されない(
図6で「OK」)。
【0052】
仮に、例えば、
図6の計算式候補“(x+1(x+2))”に対応して、計算式全体が括弧で囲われていない計算式候補“x+1(x+2)”がある場合を考える。計算式候補“x+1(x+2)”は、文字列“(x+2)”の直前の係数が“1”である。このため、計算式候補“x+1(x+2)”は、条件(3a)を満たすので、ステップS24により最終候補から除外される。
【0053】
このように、
図6の例では、入力計算式“(x+1(x+2)”について、計算式候補“(x+1)(x+2)”以外の計算式候補が最終候補から除外される。
【0054】
また、別の例として、入力計算式が“sin(x+1”である場合を考える。入力計算式“sin(x+1”は、1つの閉括弧が不足している。
図7に、入力計算式“sin(x+1”の計算式候補“sin(x)+1”、“sin(x+1)”と、これらの二分木データと、を示す。
図7の各計算式候補において、入力計算式で不足している閉括弧の修正のために挿入した閉括弧を太字で示している。
【0055】
計算式候補“sin(x)+1”及び“sin(x+1)”の二分木データは、条件(2a),(2b),(3a)をいずれも満たさないので、最終候補から除外されない(
図7で「OK」)。このように、
図7の例では、入力計算式“sin(x+1”について、計算式候補“sin(x)+1”及び“sin(x+1)”のいずれも最終候補から除外されない。
【0056】
図4に戻り、不要な係数がない場合(ステップS24;NO)、CPU11は、選択中の計算式候補を最終候補として登録する(ステップS25)。ステップS25の登録により最終候補は、RAM13に格納される。
【0057】
そして、CPU11は、ステップS18で登録された計算式候補のうち、未選択の次の計算式候補があるか否か判別する(ステップS26)。次の計算式候補がある場合(ステップS26;YES)、ステップS21に移行される。次の計算式候補がない場合(ステップS26;NO)、CPU11は、ステップS25で登録された最終候補の数mをカウントし、最終候補の数mが何であるかを判別する(ステップS27)。
【0058】
最終候補の数mが1である場合(ステップS27;m=1)、CPU11は、1つの最終候補を修正後の入力計算式に設定する(ステップS28)。最終候補の数mが1より大きい場合(ステップS27;m>1)、CPU11は、数mの最終候補のそれぞれについて、ステップS18で挿入した不足括弧を、あらかじめ入力された入力計算式から識別するような表示態様として濃さを変えて、各最終候補を選択可能に表示部14に表示する(ステップS29)。
【0059】
そして、CPU11は、操作部12を介して、ユーザからのステップS29で表示された複数の最終候補のうちの1つの選択入力を受け付ける(ステップS30)。そして、CPU11は、ステップS30で選択入力された最終候補を修正後の入力計算式に設定する(ステップS31)。
【0060】
最終候補の数mが0である場合(ステップS27;m=0)、CPU11は、あらかじめ入力された入力計算式の末尾(不足括弧が閉括弧の場合)又は先頭(不足括弧が開括弧の場合)に、ステップS10で識別された種別の不足括弧を付加(挿入)する(ステップS32)。そして、CPU11は、不足括弧を付加(挿入)した入力計算式を修正後の入力計算式に設定する(ステップS33)。
【0061】
そして、CPU11は、ステップS28,S31又はS33で設定された修正後の入力計算式の演算を実行する(ステップS34)。そして、CPU11は、修正後の入力計算式について、ステップS18又はS32で挿入した不足括弧を、あらかじめ入力された入力計算式から識別するような表示態様として濃さを変え、当該修正後の入力計算式と、ステップS34の演算結果とを表示部14に表示し(ステップS35)、演算処理を終了する。
【0062】
ここで、
図8、
図9を参照して、演算処理における表示画面例を説明する。例えば、演算処理の実行前に、操作部12を介して、入力計算式“(x+1(x+2)”がユーザから入力された場合を考える。この入力計算式は、1つの閉括弧が不足括弧である。このとき、
図8に示す表示画面140aが表示部14に表示される。表示画面140aは、入力計算式“(x+1(x+2)”を含む。
【0063】
そして、x=1での演算実行指示が入力されたことをトリガとして、演算処理が実行される。演算処理では、
図6に示すように、計算式候補“(x)+1(x+2)”、“(x+1)(x+2)”、“(x+1(x)+2)”、“(x+1(x+2))”が生成されるものの、ステップS23の不要な括弧の条件により、1つの最終候補“(x+1)(x+2)”に絞られる。
【0064】
そして、ステップS27で最終候補の数m=1となるので、ステップS28,S34を介して、ステップS35で表示画面140bが表示部14に表示される。表示画面140bは、修正後の入力計算式“(x+1)(x+2)”と、演算結果“6”と、を含む。ただし、修正後の入力計算式“(x+1)(x+2)”のうち、元の入力計算式に挿入された閉括弧“)”のみが黒(濃い色)で表示され、他の部分がダークグレー(薄い色)で表示されている。このため、修正後の入力計算式“(x+1)(x+2)”から挿入された閉括弧が識別表示され、挿入された不足括弧の種類及び挿入位置をユーザが確実に目視で認識できる。
【0065】
また、別例として、演算処理の実行前に、操作部12を介して、入力計算式“sin(x+1”がユーザから入力された場合を考える。この入力計算式は、1つの閉括弧が不足括弧である。このとき、
図9に示す表示画面140cが表示部14に表示される。表示画面140cは、入力計算式“sin(x+1”を含む。
【0066】
そして、x=πでの演算実行指示が入力されたことをトリガとして、演算処理が実行される。“π”は、例えば、機能キー240のシフトキーと、演算関連キー250の「×10x」キーとの押下により入力される。演算処理では、計算式候補“sin(x)+1”、“sin(x+1)”が生成され、ステップS23の不要な括弧の条件と、ステップS24の不要な係数の条件とをいずれも満たさないため、数m=2の最終候補“sin(x)+1”、“sin(x+1)”が登録されると。そして、ステップS29において、表示画面140dが表示部14に表示される。
【0067】
表示画面140dは、選択肢を含む最終候補“[1]sin(x)+1”、“[2]sin(x+1)”を含む。ただし、最終候補“[1]sin(x)+1”のうち、選択肢“[1]”と、元の入力計算式に挿入された閉括弧“)”とが黒で表示され、他の部分がダークグレーで表示されている。また、最終候補“[2]sin(x+1)”のうち、選択肢“[2]”と、元の入力計算式に挿入された閉括弧“)”とが黒で表示され、他の部分がダークグレーで表示されている。
【0068】
そして、ステップS30において、1キーが押下入力されると、最終候補“[1]sin(x)+1”が選択され、修正後の入力計算式に設定される。そして、ステップS34において、“sin(x)+1”が演算され、ステップS35で表示画面140eが表示部14に表示される。表示画面140eは、修正後の入力計算式“sin(x)+1”と、演算結果“1”とを含む。ただし、修正後の入力計算式“sin(x)+1”のうち、元の入力計算式に挿入された閉括弧“)”のみが黒で表示され、他の部分がダークグレーで表示されている。
【0069】
以上、本実施の形態によれば、電子卓上計算機1は、ユーザ操作に応じて入力された第1計算式としての入力計算式に括弧が含まれている場合であって開括弧の数と閉括弧の数とが異なっている場合に、開括弧と閉括弧とのうち不足している方の不足括弧が入力計算式における所定の位置に挿入された第2計算式としての計算式候補を修正候補としての最終候補として表示部14に表示させるCPU11を備える。CPU11は、開括弧と閉括弧とのうち過剰な方の括弧と括弧の向きを対にすることが可能な位置毎に当該位置を仮挿入位置として、不足括弧が入力計算式に仮挿入された計算式候補を生成するとともに、この生成した計算式候補のうち対にされた括弧でのくくりが不要なくくりまたは不適切なくくりとして(不要な括弧がある又は不要な係数がある条件を満たすとして)予め設定されているくくりとなる計算式候補を最終候補から除外する。
【0070】
このため、入力計算式に不足括弧がある場合に、不足括弧を追加して計算式候補を生成し、不要な又は不適切な計算式候補を除外するので、除外されていない計算式候補により、ユーザが本来入力したかった数学的に正しい所望の計算式を入力できる。よって、ユーザビリティを向上できる。
【0071】
また、CPU11は、対にされた括弧でのくくりが予め設定されているくくりとなる計算式候補がある場合に計算式候補を最終候補から除外する。このため、ユーザの所望の計算式を入力できる。
【0072】
また、予め設定されているくくりとなる計算式候補は、括弧内が数値又は変数のみであり、かつ当該括弧の親ノードの演算子が乗算又は加算の演算子である。このため、数学的に通常使われない不要な括弧がある計算式候補を適切に除外できる。
【0073】
また、予め設定されているくくりとなる計算式候補は、計算式候補の全体が括弧で囲われている。このため、数学的に通常使われない不要な括弧がある計算式候補を適切に除外できる。
【0074】
また、予め設定されているくくりとなる計算式候補は、開括弧の前の係数が1である。このため、数学的に通常使われない不適切かつ不要な係数がある計算式候補を適切に除外できる。
【0075】
また、CPU11は、計算式候補から二分木データを作成し、当該二分木データに基づいて、当該計算式候補が予め設定されているくくりとなる計算式候補であるか否かを判別し、予め設定されているくくりとなる計算式候補である場合に当該計算式候補を最終候補から除外する。予め設定されているくくりとなる不要又は不適切な計算式候補を容易かつ正確に除外できる。
【0076】
また、CPU11は、所定の位置に挿入された不足括弧を他の部分と表示態様を異にして(濃さを変えて)計算式候補を表示部14に表示させる。このため、ユーザが不足括弧の挿入位置を確実に視認できる。なお、不足括弧を他の部分と異にする表示態様は、濃さ(表示濃度)に限定されるものではない。不足括弧を他の部分と異にする表示態様は、文字の線の太さ、文字種(フォント)、文字の大きさなどとしてもよく、これらの少なくとも2つを組み合わせる構成としてもよい。さらに、電子卓上計算機1が、カラー表示可能な表示部14を備える構成としてもよい。このカラー表示可能な電子卓上計算機1において、不足括弧を他の部分と異にする表示態様を、表示色とする構成としてもよい。
【0077】
また、CPU11は、除外されていない修正候補の計算式候補の演算を行う。このため、ユーザの所望の入力計算式の演算結果を正確に得ることができる。
【0078】
(変形例)
図10~
図14を参照して、上記実施の形態の変形例を説明する。
図10は、本変形例の学習支援システム3を示すブロック図である。
図11は、サーバ30の機能構成を示すブロック図である。
図12は、PC40の機能構成を示すブロック図である。
図13は、自動採点処理を示すフローチャートである。
図14は、
図13の続きの自動採点処理を示すフローチャートである。
【0079】
上記実施の形態では、電子卓上計算機1における演算のために入力された計算式の不足括弧の修正を行う構成であった。本変形例では、学習支援システム3における先生から出題された問題に対して生徒が解答した計算式の不足括弧の修正を行う構成とする。
【0080】
まず、
図10~
図12を参照して、本変形例の装置構成を説明する。本変形例の学習支援システム3は、コンピュータを用いて学校などの教育機関における生徒の学習を支援するシステムであって、少なくとも先生が生徒に課した問題を生徒が解答する処理の支援及びその解答の自動採点を行うものとする。
【0081】
図10に示すように、学習支援システム3は、入力支援装置としてのサーバ30と、PC(Personal Computer)40と、を備える。サーバ30及びPC40は、通信ネットワークNを介して通信接続されている。通信ネットワークNは、インターネットとするが、LAN(Local Area Network)などとしてもよい。
【0082】
サーバ30は、PC40の使用者(生徒)の学習支援に関するサービスを提供する情報処理装置である。PC40は、生徒が使用する端末装置であり、例えば、タブレットPCであるものとする。しかし、PC40は、これに限定されるものではなく、ノートPC、デスクトップPC、スマートフォンなど、他の端末装置としてもよい。
【0083】
図11に示すように、サーバ30は、CPU31と、操作部32と、RAM33と、表示部34と、記憶部35と、通信部36と、を備える。サーバ30の各部は、バス37を介して接続されている。
【0084】
CPU31は、サーバ30の各部を制御する。CPU31は、記憶部35に記憶された各種プログラムのうち指定されたプログラムを読み出してRAM33に展開し、展開されたプログラムとの協働で、各種処理を実行する。
【0085】
操作部32は、キーボードや、マウスなどのポインティングデバイスを有し、ユーザからのキー押下や位置情報の操作入力を受け付け、その操作情報をCPU31に出力する。
【0086】
RAM33は、情報を読み出し及び書き込み可能な揮発性の半導体メモリであり、CPU31に作業用のワークエリアを提供し、データ及びプログラムを一時的に記憶する。
【0087】
表示部34は、LCD、EL(Electro-Luminescence)ディスプレイなどで構成され、CPU31などから入力される各種の表示情報をLCDなどの表示パネルに表示する。
【0088】
記憶部35は、HDD(Hard Disk Drive)、SSD(Solid State Drive)などにより構成され、情報の読み出し及び書き込みが可能な記憶部であり、各種データ及び各種プログラムを記憶している。特に、記憶部35は、後述する学習支援処理を実行するための学習支援プログラムP2を記憶する。学習支援プログラムP2は、後述する自動採点処理を実行するための自動採点プログラムP21を含む。
【0089】
通信部36は、ネットワークカードなどにより構成され、通信ネットワークN上の外部機器と通信を行う。CPU31は、通信部36を介して外部機器としてのPC40と情報の送受信を行う。
【0090】
図12に示すように、PC40は、CPU41と、操作部42と、RAM43と、表示部44と、記憶部45と、通信部46と、を備える。PC40の各部は、バス47を介して接続されている。
【0091】
CPU41は、PC40の各部を制御する。CPU41は、記憶部45に記憶された各種プログラムのうち指定されたプログラムを読み出してRAM43に展開し、展開されたプログラムとの協働で、各種処理を実行する。
【0092】
操作部42は、タッチパネルを有し、ユーザからのタッチ入力を受け付け、その操作情報をCPU41に出力する。
【0093】
RAM43は、情報を読み出し及び書き込み可能な揮発性の半導体メモリであり、CPU41に作業用のワークエリアを提供し、データ及びプログラムを一時的に記憶する。
【0094】
表示部44は、LCD、ELディスプレイなどで構成され、CPU41などから入力される各種の表示情報をLCDなどの表示パネルに表示する。
【0095】
記憶部45は、HDD、SSDなどにより構成され、情報の読み出し及び書き込みが可能な記憶部であり、各種データ及び各種プログラムを記憶している。特に、記憶部45は、ブラウザを実行するためのブラウザプログラムP3を記憶している。
【0096】
通信部46は、無線LAN通信、モバイル通信などの無線通信部である。通信部46は、アンテナ、変復調部、信号処理回路などにより構成され、通信ネットワークN上のアクセスポイント又は基地局と無線通信を行う。CPU41は、通信部46の無線通信を介して、通信ネットワークN上の外部機器と情報の送受信を行う。
【0097】
つぎに、
図13及び
図14を参照して、学習支援システム3の動作を説明する。学習支援システム3において、サーバ30は、PC40の利用者(生徒)に、学習支援に関する各種サービス(学習支援処理)を提供する。学習支援処理としては、オンライン辞書の提供を行うオンライン辞書機能と、生徒のデジタルノートの作成支援を行うデジタルノート機能と、教育機関の授業を支援する授業支援処理と、数式、グラフの作成を支援する数学ツールと、を含む。学習支援処理は、先生が出題した数学の問題を生徒のPC40に送信し、その生徒の解答をPC40から受け付けて採点する数学出題機能を含むものとする。
【0098】
あらかじめ、数学出題機能の準備として、サーバ30のCPU31は、通信部を介して先生の所持するノートPCなどの端末装置(図示略)から数学の課題及び模範解答のデータを受信して記憶部15に記憶しているものとする。ここで、数学の課題は、模範解答が計算式であるものとする。
【0099】
そして、例えば、PC40において、操作部42を介してユーザとしての生徒からブラウザの起動指示が入力されると、CPU41は、記憶部45に記憶されたブラウザプログラムP3を実行して、ブラウザを起動する。そして、CPU41は、操作部42を介して生徒から課題サイトのURL(Uniform Resource Locator)が入力されると、CPU41は、入力されたURLに基づき、通信ネットワークNを介して、課題サイトへの接続要求をサーバ30に送信する。
【0100】
そして、サーバ30のCPU31は、課題要求をPC40から受信すると、課題を記憶部35から読み出し、通信部36を介して、読み出した課題を含むページデータをPC40に送信する。ページデータは、課題とともに、課題の解答入力欄を含むものとする。
【0101】
そして、PC40は、ページデータをサーバ30から受信すると、受信したページデータを表示部34に表示し、操作部32を介して生徒からの課題の解答入力欄への解答(計算式)の入力を受け付ける。数学の課題の解答(入力計算式)には、括弧を含む計算式が含まれる場合もあるものとする。そして、PC40は、通信部46を介して、入力された生徒の解答をサーバ30に送信する。
【0102】
サーバ30において、生徒の解答(入力計算式)をPC40から受信すると、CPU31は、記憶部35に記憶された自動採点プログラムP21に従い、自動採点処理を実行する。以下のサーバ30のCPU31が実行する自動採点処理において、電子卓上計算機1のCPU11が実行する
図3の演算処理の所定処理と同様の処理については、同様である旨を記載してその処理内容の説明を省略する
【0103】
図13に示すように、ステップS40~S42は、
図3の演算処理のステップS110~S12と同様である。不足括弧の数nが0である場合(ステップS42;YES)、不足括弧がないため、CPU31は、入力計算式と、記憶部15に記憶されている模範解答とを比較して、当該入力計算式の採点を実行する(ステップS43)。例えば、入力計算式の採点は、入力計算式が模範解答と同じ又は等価であるか否かの採点とする。
【0104】
そして、CPU31は、ステップS43の入力計算式の採点結果(を含むページデータ)を生成し、通信部36を介して、採点結果をPC40に送信し(ステップS44)、自動採点処理を終了する。ステップS44に対応して、PC40のCPU41は、通信部46を介して、採点結果(を含むページデータ)をサーバ30から受信して表示部44に表示する。
【0105】
図13のステップS45~S50、
図14のステップS51~S54は、それぞれ、
図3のステップS15~S20、
図4のステップS21~S24と同様である。不要な係数がない場合(ステップS54;YES)、CPU31は、選択中の計算式候補が、記憶部15に記憶されている模範解答と数学的に等価であるか否かを判別する(ステップS55)。例えば、
図7の入力計算式“sin(x+1”に対応する計算式候補“sin(x)+1”、“sin(x+1)”について、模範解答が“sin(x+1)”である場合に、計算式候補“sin(x)+1”は、模範解答と数学的に等価でないので最終候補から除外される。
【0106】
模範解答と数学的に等価である場合(ステップS55;YES)、ステップS56に移行される。ステップS56~S59は、それぞれ、
図4のステップS25~S28と同様である。模範解答と数学的に等価でない場合(ステップS55;NO)、ステップS57に移行される。
【0107】
最終候補の数mが1より大きい場合(ステップS58;m>1)、CPU31は、数mの最終候補のそれぞれについて、ステップS48で挿入した不足括弧を、あらかじめ入力された入力計算式のうちの他の部分から識別するような表示態様として色分けし、通信部36を介して、不足括弧を色分けした各最終候補(を含むページデータ)をPC40に送信する(ステップS60)。ステップS60に対応して、PC40のCPU41は、通信部46を介して、不足括弧を色分けした各最終候補(を含むページデータ)をサーバ30から受信して表示部44に表示する。そして、CPU41は、操作部42を介して、ユーザからの1つの最終候補の選択入力を受け付け、選択された1つの最終候補をサーバ30に送信する。
【0108】
CPU31は、通信部36を介して、ステップS60に対応して送信された1つの最終候補をPC40から受信する(ステップS61)。ステップS62~S64は、それぞれ、
図4のステップS31~S33と同様である。
【0109】
そして、CPU31は、ステップS59,S62又はS64で設定された修正後の入力計算式と、記憶部15に記憶されている模範解答とを比較して、当該入力計算式の採点を実行する(ステップS65)。そして、CPU31は、ステップS65の選択された修正後の入力計算式について、ステップS38又はS63で挿入した不足括弧を、あらかじめ入力された入力計算式から識別するように色分けし、色分けした修正後の入力計算式と、ステップS65の採点結果と(を含むページデータ)をPC40に送信し(ステップS66)、自動採点処理を終了する。ステップS66に対応して、PC40のCPU41は、通信部46を介して、色分けした修正後の入力計算式と採点結果と(を含むページデータ)をサーバ30から受信して表示部44に表示する。
【0110】
以上、本変形例によれば、演算結果の取得を除き、上記実施の形態と同様の効果を奏する。また、CPU31は、除外されていない修正候補の計算式候補の採点を行う。このため、ユーザの所望の入力計算式を正確に採点できる。
【0111】
また、予め設定されているくくりとなる計算式候補は、当該第2計算式が模範解答と数学的に等価でない。このため、数学的に正解の可能性が低い計算式候補を適切に除外できる。
【0112】
以上の説明では、本発明に係るプログラムのコンピュータ読み取り可能な媒体としてフラッシュメモリなどの記憶部15,35を使用した例を開示したが、この例に限定されない。その他のコンピュータ読み取り可能な媒体として、他の不揮発性メモリ、CD-ROMなどの可搬型記録媒体を適用することが可能である。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウエーブ(搬送波)も本発明に適用される。
【0113】
なお、上記実施の形態及び変形例における記述は、本発明に係る入力支援装置、入力支援方法及びプログラムの一例であり、これに限定されるものではない。
【0114】
例えば、上記実施の形態と変形例とを組合せ、学習支援システム3において、サーバ30のCPU31が、
図3及び
図4の演算処理を実行する構成としてもよい。この構成では、PC40は、電子卓上計算機1に対応する入力装置及び表示装置として機能する。より具体的には、CPU31は、PC40によりユーザ(生徒)から入力された解答としての入力計算式から計算式候補を生成して不要な括弧又は不要な係数を有するものを最終候補から除外する。そして、CPU31は、除外されていない計算式候補を修正後の入力計算式として演算し、演算結果をPC40に送信して表示部44に表示させる。
【0115】
本発明の実施の形態及び変形例を説明したが、本発明の範囲は、上述の実施の形態及び変形例に限定するものではなく、特許請求の範囲に記載された発明の範囲とその均等の範囲を含む。
【符号の説明】
【0116】
1 電子卓上計算機
11 CPU
12 操作部
210 テンキー
220 演算キー
230 関数キー
231 「x」キー
232 開括弧キー
233 閉括弧キー
234 「sin」キー
235 「CALC」キー
240 機能キー
250 演算関連キー
251 演算実行キー
13 RAM
14 表示部
15 記憶部
16 バス
3 学習支援システム
30 サーバ
31 CPU
32 操作部
33 RAM
34 表示部
35 記憶部
36 通信部
37 バス
40 PC
41 CPU
42 操作部
43 RAM
44 表示部
45 記憶部
46 通信部
47 バス
N 通信ネットワーク