(実施の形態1)
実施の形態1に係る情報処理装置1について、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。実施の形態1に係る情報処理装置1は、対象者としてのユーザの入力に従って四則演算又は関数の計算を行う関数電卓である。
図1は、実施の形態1に係る情報処理装置1の外観を示す図である。図1に示すように、情報処理装置1は、ケース110と、入力部120と、表示部130と、を備える。
ケース110は、入力部120と表示部130とが外部に露出した状態で配置され、内部に後述する電源部140と、記憶部150と、制御部(処理部)160と、が配置される。ケース110は例えば金属、樹脂を含み得るが、これに限られるものではない。
入力部120は、例えば、複数のキーを有するキーボードで構成されており、そのキーがユーザによって押下されることで、押下されたことを示す信号を後述する制御部160に出力する。入力部120は、例えば数値、記号、演算、機能選択、モード選択、カーソル移動、電源操作に対応するキーを含むが、これに限られるものではない。
表示部130は、ユーザが入力した数値又は数式、演算結果、実行中のモード、又は選択された機能を表示する。表示部130は例えば液晶ディスプレイを含むが、これに限られるものではない。
図2は、実施の形態1に係る情報処理装置1の構成を示すブロック図である。図2に示すように、情報処理装置1は、入力部120と、表示部130と、電源部140と、記憶部150と、制御部160と、を備える。
電源部140は、入力部120と、表示部130と、記憶部150と、制御部160と、に電力を供給する。電源部140は、例えば一次電池、二次電池、太陽電池を含み得るが、これに限られるものではない。
記憶部150は、制御部160が実行するプログラム又はプログラムで利用されるデータを記憶する記憶媒体である。記憶部150は、ROM(Read Only Memory)、RAM(Random Access Memory)を含み得るが、これに限られるものではない。
制御部160は、記憶部150に記憶されたプログラムを実行することにより情報処理装置1の全体を制御する。制御部160は、CPUを含み得るが、これに限られるものではない。
制御部160は、記憶部150に記憶された演算プログラムを実行することにより、入力部120から伝達された入力信号に応じて四則演算、関数の計算を実行し、ユーザによって入力された数値、数式及びその計算結果を表示部130に表示する処理を行う。
制御部160は、記憶部150に記憶された、演算プログラムに関する複数の演算設定から使用演算設定としての演算設定を選択し、選択した使用演算設定に従って計算を行う。
例えば、記憶部150は、乗算記号が省略された場合において、
(A)乗算記号が省略された乗算の演算優先順位を乗除算よりも高くする
(B)乗算記号が省略された乗算の演算優先順位を乗除算と同等とする
という2通りの演算設定を記憶している。
例として、ユーザが以下の数式を入力した場合について説明する。
6÷2(1+2) …(1)
式(1)では、「2」と「(1+2)」との間の乗算記号が省略されている。
演算設定(A)が使用演算設定として選択されている場合、制御部160は、乗算省略がなされている「2(1+2)」の計算を優先し、計算結果として「1」を出力して表示部130に表示する。
演算設定(B)が使用演算設定として選択されている場合、制御部160は、乗算省略がなされている「2(1+2)」の演算を乗算記号と同等とするため、入力された数式において(1+2)よりも前に位置する「6÷2」の計算を優先し、計算結果として「9」を出力して表示部130に表示する。
制御部160が実行する演算プログラム設定処理について説明する。図3は、表示部130に表示された編集前の数式を示す図である。図3に示すように、ユーザが式(1)を入力し、制御部160が式(1)を演算プログラムに従って演算して式(1)及びその計算結果である「1」を表示部130に表示させている状態を例として説明する。
制御部160は、数式が入力されると、数式の構文解析を行い、数式に乗算記号の省略(乗算省略)が含まれているかどうかを判定する。数式に乗算省略の省略が含まれていない場合、演算プログラム設定処理を終了する。ユーザが使用演算設定を変更する前の演算結果を暫定演算結果という。
ユーザが入力した式(1)とその計算結果「1」とが表示部130に表示されている状態において、制御部160は、ユーザにより入力部120が操作されて演算結果の編集を要求する信号が伝達されたかどうかを判定する。ユーザによる演算結果の編集を要求する信号が伝達されると、制御部160は、ユーザに対し演算結果の編集を入力させる表示を表示部130に表示させる。
図4は、表示部130に表示された演算結果の編集をユーザに入力させる表示の図である。図4に示すように、制御部160は、計算結果である「1」が表示されていた箇所(図3参照)に、計算結果に変えてユーザの入力を促すカーソルを表示させる。
表示部130に表示された演算結果の編集を入力させる表示に応じて、ユーザが入力部120を操作することによって、ユーザが数式の計算結果として求めていた数値を編集値として入力する。入力部120は入力された編集値を制御部160に伝達し、制御部160は編集値を取得する。制御部160は、表示部130を制御して、取得した編集値を表示部130に表示させる。ユーザが入力した編集値は、暫定演算結果が編集されたものであり、編集演算結果という。
制御部160は、ユーザが入力部120を介して入力した編集演算結果を取得する。
図5は、取得された編集値を数式とともに表示部130に表示した場合を示す図である。図5に示すように、ユーザが式(1)の計算結果として求めていた数値「9」を入力すると、制御部160は、表示部130を制御して、ユーザの入力した数値「9」を表示部130に表示させる。
また、制御部160は、ユーザが使用演算設定を変更する前の演算結果である暫定演算結果と、ユーザが入力した編集演算結果とが一致するかどうかを判定する。
制御部160は、暫定演算結果と、ユーザが入力した編集演算結果とが一致すると判別した場合、乗算省略に関する演算設定に関し、使用演算設定を変更した上で再度計算を行い、再計算の結果がユーザの入力した編集値と一致するかどうかを判定する。再計算の結果がユーザの入力した編集値と一致しない場合、制御部160は、エラーを示す表示を表示部130に表示させる。
今回の例では、式(1)に乗算省略が含まれているため、制御部160は使用演算設定の変更と、変更された使用演算設定に基づく再計算と、を行う。制御部160は、乗算省略に関する演算設定について、演算設定(A)から演算設定(B)に使用演算設定を変更した場合の計算結果が「9」であり、ユーザの入力した編集値である「9」と一致するため、一致したと判定する。
再計算の結果がユーザの編集値と一致したと判定すると、制御部160は、再計算に用いた演算設定を使用演算設定の変更候補とし、ユーザに使用演算設定を再計算に用いた演算設定に変更してもよいかどうか確認する表示を、表示部130に表示させる。
図6は、表示部130に表示された使用演算設定の変更の是非をユーザに確認する表示の図である。図6に示すように、制御部160は、乗算省略に関する演算設定について、使用演算設定を変更してもよいかどうか確認する表示を、表示部130に表示させる。
表示部130に表示された使用演算設定を変更してもよいかどうか確認する表示に応じて、ユーザは入力部120を操作して、使用演算設定の変更を許可するかどうか入力する。
制御部160は、ユーザによる使用演算設定の変更の許可が入力されたかどうかを判定する。ユーザによる使用演算設定変更の許可が入力された場合、それに応じて制御部160は使用演算設定を変更し、記憶部150に使用演算設定が変更されたことを記憶させ、使用演算設定が変更されたことを示す表示を表示部130に表示させる。制御部160は、使用演算設定を変更することによって演算プログラムを修正する。
使用演算設定の変更の拒否が入力された場合、制御部160は使用演算設定を変更せず、処理を終了する。
図7は、実施の形態1に係る情報処理装置1の制御部160が実行する演算プログラム設定処理のフローチャートである。図7のフローチャートを参照して、設定変更処理について説明する。
演算プログラム設定処理が開始されると、制御部160は、ユーザによって入力部120を介して入力された数式の構文解析を行い、数式に乗算省略が含まれているかどうかを判定する(ステップS101)。数式に乗算省略が含まれていない場合(ステップS101:NO)、演算プログラム設定処理を終了する。
数式に乗算省略が含まれている場合(ステップS101:YES)、制御部160は、数式を演算プログラムに従って演算し、演算プログラムによる演算結果を取得する(ステップS102)。
演算プログラムによる演算結果を取得すると、制御部160は、ユーザによる演算結果の編集要求が行われたかどうか判定する(ステップS102A)。行われていない場合(ステップS102A:NO)、演算プログラム設定処理を終了する。
ユーザによる演算結果の編集要求が行われた場合(ステップS102A:YES)、制御部160は、ユーザによって入力部120を介して入力された数式の演算結果の編集値を取得する(ステップS103)。
演算結果の編集値を取得すると、制御部160は、演算プログラムによる演算結果と編集値とが一致するかどうか判定する(ステップS104)。演算結果と編集値とが一致した場合(ステップS104:YES)、演算プログラム設定処理を終了する。
演算結果と編集値とが一致しない場合(ステップS104:NO)、制御部160は、乗算省略に関する演算プログラムの演算設定を変更し、再演算を行う(ステップS105)。すなわち、前述したように、使用演算設定を演算設定Aと演算設定Bとの間で変更する(切り替える)。
再演算を行うと、制御部160は、再演算結果とユーザの入力した編集値とが一致するかどうか判定する(ステップS106)。
再演算の結果と編集値とが一致しない場合(ステップS106:NO)、制御部160は、エラーを示す表示を表示部130に表示させ(ステップS107)、演算プログラム設定処理を終了する。
再演算結果と編集値とが一致した場合(ステップS106:YES)、制御部160は、再計算に用いた演算設定を演算プログラムの演算設定の変更候補とし、ユーザに演算プログラムの演算設定の変更を確認する表示を表示部130に表示させる(ステップS108)。
演算プログラムの演算設定を変更してもよいかどうか確認する表示を表示部130に表示させると、制御部160は、演算プログラムの演算設定変更の許可がユーザにより入力されたかどうか判定する(ステップS109)。
ユーザによる演算プログラムの演算設定変更の許可が入力されない場合(ステップS109:NO)、制御部160は、上記ステップS107を実行し、演算プログラム設定処理を終了する。
演算プログラムの演算設定変更の許可が入力された場合(ステップS109:YES)、制御部160は演算プログラムの演算設定の変更を確定し、記憶部150に演算プログラムの演算設定を変更したことを記憶させ(ステップS110)、演算プログラム設定処理を終了する。
制御部160は、ステップS102A、ステップS104、ステップS106及びステップS109において演算プログラムを修正すべきか否かを判定する。
以上の構成を備え、演算プログラム設定処理を実行することで、実施の形態1に係る情報処理装置1は、対象者の意図する演算結果を容易に得ることができる。
関数電卓による数式の演算結果がユーザの意図しないものであり、その原因が関数電卓の演算設定にある場合、多数の演算設定の中からユーザの想定と異なっている設定を探し出して設定を変更することは困難かつ煩雑である。実施の形態1に係る情報処理装置1によれば、情報処理装置1が導出した演算結果をユーザが編集するという直感的な操作を行うことで、演算プログラムの設定を行うことができる。
例えば、授業において生徒が同時に情報処理装置1を使う状況で、教師が生徒に例題とその答えを提示して情報処理装置1に入力させることで、全員の情報処理装置1の演算プログラム設定を簡易に行うことができる。このとき、生徒は設定の存在を意識することもなく簡易に設定を変更することができる。
また、実施の形態1に係る情報処理装置1は、演算結果を変更して再演算を行い、ユーザが編集した演算結果と演算結果が一致する設定を選択して演算プログラムを修正することで、ユーザの意図する演算結果を得ることができる。
また、実施の形態1に係る情報処理装置1は、数式に乗算省略が含まれている場合に、乗算省略の優先順位を乗除算よりも優先するか否かを切り換えて演算プログラムを修正することで、ユーザの意図しない演算結果を生じやすい乗算省略に関する演算プログラムを容易に修正することができると共に、ユーザの望まない演算プログラムの修正を防ぐことができる。
また、実施の形態1に係る情報処理装置1は、演算プログラムを修正すべきか否かを判定し、修正すべきと判定した場合に実際に演算プログラムを修正することで、ユーザが所望する演算結果が確実に算出されるよう演算プログラムを修正することができると共に、ユーザの望まない演算設定の変更を防ぐことができる。
実施の形態1では、数式が入力され、暫定演算結果を算出し、ユーザにより演算結果の編集を要求する入力が行われ、暫定演算結果が編集される、として説明したが、これに限られるものではない。ユーザにより演算結果の編集を要求する入力が行われた後、数式と編集演算結果に相当する数式の答えとが入力され、制御部160が数式を演算して暫定演算結果を算出し、算出した暫定演算結果と入力された編集演算結果とに基づいて、演算プログラムを修正しても良い。
(実施の形態2)
実施の形態2に係る情報処理装置1について、図面を参照して説明する。実施の形態2に係る情報処理装置1の構成は、実施の形態1に係る情報処理装置1と同様である(図1及び図2参照)。
実施の形態2に係る情報処理装置1の制御部160は、記憶部150に記憶された複数の演算プログラムの各々を実行することにより、入力部120から伝達された入力信号に応じて四則演算、関数の計算を実行し、ユーザによって入力された数値、数式及びその計算結果を表示部130に表示する処理を行う。
制御部160は、ユーザの入力した数式について、複数の演算プログラムに関する演算設定によって複数の計算結果が存在すると判定した場合に、計算に用いた演算設定と、計算にその演算設定を用いた場合のそれぞれの計算結果とをユーザに提示する表示を、表示部130に表示させる。
ユーザが実施の形態1の図3に示す前記式(1)、すなわち、6÷2(1+2)を入力した場合を例として説明する。ユーザが式(1)を入力した場合、式(1)は、演算設定(A),(B)、即ち、
(A)乗算記号が省略された乗算の演算優先順位を乗除算よりも高くする
(B)乗算記号が省略された乗算の演算優先順位を乗除算と同等とする
の演算設定のいずれを用いるかによって複数の計算結果が存在するものであるから、制御部160は、演算設定と計算結果とを表示部130に表示させる。
図8は、表示部130に表示された演算設定と計算結果とを示す図である。図8に示すように、制御部160は、計算に用いた演算設定である「乗算省略:優先」及び「乗算省略:同等」と、その演算設定を用いた場合のそれぞれの計算結果である「Ans=1」及び「Ans=9」とを表示部130に表示させる。なお、入力部120が含むキーに合わせ、演算設定(A)とその計算結果を「1」に対応させて表示し,演算設定(B)とその表示結果を「2」に対応させて表示している。
表示部130に表示された演算設定と計算結果との表示に応じて、ユーザは、入力部120の「1」と表示されたキー又は「2」と表示されたキーを操作することによって、演算設定(A)及び(B)のいずれかを選択する。入力部120は、ユーザにより選択された演算設定を示す信号を制御部160に伝達する。制御部160は、表示部130を制御して、選択された演算設定を使用演算設定として保存してもよいかどうかをユーザに案内する表示を、表示部130に表示させる。
表示部130に表示された演算設定を使用演算設定として保存してもよいかどうか確認する表示に応じて、ユーザは入力部120を操作して、使用演算設定の保存を許可するかどうか入力する。
制御部160は、ユーザによる使用演算設定の保存の許可が入力されたかどうかを判定する。ユーザによる使用演算設定の保存の許可が入力された場合、それに応じて制御部160は使用演算設定を保存し、記憶部150に使用演算設定が保存されたことを記憶させ(後述する演算設定保存完了フラグ)、使用演算設定が保存されたことを示す表示を、表示部130に表示させる。
使用演算設定の保存の拒否が入力された場合、制御部160は使用演算設定を保存せず、処理を終了する。
別の例として、ユーザが以下の式(2)を入力した場合について説明する。
sin(30) …(2)
式(2)は、角度の単位として度、ラジアン又はグラードのいずれを用いるかによって複数の計算結果が存在するものであるから、制御部160は、演算設定と計算結果とを表示部130に表示させる。
図9は、表示部130に表示された演算設定と計算結果とを示す図である。図9に示すように、制御部160は、計算に用いた演算設定である「角度:度数法」、「角度:弧度法」及び「角度:グラード」と、その演算設定を用いた場合のそれぞれの計算結果である「Ans=0.5」、「Ans=-0.98」及び「Ans=0.45」とを表示部130に表示させる。
表示部130に表示された演算設定と計算結果との表示に応じて、ユーザが入力部120の「1」と表示されたキー、「2」と表示されたキー又は「3」と表示されたキーを操作する。以下の処理は式(1)の例と同様である。
制御部160は、上述したように使用演算設定の保存が完了した場合、そのことを表すために、演算設定保存完了フラグを「1」に設定し、記憶部150に記憶させる。記憶部150に記憶された演算設定保存完了フラグが「1」である場合、制御部160は、ユーザの入力した数式について、複数の演算設定によって複数の計算結果が存在すると判断した場合であっても、図8及び図9に示すような計算に用いた設定と、計算にその設定を用いた場合のそれぞれの計算結果とを、表示部130に表示させない。
制御部160は、ユーザが演算設定を選択するための操作、又は情報処理装置1の全ての演算設定を工場出荷時に戻す操作を行った場合に、演算設定保存完了フラグを「0」にリセットし、記憶部150に記憶する。この処理によって、再度、演算設定の選択を促す表示を行うことができる。なお、演算設定保存完了フラグには、乗算省略を含む数式に関する第1演算設定保存完了フラグF_CSDONE1と、三角関数を含む数式に関する第2演算設定保存完了フラグF_CSDONE2とが、設定されている。
図10は、実施の形態2に係る情報処理装置1の制御部160が実行する演算プログラム設定処理のフローチャートである。図10のフローチャートを参照して、演算プログラム設定処理について説明する。
演算プログラム設定処理が開始されると、制御部160は、ユーザによって入力部120を介して入力された数式の構文解析を行い、数式に乗算省略が含まれているかどうかを判定する(ステップS401)。数式に乗算省略が含まれていない場合(ステップS401:NO)、ステップS404に進む。
数式に乗算省略が含まれている場合(ステップS401:YES)、制御部160は、第1演算設定保存完了フラグF_CSDONE1が「1」であるかどうか、すなわち、乗算省略を含む数式に関する使用演算設定の保存が完了しているかどうかを判断する(ステップS402)。乗算省略を含む数式に関する使用演算設定の保存が完了している場合(ステップS402:YES)、ステップS404に進む。
一方、乗算省略を含む数式に関する使用演算設定の保存が完了していない場合(ステップS402:NO)、制御部160は、設定変更選択フラグをオンにし(ステップS403)、ステップS404に進む。
このステップS404では、制御部160は、入力された数式に三角関数が含まれているかどうかを判定する。数式に三角関数が含まれていない場合(ステップS404:NO)、ステップS407に進む。
数式に三角関数が含まれている場合(ステップS404:YES)、制御部160は、第2演算設定保存完了フラグF_CSDONE2が「1」であるかどうか、すなわち、三角関数を含む数式に関する使用演算設定の保存が完了しているかどうかを判断する(ステップS405)。三角関数を含む数式に関する使用演算設定の保存が完了している場合(ステップS405:YES)、ステップS407に進む。
一方、三角関数を含む数式に関する使用演算設定の保存が完了していない場合(ステップS405:NO)、制御部160は、設定変更選択フラグをオンにし(ステップS406)、ステップS407に進む。
制御部160は、設定変更選択フラグがオンかどうか判断する(ステップS407)。オンでないと判断した場合(ステップS407:NO)、演算プログラム設定処理を終了する。
設定変更選択フラグがオンであると判断した場合(ステップS407:YES)、制御部160は、図8及び図9を参照して前述したように、入力された式についてそれぞれの演算設定を用いて計算を行い、演算設定と計算結果とを表示部130に表示させる(ステップS408)。
演算設定と計算結果とを表示部130に表示させると、制御部160は、ユーザによる演算設定を選択する入力を、入力部120を介して受け付ける(ステップS409)。
演算設定を選択する入力を受け付けると、制御部160は、選択された演算設定を使用演算設定として保存してもよいかどうかをユーザに確認する表示を、表示部130に表示させる(ステップS410)。
使用演算設定を保存してもよいかどうか確認する表示を表示部130に表示させると、制御部160は、ユーザによる使用演算設定の保存を許可する入力を、入力部120を介して受け付け、ユーザにより使用演算設定の保存が許可されたかどうか判断する(ステップS411)。許可されなかった場合(ステップS411:NO)、ステップS408に戻る。
使用演算設定の保存が許可された場合(ステップS411:YES)、制御部160は、選択された演算設定を使用演算設定として記憶部150に記憶させる(ステップS412)とともに、第1及び第2演算設定保存完了フラグF_CSDONE1、F_CSDONE2のうち、ステップS411で保存が許可された使用演算設定に対応するフラグを「1」に設定し、記憶部150に記憶させる。
選択された使用演算設定を記憶部150に記憶させると、制御部160は、選択された使用演算設定を用いた計算結果を表示部130に表示させ(ステップS413)、演算プログラム設定処理を終了する。
制御部160は、ステップS401及びステップS404において、ユーザによって入力された入力データが特定の数式に係る特定データであるという条件が成立しているか否かを判定し、ステップS402、ステップS405、ステップS407、及びステップS411において、その他の所定条件が成立しているか否かを判定している。
以上の構成を備え、演算プログラム設定処理を実行することで、実施の形態2に係る情報処理装置1は、実施の形態1に係る情報処理装置1と同様の効果を奏する。
実施の形態2に係る情報処理装置1は、ユーザによって入力された数式に係る入力データが特定のデータである、例えば乗算省略又は三角関数を含むものであって、設定によって複数の計算結果が存在する場合に、設定と計算結果とを表示することでユーザに問合せを行い、ユーザの回答に応じて設定を変更して計算結果を表示することで、ユーザが設定のことを知らない、又は設定を意識していない場合であっても、ユーザが望まない計算結果を提示してしまうことを防ぎ、ユーザが望む計算結果を提示することが可能となる。
(実施の形態3)
次に、実施の形態3に係る情報処理装置2について、図面を参照して説明する。実施の形態2に係る情報処理装置2は、端末3と通信を行って、ユーザから数式で表される問題の解答を入力され、入力されたユーザによる解答の採点を行うとともに、その採点結果を端末3に返信する。
図11は、実施の形態3に係る情報処理装置2の構成を示すブロック図である。図11に示すように、情報処理装置2は、電源部240と、記憶部250と、制御部(処理部)260と、通信部270と、を備える。
電源部240は、記憶部250と、制御部260と、通信部270と、に電力を供給する。電源部240は、例えば一次電池、二次電池、外部電源と接続されるコネクタを含み得るが、これに限られるものではない。
記憶部250は、制御部260が実行するプログラム又はプログラムで利用されるデータ、数式で表される問題に対するユーザによる解答を含む解答テキストデータ、この問題の正答を含む正答データ、ユーザによる解答を評価した評価データ、この評価データを生成するための演算プログラム、この演算プログラムに関する演算設定を含む設定データ、を記憶する記憶媒体である。記憶部250は、例えばROM、RAMを含み得るが、これに限られるものではない。
制御部260は、記憶部250に記憶されたプログラムを実行することにより情報処理装置2の全体を制御するとともに、ユーザによる解答を評価する評価処理及び演算設定を変更する演算プログラム設定処理を実行する。制御部260は、例えばCPUを含み得るが、これに限られるものではない。
通信部270は、端末3と通信を行い、解答テキストデータ、評価データ、設定データ、指示データの送受信を行う。通信部270は、例えばインターネットを含むネットワークを介して端末3と通信を行うが、これに限られるものではない。
図12は、実施の形態3の端末3の構成を示すブロック図である。図12に示すように、端末3は、端末入力部320と、端末表示部330と、端末電源部340と、端末記憶部350と、端末制御部(端末処理部)360と、端末通信部370と、画像読取部380と、を備える。
端末入力部320は、ユーザによって操作されることで、操作されたことを示す信号を端末制御部360に出力するユーザインタフェースである。端末入力部320は、例えばキーボード、タッチパッド、タッチパネルを含むが、これに限られるものではない。
端末表示部330は、端末3に入力された解答、情報処理装置2から送信された解答の評価結果を表示する。端末表示部330は例えば液晶ディスプレイを含むが、これに限られるものではない。
端末電源部340は、端末入力部320と、端末表示部330と、端末記憶部350と、端末制御部360と、端末通信部370と、画像読取部380と、に電力を供給する。端末電源部340は、例えば一次電池、二次電池、外部電源と接続されるコネクタを含み得るが、これに限られるものではない。
端末記憶部350は、端末制御部360が実行するプログラム又はプログラムで利用されるデータ、数式で表される問題の解答の画像データ及びテキストデータを記憶する記憶媒体である。端末記憶部350は、例えばROM、RAMを含み得るが、これに限られるものではない。
端末制御部360は、端末記憶部350に記憶されたプログラムを実行することにより情報処理装置2の全体を制御するとともに、ユーザによる解答の画像データをテキストデータに変換する画像処理を行う。端末制御部360は、例えばCPUを含み得るが、これに限られるものではない。
端末通信部370は、情報処理装置2と通信を行い、解答テキストデータ、評価データ、設定データ、指示データの送受信を行う。端末通信部370は、例えばインターネットを含むネットワークを介して情報処理装置2と通信を行うが、これに限られるものではない。
画像読取部380は、解答を画像データとして読み取り、読み取った画像データを端末制御部360に伝達する。画像読取部380は、例えばカメラ、イメージスキャナを含み得るが、これに限られるものではない。
制御部260が実行する演算プログラム設定処理について説明する。図13は、端末3の端末表示部330に表示された解答者毎の解答を示す図である。図13に示すように、解答者A,B,C,D,Eがそれぞれ「1.0」、「1.00」、「1.000」、「1.0000」、「1.0000」と解答した状態を例として説明する。
端末3の端末制御部360は、画像読取部380から伝達された画像データに対して文字認識処理を実行して画像データをテキストデータに変換し、解答者を識別する情報、設問毎の解答を端末記憶部350に記憶させる。
端末制御部360は、解答のテキストデータと、解答の正誤判定、即ち、評価を要求する指示データとを、端末通信部370を介して情報処理装置2に送信する。この指示データには、ユーザが解答した問題を表す問題データが含まれる。この問題は、前述したように数式で表される問題である。
情報処理装置2の制御部260は、解答のテキストデータと評価を要求する指示データとを通信部270を介して端末3から受信すると、指示データに含まれた問題データで表される問題(数式)を、記憶部250に記憶された演算プログラムにより演算することによって、数式で表される問題の正答を表す正答データを導出し、導出した正答データで表される正答と、解答のテキストデータで表される解答と、を比較し、解答の正誤を判定して評価する評価処理を実行する。具体的には、解答テキストデータで表される解答と正答データで表される正答との比較結果に基づき、正誤の判定を行うことによって評価データを生成する。ユーザが演算設定を変更する前の正答データは、暫定演算結果データに対応する。
制御部260は、演算結果である正答データの構文解析を行い、演算結果に小数が含まれているかどうかを判定する。小数が含まれていない場合、演算プログラム設定処理を終了する。
ユーザによる解答の正誤を判定して評価すると、制御部260は、その評価結果を示す評価データを、通信部270を介して端末3に送信する。
端末3の端末制御部360は、評価データを受信すると、評価データに基づいて評価結果を端末表示部330に表示させる。図14は、端末表示部330に表示された解答者毎の解答と正誤判定を示す図である。図14に示すように、評価データでは、解答者A,B,C,D,Eそれぞれの解答「1.0」、「1.00」、「1.000」、「1.0000」、「1.0000」の全てが正答であると評価されている。即ち、この場合の正答データで表される正答は、「1.0」、「1.00」、「1.000」、「1.0000」、「1.0000」である。
解答者毎の解答と正誤が端末表示部330に表示されている状態において、ユーザが端末入力部320を操作して、正誤を変更したい解答と、その変更した正誤と、を編集演算結果データ、即ちユーザによって入力された問題の正答又は誤答を表す編集正答データ、として入力する。端末入力部320は、入力された編集演算結果データを端末制御部360に伝達し、端末制御部360は端末表示部330を制御して編集演算結果データを表示部130に表示させる。
図15は、端末表示部330に表示された解答及び編集された正誤を示す図である。図15に示すように、この例ではユーザによって正誤を編集したい解答として「1.000」及び「1.0000」を、編集した正誤として「誤」が入力され、端末制御部360は端末表示部330を制御してユーザの入力した編集演算結果データを表示させる。
端末制御部360は、設定の変更を要求する指示データと、正誤を変更する解答のテキストデータと、正誤が変更された評価データとを、端末通信部370を介して情報処理装置2に送信する。
情報処理装置2の制御部260は、設定の変更を要求する指示データと、正誤を変更する解答のテキストデータと、正誤が変更された評価データとを、編集演算結果データとして通信部270を介して端末3から受信したかどうか判定する。
制御部260は、ユーザの入力した編集演算結果データを端末3から受信して取得する。
制御部260は、編集演算結果データを端末3から受信して取得すると、解答の構文解析を行い、解答毎の0パディングの桁数を算出し、その算出結果に基づいて、正答データで表される正答の0パディングの桁数が、ユーザにより正答であると入力された解答の0パディングの桁数に合致するように、数式で表される数式問題を演算する演算プログラムを修正(変更)する。
制御部260は、誤答である解答の0パディングの最小の桁nを算出し、小数部においてn以上の桁数の0パディングを含むデータを誤答とするように、演算プログラムを修正する。この例では、「1.000」が誤答であることからn=3である。
制御部260は、正答である解答の0パディングの最大の桁mを算出し、小数部においてm以下の桁数の0パディングを含むデータを正答とするように、演算プログラムを修正する。この例では、「1.00」が正答であることからm=2である。
制御部260は、n以上の0パディングを誤答としm以下の0パディングを正答とする演算設定の演算プログラムに従って再演算を行い、再演算結果が端末3から取得した編集演算結果データで表される編集演算結果と一致するかどうか判定する。具体的には、制御部260は、修正された演算プログラムを実行して作成された正答データに基づいて評価処理を実行し、編集演算結果データに含まれる正誤を変更したい解答について、評価結果と、編集演算結果データに含まれる変更した正誤とが一致するかどうか判定する。再演算の結果が端末3から取得した編集演算結果データで表される編集演算結果と一致しない場合、制御部260は、エラーを示すデータを、通信部270を介して端末3に送信する。
再演算の結果が編集演算結果データで表される編集演算結果と一致したと判定すると、制御部260は、演算設定を再演算に用いた演算設定に変更してもよいかどうかユーザに確認を求めるデータを、通信部270を介して端末3に送信する。
端末3の制御部360は、再演算に用いた演算設定に変更してもよいかどうかユーザに確認を求めるデータを、端末通信部370を介して受信すると、演算設定を変更してもよいかどうか確認する表示を、表示部330に表示させる。
表示部330に表示された使用演算設定を変更してもよいかどうか確認する表示に応じて、ユーザは入力部320を操作して、演算設定の変更を許可するかどうか入力する。
ユーザによる演算設定変更の許可が入力された場合、制御部330は、演算設定の変更を許可するデータを、端末通信部370を介して情報処理装置2に送信する。
情報処理装置2の制御部260は、演算設定の変更を許可するデータを、通信部270を介して受信すると、演算設定を変更し、記憶部250に演算設定が変更されたことを記憶させる。
制御部260は、ユーザにより入力され端末3から受信した編集演算結果データに基づいて、正答データの小数部の0パディングを変更するように、演算プログラムを修正する。
n以上の0パディングを誤答としm以下の0パディングを正答とする演算プログラムを記憶部250に記憶させると、制御部260は、演算プログラムが修正されたことを示すデータを通信部270を介して端末3に送信する。
端末3の端末制御部360は、演算プログラムが修正されたことを示すデータを、端末通信部370を介して受信すると、設定が変更されたことを示す表示を端末表示部330に表示させる。
演算プログラムが修正された状態において再び評価処理を実行すると、制御部260は、暫定演算結果とは異なる評価データを出力する。図16は、端末表示部330に表示された解答者毎の解答と設定変更後の正誤判定を示す図である。図16に示すように、設定変更後の制御部260は、小数部の0パディングの桁数が1又は2である解答者A,Bの解答を正答であると判定し、小数部の0パディングの桁数が3又は4である解答者C,D,Eの解答を誤答であると判定する。
図17は、実施の形態3に係る情報処理装置2の制御部260が実行する演算プログラム設定処理のフローチャートである。図17のフローチャートを参照して、演算プログラム設定処理について説明する。
演算プログラム設定処理が開始されると、制御部260は、ユーザにより入力された数式で表される数式問題を演算プログラムに従って演算し、演算プログラムによる演算結果(正答データ)を取得する(ステップS201)。
演算結果を取得すると、制御部260は、演算結果の構文解析を行い、演算結果に小数が含まれているかどうかを判定する(ステップS202)。演算結果に小数が含まれていない場合(ステップS202:NO)、演算プログラム設定処理を終了する。
演算結果に小数が含まれている場合(ステップS202:YES)、制御部160は、ユーザによる演算結果の編集要求が行われたかどうか判定する(ステップS202A)。行われていない場合(ステップS202A:NO)、演算プログラム設定処理を終了する。
ユーザによる演算結果の編集要求が行われた場合(ステップS202A:YES)、制御部260は、通信部270を介して端末3から編集演算結果データを取得する(ステップS203)。
編集演算結果データを取得すると、制御部260は、演算プログラムによる演算結果と編集演算結果データで表される編集演算結果とが一致するかどうか判定する(ステップS204)。具体的には、制御部260は、演算プログラムを実行して作成された正答データに基づいて評価処理を実行し、編集演算結果データに含まれる正誤を変更したい解答について、評価結果と、編集演算結果データに含まれる変更した正誤とが一致するかどうか判定する。演算結果と編集値とが一致した場合(ステップS204:YES)、演算プログラム設定処理を終了する。
演算結果と編集値とが一致しない場合(ステップS204:NO)、制御部260は、演算プログラムの演算設定を変更し、再演算を行う(ステップS205)。具体的には、解答毎の0パディングの桁数を算出し、その算出結果に基づいて、正答データで表される正答の0パディングの桁数が、ユーザにより正答であると入力された解答の0パディングの桁数に合致するように、数式で表される数式問題を演算する演算プログラムを修正(変更)し、その演算プログラムを実行して再演算を行う。
再演算を行うと、制御部260は、再演算結果と編集演算結果データで表される編集演算結果とが一致するかどうか判定する(ステップS206)。具体的には、制御部260は、修正された演算プログラムを実行して作成された正答データに基づいて評価処理を実行し、編集演算結果データに含まれる正誤を変更したい解答について、評価結果と、編集演算結果データに含まれる変更した正誤とが一致するかどうか判定する。
再演算結果と編集演算結果データで表される編集演算結果とが一致しない場合(ステップS206:NO)、制御部260は、エラーを示すデータを、通信部270を介して端末3に送信し(ステップS207)、演算プログラム設定処理を終了する。
再演算結果と編集演算結果データで表される編集演算結果とが一致した場合(ステップS206:YES)、制御部260は、再演算に用いた演算設定を演算プログラムの演算設定の変更候補とし、ユーザに演算プログラムの演算設定の変更を確認するデータを送信する(ステップS208)。
演算プログラムの演算設定を変更してもよいかどうか確認するデータを送信すると、制御部260は、演算プログラムの演算設定変更の許可を端末3から受信したかどうか判定する(ステップS209)。
演算プログラムの演算設定変更の許可を受信しない場合(ステップS209:NO)、制御部160は、上記ステップS207を実行し、演算プログラム設定処理を終了する。
演算プログラムの演算設定変更の許可を受信した場合(ステップS209:YES)、制御部260は演算プログラムの演算設定の変更を確定し、記憶部250に演算プログラムの演算設定を変更したことを記憶させ(ステップS210)、演算プログラム設定処理を終了する。
制御部260は、ステップS202A、ステップS204、ステップS206及びステップS209において演算プログラムを修正すべきか否かを判定する。
以上の構成を備え、演算プログラム設定処理を実行することで、実施の形態3に係る情報処理装置2は、対象者の意図する演算結果を容易に得ることができる。
自動採点において、ユーザが正答としたい解答が誤答と判定され、又は誤答としたい解答が正答と判定され、その原因が自動採点の設定にある場合、多数の設定の中からユーザの想定と異なっている設定を探し出して設定を変更することは困難かつ煩雑である。実施の形態3に係る情報処理装置2によれば、情報処理装置2が導出した演算結果をユーザが編集するという直感的な操作を行うことで、情報処理装置2の設定を変更することができる。
実施の形態3に係る情報処理装置2は、ユーザが編集した解答を解析することによって取得した編集演算結果データと、暫定演算結果データとに基づき、正答データの小数部の0パディングの桁数を変更するように演算プログラムを修正することで、ユーザの意図する演算結果を得ることができる。
なお、実施の形態3では、数式で表される数式問題を演算プログラムで演算することによって、本発明における暫定演算結果データとしての正答データを取得しているが、これに代えて、例えば、暫定演算結果データを次のようにして取得してもよい。すなわち、暫定演算結果データとして、数式で表される問題の正答データであって、その小数の0パディングの桁数が互いに異なる複数の正答データの候補データを、数式で表される問題に対応させて、あらかじめROMなどの記憶媒体に記憶し、この記憶された正答の候補データのうちの少なくとも1つを暫定演算結果データとして、この記憶媒体から読み出すことにより取得してもよい。
この場合、上記のように記憶された複数の候補データのうち、ユーザによる編集演算結果データに含まれる解答における小数の0パディングの桁数と同じ桁数の0パディングを小数に含む候補データが正答データとして読み出されるように、演算プログラムが修正される。すなわち、この場合の演算プログラムは、複数の正答の候補データのいずれかを正答データとして読み出すための演算プログラムである。このような発明のバリエーションは、演算プログラムが正答データに基づいてユーザによる解答を評価するように構成されている場合に、有用である。
また、実施の形態3において、制御部260は編集演算結果を端末3へのユーザの正誤の入力に基づいて取得するものとして説明したが、これに限られるものではない。学習要領(例えば文部科学省などの機関が設定した学習指導要領)に従って予め生成された編集演算結果データを、記憶部250に記憶し、制御部260は、この記憶部250に記憶された編集演算結果データを、ユーザによる入力に基づいて取得してもよい。あるいは、上記のような編集演算結果データを、ユーザによる入力に基づいて、サーバから取得してもよい。
(実施の形態4)
実施の形態4に係る情報処理装置2について、図面を参照して説明する。実施の形態4に係る情報処理装置2の構成は、実施の形態3に係る情報処理装置2と同様である(図11参照)。
実施の形態4に係る情報処理装置2と通信を行う端末3は、問題毎の正答データ、問題毎の得点及び採点に用いる採点設定を含む採点設定データと、採点を行う解答を含む解答データと、を入力される。ここでいう採点設定とは、正答データと解答データとの関係で、どのような解答を正答と判断するかの設定である。
端末3の端末制御部360は、採点設定データと解答データとをユーザに入力させる表示、入力された採点設定データと解答データとのデータ名を示す表示、及び採点開始を指示させる表示を端末表示部330に表示させる。
図18は、端末3の端末表示部330に表示された採点設定データ及び解答データ入力画面を示す図である。図18の例では、採点設定データとして「XX模試2021年高校1年.json」、ユーザによる解答データとして「XX模試2021年高校1年.csv」が表示され、これらのデータをユーザが選択するための「選択」ボタンと、ユーザが情報処理装置2に採点開始を指示するための「採点開始」ボタンが表示されている。
端末制御部360は、ユーザによって選択された採点設定データと解答データとを、端末通信部370を介して情報処理装置2に送信する。
情報処理装置2の制御部260は、受信した採点設定データ及び解答データの構文解析を行い、採点設定データによって正答か誤答かの判断が変わってしまう問題があるかどうかを判定する。例えば、解答に小数点以下の0パディングが含まれる場合があり0パディングの桁数によって正答か誤答かが変わってしまう数式問題、角度の単位として度、ラジアン及びグラードのいずれを用いるかによって正答か誤答かが変わってしまう数式問題があるかどうか判定する。この場合、制御部260は、採点設定データ及び解答データの構文解析の結果に基づいて、採点設定データが、解答に0パディングを含む数式問題の採点設定に係る採点データであって、0パディングの桁数が変更可能な第1採点設定データであるかどうかを判定するとともに、三角関数を含む数式問題の採点設定に係る採点データであって、三角関数の角度の単位として度、ラジアン及びグラードのいずれを用いるかを変更可能な第2採点設定データであるかどうかを判定する。
制御部260は、採点設定データの修正(変更)の要否と、その変更内容とをユーザに問合わせる指示を、通信部270を介して端末3に送信する。
端末3の端末制御部360は、情報処理装置2から採点設定データの変更の要否と、その変更内容とをユーザに問合わせる指示を受信すると、図19に示す採点設定変更画面を端末表示部330に表示し、それにより、採点設定の変更内容の候補を端末表示部330に表示させる。
図19に示すように、端末表示部330には、採点設定データにおける0パディング設定を変更するかどうかユーザに提示する表示と、採点設定データの変更の候補としての「すべての0パディングを許容する」、「小数点以下第1位までの0パディングを許容する」及び「小数点以下第2位までの0パディングを許容する」の表示と、これらの変更候補のいずれかをユーザが選択するためのチェックボックスと、選択した変更候補により採点設定データを変更することをユーザが情報処理装置2に要求するための「変更」ボタンとが、表示されている。同様に、端末表示部330には、採点設定データにおける角度設定を変更するかどうかユーザに提示する表示と、採点設定データの変更の候補としての「度数法」、「弧度法」及び「グラード」の表示と、これらの変更候補のいずれかをユーザが選択するためのチェックボックスと、選択した変更候補により採点設定データを変更することをユーザが情報処理装置2に要求するための「変更」ボタンとが、表示されている。
ユーザは、端末入力部320を介して採点設定データの複数の変更候補のチェックボックスのいずれかを選択してクリックし、「変更」ボタンをクリックすることで、採点に用いる採点設定データを、チェックボックスで選択した変更内容で変更することを、情報処理装置2に要求する。
端末制御部330は、採点設定データの変更の要否とその変更内容とユーザへの問合わせに対するユーザの回答として、ユーザによって選択された変更候補を表す変更候補データを採点設定データに含め、端末通信部370を介して情報処理装置2に送信する。
情報処理装置2の制御部260は、受信した採点設定データ及び解答データに基づいて、採点処理を行い、採点結果データを、通信部270を介して端末3に送信する。この採点処理では、制御部260は、端末3から受信した採点設定データに含まれる採点設定に従い、採点設定データに含まれる正答データと解答データとを比較し、その比較結果に基づいて、採点を行う。この場合において、変更候補データが採点設定データに含まれるときには、制御部260は、変更候補データに基づいて採点設定データを変更し、変更した採点設定データに含まれる採点設定従って、採点設定データに含まれる正答データと解答データを比較し、その比較結果に基づいて、採点を行う。
制御部260は、正答データと解答データとを比較し、その比較結果に基づいて採点を行うという演算処理を行っており、この演算処理を行うためのプログラムが演算プログラムとして機能する。すなわち、採点設定データを変更することは、演算プログラム設定を行うことに相当する。
図20は、実施の形態4に係る情報処理装置2の制御部260が実行する演算プログラム設定処理のフローチャートである。図20のフローチャートを参照して、演算プログラム設定処理について説明する。
演算プログラム設定処理が開始されると、制御部260は、端末3から送信された採点設定データ及び解答データの構文解析を行い、解答データにおける解答に0パディングが含まれているかどうかを判定する(ステップS501)。解答に0パディングが含まれていない場合(ステップS501:NO)、ステップS504に進む。
解答に0パディングが含まれている場合(ステップS501:YES)、制御部260は、採点設定データが前述した第1採点設定データであるかどうかを判断する(ステップS502)。採点設定データが前述した第1採点設定データでない場合(ステップS502:NO)、ステップS504に進む。
採点設定データが前述した第1採点設定データである場合(ステップS502:YES)、制御部260は、設定変更選択フラグをオンにし(ステップS503)、ステップS504に進む。
制御部260は、解答データにおける解答に三角関数が含まれているかどうかを判定する(ステップS504)。解答に三角関数が含まれていない場合(ステップS504:NO)、ステップS507に進む。
解答に三角関数が含まれている場合(ステップS504:YES)、制御部260は、採点設定データが前述した第2採点設定データであるかどうかを判断する(ステップS505)。採点設定データが前述した第2採点設定データでない場合(ステップS505:NO)、ステップS507に進む。
採点設定データが前述した第2採点設定データである場合(ステップS505:YES)、制御部260は、設定変更選択フラグをオンにし(ステップS506)、ステップS507に進む。
制御部260は、設定変更選択フラグがオンかどうか判断する(ステップS507)。オンでないと判断した場合(ステップS507:NO)、演算プログラム設定処理を終了する。
設定変更選択フラグがオンであると判断した場合(ステップS507:YES)、制御部260は、採点設定データの修正(変更)の要否と、その変更内容とをユーザに問い合わせる指示を、通信部270を介して端末3に送信する(ステップS508)。
採点設定データの変更の要否と、その変更内容とをユーザに問い合わせる指示を送信すると、制御部260は、採点設定データを、通信部270を介して端末3から取得する(ステップS509)。
採点設定データを取得すると、制御部260は、採点設定データに変更候補データが含まれるかどうか判断する(ステップS510)。含まれないと判断した場合(ステップS510:NO)、演算プログラム設定処理を終了する。
採点設定データに変更候補データが含まれると判断した場合(ステップS510:YES)、制御部260は、変更候補データに基づいて採点設定データを変更し(ステップS511)、演算プログラム設定処理を終了する。
制御部260は、ステップS501、ステップS502、ステップS504及びステップS505において、ユーザによって入力された入力データが特定の数式に係る特定データであるという条件が成立しているか否かを判定し、ステップS507及びステップS510において、その他の所定条件が成立しているか否かを判定している。
以上の構成を備え、演算プログラム設定処理を実行することで、実施の形態4に係る情報処理装置2は、実施の形態3に係る情報処理装置2と同様の効果を奏する。
実施の形態4に係る情報処理装置2は、ユーザによって入力された数式に係る入力データが特定のデータである、例えば三角関数又は小数を含むものであって、採点設定データによって複数の採点結果が存在する場合に、端末3に設定変更画面を表示させることでユーザに問合せを行いユーザの回答に応じて設定を変更して採点することで、採点設定データが変更可能であることをユーザが知らない場合であっても、ユーザが望まない採点結果を提供してしまうことを防ぎ、ユーザが望む採点結果を提供することが可能となる。
なお、端末3は、問題毎の得点及び採点に用いる採点設定を含む採点設定データを入力されるとしたが、これに限られるものではない。情報処理装置2の記憶部250が複数の採点設定データを記憶し、端末3はどの採点設定データを用いるかを選択する入力を受け付けても良い。端末3は、変更すべき設定を情報処理装置2に要求する入力を受け付けてもよい。この場合、解答データのみが情報処理装置2で構文解析される。
端末3の端末制御部330は、ユーザによって選択された変更候補を表す変更候補データを採点設定データに含め、端末通信部370を介して情報処理装置2に送信するとしたが、これに限られるものではない。端末制御部3が変更候補データに基づいて採点設定データを変更し、変更した採点設定データを、端末通信部370を介して情報処理装置2に送信してもよい。即ち、端末3が情報処理装置2に含まれ、端末3が情報処理装置2の一部として機能しても良い。
(変形例)
以上に本発明の実施の形態について説明したが、この実施の形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施の形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
実施の形態1に係る情報処理装置1は関数電卓であるとしたが、これに限られるものではない。情報処理装置1はパーソナルコンピュータ、スマートフォンを含む電子機器であっても良い。
実施の形態1に係る情報処理装置1は 視覚的表示を行う表示部130を備えるとしたが、これに限られるものではない。音声によってユーザに提示を行う発音部を備えてもよい。表示部130又は発音部は、提示部として機能する。
実施の形態1に係る情報処理装置1の制御部160は、編集値が入力されると、数式の構文解析を行い、数式に乗算省略が含まれているかどうかを判定するとしたが、これに限られるものではない。制御部160は、数式に三角関数が含まれているかどうかを判定してもよい。制御部160は、数式に三角関数が含まれている場合に、演算プログラム設定処理において角度の単位を度とする設定、ラジアンとする設定、又はグラードとする設定のいずれかに設定を変更する。
図21は、変形例の情報処理装置1の制御部160が実行する演算プログラム設定処理のフローチャートである。図21のフローチャートを参照して、演算プログラム設定処理について説明する。
演算プログラム設定処理が開始されると、制御部160は、ユーザによって入力部120を介して入力された数式の構文解析を行い、数式に三角関数が含まれているかどうかを判定する(ステップS301)。数式に三角関数が含まれていない場合(ステップS301:NO)、演算プログラム設定処理を終了する。
数式に三角関数が含まれている場合(ステップS301:YES)、制御部160は、数式を演算プログラムに従って演算し、演算プログラムによる演算結果を取得する(ステップS302)。
演算プログラムによる演算結果を取得すると、ユーザによる演算結果の編集要求が行われたかどうか判定する(ステップS302A)。行われていない場合(ステップS302A:NO)、演算プログラム設定処理を終了する。
ユーザによる演算結果の編集要求が行われた場合(ステップS302A:YES)、制御部160は、ユーザにより入力部120を介して入力された数式の演算結果の編集値を取得する(ステップS303)。
演算結果の編集値を取得すると、制御部160は、演算プログラムによる演算結果と編集値とが一致するかどうか判定する(ステップS304)。演算結果と編集値とが一致した場合(ステップS304:YES)、演算プログラム設定処理を終了する。
演算結果と編集値とが一致しない場合(ステップS304:NO)、制御部160は、乗算省略に関する演算プログラムの演算設定を変更し、再演算を行う(ステップS305)。
再演算を行うと、制御部160は、再演算結果とユーザの入力した編集値とが一致するかどうか判定する(ステップS306)。
再計算の結果と編集値とが一致しない場合(ステップS306:NO)、制御部160は、エラーを示す表示を表示部130に表示させ(ステップS307)、演算プログラム設定処理を終了する。
再演算結果と編集値とが一致した場合(ステップS306:YES)、制御部160は、再計算に用いた演算設定を演算プログラムの演算設定の変更候補とし、ユーザに演算プログラムの演算設定の変更を確認する表示を表示部130に表示させる(ステップS308)。
演算プログラムの演算設定を変更してもよいかどうか確認する表示を表示部130に表示させると、制御部160は、演算プログラムの演算設定変更の許可がユーザにより入力されたかどうか判定する(ステップS309)。
ユーザによる演算プログラムの演算設定変更の許可が入力されない場合(ステップS309:NO)、上記のステップS307を実行し、制御部160は演算プログラム設定処理を終了する。
演算プログラムの演算設定変更の許可が入力された場合(ステップS309:YES)、制御部160は演算プログラムの演算設定の変更を確定し、記憶部150に演算プログラムの演算設定を変更したことを記憶させ(ステップS310)、演算プログラム設定処理を終了する。
この変形例では、制御部160は、ステップS302A、ステップS304、ステップS306及びステップS309において演算プログラムを修正すべきか否かを判定する。
以上の構成を備え、演算プログラム設定処理を実行することで、変形例に係る情報処理装置1は、対象者の意図する演算結果を容易に得ることができる。
また、変形例に係る情報処理装置1は、数式に三角関数が含まれている場合に、角度の単位を度、ラジアン又はグラードとするよう演算プログラムを修正することで、ユーザの意図しない演算結果を生じやすい三角関数に関する演算プログラムを容易に修正することができると共に、ユーザの望まない演算プログラムの修正を防ぐことができる。
実施の形態1において、制御部160は、ステップS102A、ステップS104、ステップS106及びステップS109において、演算プログラムを修正すべきか否かを判定しているが、これらのステップすべてを必ずしも実行する必要はなく、適宜、省略してもよい。このことは、実施の形態2におけるステップS401、ステップS402、ステップS404、ステップS405及びステップS407、実施の形態3におけるステップS202A、ステップS204、ステップS206及びステップS209、実施の形態4におけるステップS501、ステップS502、ステップS504、ステップS505、ステップS507及びステップS510、並びに、変形例におけるステップS302A、ステップS304、ステップS306及びステップS309ついても同様である。
実施の形態3において、情報処理装置2は、小数点以下の0パディングに関し、ユーザによる正誤を変更したい解答とその変更した正誤との入力を受け付け、入力に応じて演算プログラムを変更するものとして説明したが、これに限られるものではない。三角関数における角度の単位に関し、ユーザによる正誤を変更したい解答とその変更した正誤との入力を受け付け、入力に応じて演算プログラムを変更してもよい。
例えば、図15に示すように、端末3にユーザによって正誤を編集したい解答として小数点以下の0パディングを含む解答が入力されているが、これに限られるものではなく、正誤を編集したい解答として角度又は三角関数を含む解答が入力されても良い。
この例において、制御部260は、角度又は三角関数を含む編集演算結果データを端末3から受信して取得すると、ユーザが正答(又は誤答)であるとした解答が正答(又は誤答)となるように、角度の単位を変更する。制御部260が角度の単位を変更する方法としては、ユーザが正答であるとした解答が出現するまで角度の単位を変更しつつ計算を行う方法、逆三角関数を用いて角度の単位を推定し推定した角度の単位に変更する方法が用いられ得るが、これに限られるものではなく、任意の方法を用いることができる。
実施の形態3において、ユーザが端末入力部320を操作して、正誤を変更したい解答と、その変更した正誤と、を編集演算結果データとして入力し、情報処理装置2が0パディングに基づく正誤判定を変更するものとして説明したが、これに限られるものではない。正誤判定を変更せず、解答として表示する0パディングの桁数のみを変更しても良い。
同様に、実施の形態4において、情報処理装置2が変更候補データに基づいて採点設定データを変更しするとしたが、これに限られるものではない。採点設定データを変更せず、画面に表示する0パディングの桁数のみを変更しても良い。
実施の形態4において、情報処理装置2の制御部260が、採点設定データの変更の要否と、その変更内容とをユーザに問い合わせる指示を、通信部270を介して端末3に送信し、端末3は、ユーザによって選択された変更候補を表す変更候補データを採点設定データに含め、端末通信部370を介して情報処理装置2に送信するとしたが、これに限られるものではない。情報処理装置2が、採点設定データの変更の要否とその変更内容とを、ユーザに報知する装置を用いてユーザに直接問い合わせても良く、ユーザからの入力を受け付ける装置を用いて、ユーザからの回答を直接受け付けても良い。
実施の形態2及び4において、情報処理装置2の制御部260が、解答の小数点以下の0パディングの桁数によって正誤を判定して解答を評価するためのプログラムを実行するものとして説明したが、これに限られるものではない。制御部260は、角度の単位に応じて正誤を判定して解答を評価しても良い。例えば、90°という解答を正答とし、π/2radという解答を誤答とするような、解答を評価するためのプログラムを実行しても良い。
実施の形態1-4及び変形例において、情報処理装置1又は情報処理装置2が、三角関数における角度の単位を度とする設定、ラジアンとする設定、又はグラードとする設定のいずれかに設定を変更するものとしたが、これに限られるものではない。度、ラジアン、グラードに限られず、三角関数における角度の単位が互いに異なる複数の単位のいずれかに変更されるように、演算プログラムを変更しても良い。
実施の形態3,4及び変形例において、「採点」とは、正答の場合に特定の点数を与えることのみを示すのではなく、解答に例えばA,B,Cのような数段階の評価を与えることも含む。
なお、実施の形態1から実施の形態4及び変形例に係る情報処理装置1,2を、任意に組み合わせて実施しても良い。
なお、本発明に係る機能を実現するための構成を予め備えた情報処理装置として提供できることはもとより、プログラムの適用により、既存の情報処理装置を、本発明に係る情報処理装置として機能させることもできる。すなわち、実施の形態及び変形例で例示した情報処理装置による機能を実現させるためのプログラムを、既存の情報処理装置を制御するCPU等が実行できるように適用することで、本発明に係る情報処理装置として機能させることができる。また、本発明に係る情報処理方法は、情報処理装置を用いて実施できる。
また、このようなプログラムの適用方法は任意である。プログラムを、例えば、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信しても良い。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成しても良い。
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記)
(付記1)
処理部と、
前記処理部によって実行される演算プログラムを記憶する記憶部と、を備え、
前記処理部は、
対象者による入力に基づいて数式の演算結果を表すデータである編集演算結果データを取得し、
前記記憶部に記憶された、前記数式に基づく演算プログラムを変更すべきか否かを判定し、
前記演算プログラムを変更すべきと判定した場合に、前記取得された編集演算結果データに基づいて、前記演算プログラムを変更する、
情報処理装置。
(付記2)
前記処理部によって変更された前記演算プログラムを実行して導出された前記数式の演算結果が前記編集演算結果データで表される演算結果と一致する、
付記1に記載の情報処理装置。
(付記3)
前記処理部は、前記数式に乗算記号の省略が含まれており、かつ、前記処理部により前記演算プログラムを変更すべきと判定したときに、前記演算プログラムを変更することによって、前記数式における乗算記号が省略された乗算の優先順位を乗算記号が省略されていない乗除算よりも優先するか否かを切り換える、
付記1又は2に記載の情報処理装置。
(付記4)
前記処理部は、前記数式の演算結果に小数が含まれており、かつ、前記処理部により前記演算プログラムを変更すべきと判定したときに、前記演算プログラムを実行して導出される前記数式の演算結果における前記小数の小数点以下の0パディングの桁数が変更されるように、前記演算プログラムを変更する、
付記1から3のいずれか一つに記載の情報処理装置。
(付記5)
前記演算プログラムは、前記数式で表される数式問題の解答者による解答に含まれる小数点以下の0パディングの桁数に応じて前記解答が正答か誤答かを判定するための正答データを演算するプログラムを含み、
前記編集演算結果データは、前記対象者によって入力された前記数式問題の正答又は誤答を表す編集正答データであり、
前記処理部は、前記編集正答データに基づいて、前記正答データにおける前記小数の小数点以下の0パディングの桁数が変更されるように、前記演算プログラムを変更する、
付記4に記載の情報処理装置。
(付記6)
前記処理部は、前記数式に三角関数が含まれており、かつ、前記処理部により前記演算プログラムを変更すべきと判定したときに、前記三角関数における角度の単位が互いに異なる複数の単位のいずれかに変更されるように、前記演算プログラムを変更する、
付記1から4のいずれか一つに記載の情報処理装置。
(付記7)
前記演算プログラムは、前記数式で表される数式問題の解答者による解答に含まれる前記三角関数における角度の単位に応じて前記解答が正答か誤答かを判定するための正答データを演算するプログラムを含み、
前記編集演算結果データは、前記対象者によって入力された前記数式問題の正答又は誤答を表す編集正答データであり、
前記処理部は、前記編集正答データに基づいて、前記正答データにおける角度の単位が変更されるように、前記演算プログラムを変更する、
付記6に記載の情報処理装置。
(付記8)
前記処理部により変更されていない前記演算プログラムの実行によって導出された前記数式の演算結果を表すデータである暫定演算結果データを提示する提示部と、
前記編集演算結果データを入力する前記対象者による操作を受け付ける入力部と、を備え、
前記処理部は、前記入力部に入力された前記編集演算結果データを取得する、
付記1から7のいずれか一つに記載の情報処理装置。
(付記9)
対象者によって入力された入力データが特定の数式に係る特定データであるという条件を含む所定条件が成立しているか否かを判定し、
前記所定条件が成立していると判定した場合に、前記数式に係る演算プログラムの変更に関する問合せを、前記対象者に行い、
前記問合せに対する前記対象者の回答を受け付け、
受け付けた前記対象者の回答により前記演算プログラムの変更が許可されている場合に、前記演算プログラムを変更する、
処理部を備える、
情報処理装置。
(付記10)
前記数式は、乗算記号が省略された数式であり、
前記問合せには、前記数式における乗算記号が省略された乗算の優先順位を乗算記号が省略されていない乗除算よりも優先するか否かに関する第1問合せが含まれ、
前記処理部は、
受け付けた前記第1問合せに対する前記対象者の回答により前記演算プログラムの変更が許可されている場合に、前記数式における乗算記号が省略された乗算の優先順位を乗算記号が省略されていない乗除算よりも優先するか否かを切り換えるように、前記演算プログラムを変更する、
付記9に記載の情報処理装置。
(付記11)
前記数式は三角関数を含み、
前記問合せには、前記三角関数における角度の単位として、互いに異なる複数の単位のいずれを前記演算プログラムにおいて用いるかに関する第2問合せが含まれ、
前記処理部は、
受け付けた前記第2問合せに対する前記対象者の回答により前記演算プログラムの変更が許可されている場合に、前記三角関数における角度の単位が前記複数の単位のいずれかに変更されるように、前記演算プログラムを変更する、
付記9又は10に記載の情報処理装置。
(付記12)
前記演算プログラムは、前記数式で表される数式問題の解答者による解答に含まれる前記三角関数における角度の単位に応じて前記解答を評価するためのプログラムを含む、
付記11に記載の情報処理装置。
(付記13)
前記数式の演算結果には、小数点以下の0パディングが含まれる場合があり、
前記問合せには、小数点以下の0パディングの桁数に第3問合せが含まれ、
前記処理部は、
受け付けた前記第3問合せに対する前記対象者の回答により前記演算プログラムの変更が許可されている場合に、前記演算プログラムを変更することにより、前記演算プログラムの実行によって導出される前記数式の演算結果における小数点以下の0パディングの桁数を変更する、
付記9から11のいずれか一つに記載の情報処理装置。
(付記14)
前記演算プログラムは、前記数式で表される数式問題の解答者による解答に含まれる小数点以下の0パディングの桁数に応じて前記解答を評価した評価結果を前記数式及び前記解答の演算結果として導出するためのプログラムを含み、
受け付けた前記第3問合せに対する前記対象者の回答により前記演算プログラムの変更が許可されている場合に、0パディングが特定の桁数である前記解答の評価結果が変更されるように、前記演算プログラムを変更する、
付記13に記載の情報処理装置。
(付記15)
対象者による入力に基づいて数式の演算結果を表すデータである編集演算結果データを取得し、
前記数式に基づく演算プログラムを変更すべきか否かを判定し、
前記演算プログラムを変更すべきと判定した場合に、前記取得された編集演算結果データに基づいて、前記演算プログラムを変更する、
情報処理方法。
(付記16)
コンピュータに、
対象者による入力に基づいて数式の演算結果を表すデータである編集演算結果データを取得させ、
前記数式に基づく演算プログラムを変更すべきか否かを判定させ、
前記演算プログラムを変更すべきと判定したときに、前記取得された編集演算結果データに基づいて、前記演算プログラムを変更させる、
プログラム。
(付記17)
対象者によって入力された入力データが特定の数式に係る特定データであるという条件を含む所定条件が成立しているか否かを判定し、
前記所定条件が成立していると判定した場合に、前記数式に係る演算プログラムの変更に関する問合せを、前記対象者に行い、
前記問合せに対する前記対象者の回答を受け付け、
受け付けた前記対象者の回答により前記演算プログラムの変更が許可されている場合に、前記演算プログラムを変更する、
情報処理方法。
(付記18)
コンピュータに、
対象者によって入力された入力データが特定の数式に係る特定データであるという条件を含む所定条件が成立しているか否かを判定させ、
前記所定条件が成立していると判定した場合に、前記数式に係る演算プログラムの変更に関する前記対象者への問合せを行わせ、
前記問合せに対する前記対象者の回答を受け付けさせ、
受け付けた前記対象者の回答により前記演算プログラムの変更が許可されている場合に、前記演算プログラムを変更させる、
プログラム。