以下、本発明の実施形態について、図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
本発明の実施の形態に係る情報処理装置3では、表示画面上に表示させた数式に対して、対象者のタップした文字と、タップの種類とに応じて選択の範囲が決定される。図1は、情報処理装置3を含むシステム100の構成の一例を示す図である。システム100は、サーバ1と、サーバ1とネットワーク2を介して通信可能に接続される情報処理装置3とを含む。
サーバ1は、情報処理装置3から演算のためのデータ、数式、および演算指示を受信し、受信した数式および演算指示に基づいてデータを演算し、演算結果を情報処理装置3に送信する。ネットワーク2は、サーバ1と情報処理装置3とを通信可能に接続する通信網である。ネットワーク2は、例えば、インターネットである。
情報処理装置3は、端末装置であって、例えばスマートフォン、タブレット等である。情報処理装置3は、その構成の一例として、プロセッサ31と、メモリ32と、記憶装置33と、入力装置34と、表示装置36と、通信装置37とを含む。プロセッサ31と、メモリ32と、記憶装置33と、入力装置34と、表示装置36と、通信装置37とはそれぞれ、バス38を介して相互に接続されている。
プロセッサ31は、記憶装置33に記憶された各種プログラムを読み出してメモリ32に展開し、実行する。プロセッサ31は、例えば、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)等の処理装置を用いて構成することができる。また、メモリ32は、RAM(Random Access Memory)、フラッシュメモリ等の揮発性または不揮発性の半導体メモリといった記憶素子および記憶媒体を用いて構成することができる。
記憶装置33は、プロセッサ31で実行する各種プログラム、各種プログラムで使用するための各種データを記憶する装置である。記憶装置33は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)等の記憶装置を用いて構成することができる。
入力装置34は、対象者からの入力を受け付ける装置である。入力装置34は、例えば、タブレット、デジタイザ等のタッチ入力ができる機器を用いて構成することができる。表示装置36は、データ、数式、および演算指示等の各種情報を表示する。表示装置36は、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)モニタ等の表示装置を用いて構成することができる。本実施の形態においては、入力装置34を表示装置36に載置することにより、入力部と表示部とを兼ねるタッチパネルとして機能するものとする。
通信装置37は、ネットワーク2を介してサーバ1と通信し、各種データの送受信をする。通信装置37は、例えば、無線LAN、Wi-fi(登録商標)等、ネットワーク2に接続可能な通信方式を備えた各種機器により構成することができる。
上述のプロセッサ31により、記憶装置33に記憶されたプログラムを実行することにより、図2に示す情報処理ブロックを備える制御部310が実現される。これにより、情報処理装置3は、表示画面上に表示させた数式に対して、対象者のタップした文字と、タップの種類とに応じて選択の範囲を決定し、選択された範囲に対して各種処理を実行することができる。
制御部310は、情報処理ブロックとして、判別部311と、特定部312と、選択範囲設定部313と、処理部314と、表示処理部315とを含む。判別部311は、表示装置36の画面上に表示された文字のうち、入力装置34を介して対象者により選択された文字の種類、または選択操作の種類を判別する。特定部312は、判別部311により判別された文字の種類に基づいて、数式に含まれる文字のうち、対象者により選択された文字と関連する関連文字を特定する。また、特定部312は、判別部311により判別された選択操作の種類に応じて、数式に含まれる文字のうち選択の対象となる文字を特定する。
選択範囲設定部313は、対象者により選択された文字および特定部312で特定された関連文字、または、特定部312で特定された文字を、選択範囲として設定する。処理部314は、選択範囲設定部313で設定された選択範囲に対して、対象者により入力装置34から入力された指示に応じて、各種処理を実行する。表示処理部315は、入力装置34から入力された指示、選択範囲設定部313に設定された選択範囲、および処理部314により実行される各種処理に応じて、表示装置36に表示させる表示内容を切り替える処理を実行する。
情報処理装置3は、入力装置34を介して対象者からの指示に応じて、表示装置36の画面上に数式を入力するための入力画面を表示する。数式を入力するための入力画面は、例えば、表示装置36の画面上で動作するウェブブラウザにより表示することができる。数式を入力するための入力画面の一例を、図3に示す。
数式を入力するための入力画面は、データ表示部361と、データ入力部362と、数式入力部363とを含む。データ表示部361は、各種データを表示するための表示部である。データ表示部361は、例えば、情報処理装置3から受信した演算指示に基づいてサーバ1が演算した演算結果が表示される。
データ入力部362は、数字、演算子、矢印キー等の各種数式および演算指示を入力することのできる入力部である。数式入力部363は、数式を入力することのできる入力部である。数式入力部363は、1つだけではなく、同時に複数表示させることができる。
対象者は、数式入力部363に入力された数式に含まれるパラメータの値を設定、変更、追加等することができる。また、対象者は、数式入力部363に入力された数式の一部または全部を任意に選択し、他の数式入力部363にコピーすることができる。この場合、対象者が、数式入力部363に入力された数式に含まれる文字をタップにより表示装置36の画面上で選択操作すると、図2に示した判別部311により、タップされた文字の種類が判別される。続いて、図2に示した特定部312は、判別された文字の種類に基づいて、タップされた文字に関連する関連文字を特定する。
図2に示した選択範囲設定部313は、タップされた文字と関連文字とに基づいて、数式における適当な範囲を選択する。図2に示した表示処理部315は、選択された範囲(以下、選択範囲と称する)を、表示装置36の画面上に表示させる。この選択範囲の選択方法について、図4から図11を参照しつつ、以下に説明する。以下の説明では、タップは、ダブルタップと明記していない場合、シングルタップのこととする。
図4において、対象者が、数式入力部363に入力された数式に含まれる演算子を、図1に示した入力装置34により表示装置36の画面上でタップすると、それに応じて、タップされた演算子の被演算子を含む最小の数式が、図2に示した選択範囲設定部313により選択される。ここで、以下では、黒矢印がタップ位置を示す矢印とする。また、点線で囲われた範囲を対象者によりタップされた範囲とする。選択範囲設定部313により選択された選択範囲は、選択された文字の色と選択された文字の背景の色とが互いに反転表示となるが、ここでは、便宜上、二点鎖線で囲われるものとする。例えば、図4に示すように、図2に示した判別部311により演算子「+」がタップされたものと判別されると、特定部312は演算子「+」の被演算子である「6」及び「3」を関連文字として特定する。選択範囲設定部313は、選択された演算子と関連文字とを含む最小の数式、すなわち「6+3」を選択範囲として選択する。選択された選択範囲は、図2に示した表示処理部315により、二点鎖線で囲われ、表示装置36の画面上に表示される。
図5Aから図5Dに示す数式は、積分、微分等の特殊演算子を含む。このような場合に、対象者が、数式入力部363に入力された数式に含まれる特殊演算子を、図1に示した入力装置34により表示装置36の画面上でタップすると、それに応じて、タップされた特殊演算子と、それに付随するパラメータが選択される。
例えば、図5Aに示すように、特殊演算子である積分記号「∫」をタップすると、積分記号「∫」に付随するパラメータである区間設定の「1」と「3」、「dx」が選択される。また、図5Bに示すように、特殊演算子である微分記号「d/d」がタップされると、微分記号「d/d」に付随するパラメータである「x」が選択される。
図5Cに示すように、特殊演算子である記号「Σ」がタップされると、記号「Σ」に付随するパラメータである「x=1」および「5」が選択される。図5Dに示すように、特殊演算子である対数記号「log」がタップされると、対数記号「log」に付随するパラメータである「2」が選択される。
図6Aから図6Dには、図5A~5Dにおいて選択された選択範囲が、表示装置36の画面上でさらにタップされた場合の選択範囲を示している。具体的には、対象者が、図5A~5Dにおいて選択された選択範囲を、図1に示した入力装置34により表示装置36の画面上でタップする。これに応じて、タップされた選択範囲に含まれる特殊演算子および付随するパラメータと、特殊演算子の被演算子を含んだ最小の数式が選択され、選択範囲が拡大される。
例えば、図6Aに示すように、特殊演算子である積分記号「∫」に付随するパラメータである区間設定の「1」と「3」、「dx」が選択されている。この場合に、既に選択されている選択範囲が、さらにタップされると、積分記号「∫」の被演算子である「2x+1」も選択される。具体的には、積分記号「∫」および区間設定の「1」、「3」と、「dx」との、どちらか一方または両方がタップされると、積分記号「∫」の被演算子である「2x+1」も選択される。また、図6Bに示すように、特殊演算子である微分記号「d/d」および付随するパラメータである「x」が選択されている。この場合に、既に選択されている選択範囲が、さらにタップされると、微分記号「d/d」の被演算子である「2x」も選択される。
図6Cに示すように、特殊演算子である記号「Σ」に付随するパラメータである「x=1」および「5」が選択されている。この場合に、既に選択されている選択範囲が、さらにタップされると、記号「Σ」の被演算子である「(2x)」も選択される。また、図6Dに示すように、特殊演算子である対数記号「log」に付随するパラメータである「2」が選択されている。この場合に、既に選択されている選択範囲が、さらにタップされると、対数記号「log」の被演算子である「3」も選択される。
図7Aから図7Cに示す数式は、複数の演算子と被演算子とを含んでいる。このような場合に、対象者が、数式入力部363に入力された数式に含まれる被演算子を、図1に示した入力装置34により表示装置36の画面上でタップすると、それに応じて、被演算子を対象とする演算子の数、演算優先順位に応じて選択される範囲が変化する。
まず、表示装置36の画面上でタップされた被演算子を対象とする演算子が1つの場合、タップされた被演算子と、被演算子を対象とする演算子と、この演算子が対象とするタップされた被演算子以外の被演算子とを含む最小の数式が選択される。例えば、図7Aに示すように、被演算子「3」がタップされた場合、被演算子「3」を対象とする演算子「+」を含む最小の数式である「6+3」が選択される。
続いて、タップされた被演算子を対象とする演算子が2つ並んでおり、かつ、それらの演算子の演算優先順位が互いに異なる場合、タップされた被演算子と、演算順位のより高い演算子とを含んだ最小の数式が選択される。例えば、図7Bに示すように、被演算子「6」がタップされる。この場合、被演算子「6」を対象としている演算子は「-」と、カッコとの関係で省略されている「*」である。演算順位は「-」よりも「*」の方が高い。このため、被演算子「6」と、演算順位のより高い演算子「*」と、を含んだ最小の数式として「6((6+3)+5)」が選択される。
また、タップされた被演算子を対象とする演算子が2つ並んでおり、かつ、その演算子の演算優先順位が互いに同じである場合、タップされた被演算子と、これらの両方の演算子とを含んだ最小の数式が選択される。例えば、図7Cに示すように、被演算子「4」がタップされた場合、被演算子「4」を対象としている演算子は「-」と「+」である。演算子「-」と「+」の演算順位は、互いに同じである。このため、被演算子「4」と演算子「-」と「+」と、を含んだ最小の数式として、「7(2+1)+4-6((6+3)+5)」が選択される。
図8Aおよび図8Bに示す数式は、複数の演算子と被演算子とを含んでいる。このような場合に、対象者が、数式入力部363に入力された数式に含まれる被演算子および既に選択されている選択範囲を、図1に示した入力装置34により表示装置36の画面上で長押しした場合、それに応じて、選択範囲を徐々に拡大することができる。
例えば、図8Aに示すように、選択されている「6+3」を長押しすると、選択範囲が、「6+3」を対象とする演算子「+」と、この演算子が対象とする「6+3」以外の被演算子である「5」と含む数式、すなわち「(6+3)+5」に、拡大される。例えば、図8Bに示すように、選択されている「(6+3)+5」を長押しすると、選択範囲が、「(6+3)+5」を対象とする、カッコとの関係で省略されている演算子「*」と、この演算子が対象とする「(6+3)+5」以外の被演算子である「6」と含む数式、すなわち「6(6+3)+5」に、拡大される。
また、図9Aから図9Fに示す数式は、図8Aおよび図8Bに示した数式と同様に複数の演算子と被演算子とを含んでいる。このような場合に、対象者が入力された数式に含まれる被演算子を、図1に示した入力装置34により表示装置36の画面上で長押ししたままにする。この場合、長押しする時間に応じて、選択範囲を徐々に拡大することができる。
例えば、図9Aに示すように、数式内の非演算子である「3」を長押しする。この場合図9Bに示すように、選択範囲は、「3」を対象とする演算子「+」とこの演算子が対象とする被演算子である「6」とを含む数式、すなわち「6+3」に拡大する。そして、対象者が、さらに被演算子である「3」を長押ししたとする。この場合、図9Cに示すように、選択範囲は、「6+3」を対象とする演算子「+」と、この演算子が対象とする「6+3」以外の被演算子である「5」と含む数式、すなわち「(6+3)+5」に拡大する。
この状態で、対象者がさらに被演算子である「3」を長押ししたとする。この場合、図9Dに示すように、選択範囲は、カッコとの関係で省略されている演算子「*」と、この演算子が対象とする「(6+3)+5」以外の被演算子である「6」と含む数式、すなわち「6(6+3)+5」に拡大する。
そして、対象者がさらに非演算子である「3」を長押ししたとする。この場合、図9Eに示すように、選択範囲は、「6(6+3)+5」を対象とする演算子「-」と、この演算子が対象とする「6(6+3)+5」以外の被演算子である「4」を含む数式、すなわち「4-6(6+3)+5」に拡大する。
さらに、対象者が被演算子である「3」を長押ししたとする。この場合、図9Fに示すように、選択範囲は、「4-6(6+3)+5」を対象とする演算子「+」と、この演算子が対象とする「4-6(6+3)+5」以外の被演算子である「7(2+1)」を含む数式、すなわち「7(2+1)+4-6(6+3)+5」に拡大する。
図10Aから図10Dに示す数式は、積分、微分等の特殊演算子を含む。このような場合に、対象者が、数式入力部363に入力された数式に含まれる被演算子を、図1に示した入力装置34により表示装置36の画面上でタップする。これに応じて、タップされた被演算子と、被演算子を対象とする特殊演算子および付随するパラメータとが選択される。
例えば、図10Aに示すように、被演算子である「2x+1」がタップされた場合、被演算子である「2x+1」と、被演算子を対象とする特殊演算子である積分記号「∫」と、積分記号「∫」に付随するパラメータである区間設定の「1」および「3」と、「dx」と、が選択される。また、例えば、図10Bに示すように、被演算子である「2x」がタップされた場合、被演算子である「2x」と、この被演算子を対象とする特殊演算子である微分記号「d/d」と、微分記号「d/d」に付随するパラメータである「x」とが選択される。
例えば、図10Cに示すように、被演算子である「2x」がタップされた場合、被演算子である「2x」と、この被演算子を対象とする特殊演算子である記号「Σ」と、記号「Σ」に付随するパラメータである「x=1」および「5」と、が選択される。また、例えば、図10Dに示すように、被演算子である「3」がタップされた場合、被演算子である「3」と、この被演算子を対象とする特殊演算子である対数記号「log」と、対数記号「log」に付随するパラメータである「2」と、が選択される。
また、例えば、図11Aから図11Cに示す数式において、カッコ内の演算子、カッコ内の被演算子、または、これらの両方が、対象者により図1に示した表示装置36の画面上でダブルタップされると、ダブルタップされたカッコ内の演算子、カッコ内の被演算子、または、これらの両方を含む最小のカッコ内の数式が選択される。図11Aに示すように、演算子「+」およびこの演算子が対象とする2つの被演算子である「6」および「3」が同時にダブルタップされた場合、ダブルタップされた演算子または被演算子を含む最小のカッコ内の数式は「6+3」である。このため、「6+3」が選択される。
図11Bに示すように、カッコ内の演算子「+」、および、この演算子が対象とするカッコ内の被演算子「5」が同時にダブルタップされた場合、ダブルタップされた、これらの演算子「+」および被演算子「5」を含む最小のカッコ内の数式は「(6+3)+5」である。このため、「(6+3)+5」が選択される。
また、例えば、図11Cに示すように、分母の数式における被演算子である「4」がダブルタップされた場合、この分母全体は、「(7(2+1)+4-6((6+3)+5))」と一つのカッコに含まれる数式である。このため、被演算子である「4」を含む最小のカッコ内の数式として分母全体が選択される。なお、演算子「/」をダブルタップした場合、演算子「/」、分母および分子を含む数式全体が、1つのカッコに含むものとして選択される。
図12Aから図12Cに示す数式において、演算子、被演算子、またはこれらの両方がタップされ、続いてドロー操作が数式の数の並び方向に行われた場合、タップされた演算子、被演算子、またはこれらの両方と、ドロー操作された方向にある演算子および被演算子を含む最小の数式が選択される。また、タップされた演算子、被演算子、またはこれらの両方の左右にカッコがある場合、ドロー操作が行われた方向にあるカッコ内に含まれる最小の数式が選択される。
例えば、図12Aに示すように、被演算子である「6」がタップされ、その後、点線矢印の方向にドロー操作が行なわれた場合、タップされた被演算子である「6」の点線矢印の方向にある演算子はカッコがあるため省略されている「*」であり、この演算子が対象とする、「6」以外の被演算子は「((6+3)+5)」である。このため、最小の数式として「6((6+3)+5)」が選択される。
例えば、図12Bに示すように、被演算子である「6」をタップし、その後、点線矢印の方向にドロー操作を行った場合、タップされた被演算子である「6」の点線矢印の方向にある演算子は「-」であり、被演算子は「4」である。このため、最小の数式として「4-6」が選択される。
また、例えば、図12Cに示すように、被演算子である「3」をタップし、その後、点線矢印の方向にドロー操作を行った場合、タップされた被演算子である「3」の点線矢印の方向にある演算子は「+」であり、被演算子は「6」である。このため、最小の数式として「6+3」が選択される。なお、被演算子である「3」をタップし、その後、点線矢印の方向と逆方向にドロー操作を行った場合、ドロー操作を行った方向にあるのは「)」と演算子「+」と被演算子「5」である。この「)」と対になる「(」は、タップした被演算子「3」から、演算子「+」と被演算子は「6」とを介した位置にある「(」である。このため、ドロー操作を行った方向にある「)」と対になる「(」と、このカッコに含まれる「6+3」と、ドロー操作を行った方向にある演算子「+」と被演算子「5」、すなわち、「(6+3)+5」が最小の数式として選択される。
図13Aから図13Dは、対象者により行われる選択操作に応じて既に選択された状態にある選択範囲が縮小する、縮小操作が行われた場合の選択範囲の変化の一例を示している。図13Aから図13Dに示す数式において、既に選択された状態にある選択範囲の一端をダブルタップすると、ダブルタップされた端部とは反対側の端部にある被演算子、または、被演算子と演算子との両方を含む最小の数式が選択される。その結果、選択範囲が縮小される。また、選択範囲内にカッコに囲まれた被演算子、演算子を含む場合、ダブルタップされた端部とは反対側の端部にあるカッコの直ぐ外にある被演算子、または、カッコに囲まれた最小の数式が選択される。その結果、選択範囲が縮小される。
例えば、図13Aに示すように、「6+3」が選択されている場合に(図13Aの左側に示す二点鎖点で囲まれた範囲)、「3」側の選択範囲の端部をダブルタップすると、ダブルタップされた端部とは反対側の端部にある被演算子、すなわち「6」が選択される(図13Aの右側に示す一点鎖点で囲まれた範囲)。また、例えば、図13Bに示すように、「6+3」が選択されている場合に(図13Bの左側に示す二点鎖点で囲まれた範囲)、「6」側の選択範囲の端部をダブルタップすると、ダブルタップされた端部とは反対側の端部にある被演算子、すなわち「3」が選択される(図13Bの右側に示す一点鎖点で囲まれた範囲)。
図13Cに示すように「6((6+3)+5)」が選択されている場合に(図13Cの左側に示す二点鎖点で囲まれた範囲)、「6((6+3)+5)」のカッコの外にある「6」側の選択範囲の端部をダブルタップしたとする。「6((6+3)+5)」は、カッコの関係で省略されている演算子「*」を用いて表すと「6*((6+3)+5)」である。このため、ダブルタップされた端部とは反対側の端部にあるカッコに囲まれた最小の数式、すなわち、ダブルタップされた端部側にある「6」とは「*」を挟んで反対側の端部にある「((6+3)+5)」が選択される(図13Cの右側に示す一点鎖点で囲まれた範囲)。
また、図13Dに示すように「6((6+3)+5)」が選択されている場合に(図13Dの左側に示す二点鎖点で囲まれた範囲)、「6((6+3)+5)」の「6」とは反対側の「)」側の選択範囲の端部をダブルタップしたとする。「6((6+3)+5)」は、カッコの関係で省略されている演算子「*」を用いて表すと「6*((6+3)+5)」である。このため、ダブルタップされた端部とは反対側の端部にあるカッコの直ぐ外にある被演算子、すなわち、ダブルタップされた端部側にある「((6+3)+5)」とは「*」を挟んで反対側の端部にある「6」が選択される(図13Dの右側に示す一点鎖点で囲まれた範囲)。
続いて、対象者が図3に示した数式入力部363に入力された数式を、図4から図13Bに示した選択方法によって任意の範囲を選択し、他の数式入力部363にコピーする処理について、図14Aおよび図14Bに示す選択範囲のコピー処理のフローチャートを参照しつつ、以下に説明する。
選択範囲のコピー処理は、選択範囲のコピー処理プログラムとして、図1に示した情報処理装置3の記憶装置33に記憶されている。情報処理装置3は、図3に示した数式を入力するための入力画面において、数式入力部363を表示させると、選択範囲のコピー処理プログラムを実行する。具体的には、図1に示した情報処理装置3のプロセッサ31が、記憶装置33から選択範囲のコピー処理プログラムを読み出してメモリ32に展開し、実行する。
まず、図14Aを参照する。図3に示した数式入力部363に入力された数式が、対象者により表示装置36の画面上でタップされると、図2に示した制御部310の判別部311は、対象者に数式に含まれる演算子がタップされたか否かを判定する(ステップS101)。演算子が、対象者にタップされた場合(ステップS101;YES)、制御部310の判別部311は、続いてドロー操作が行われたか否かを判定する(ステップS102)。
ドロー操作が行われた場合(ステップS102;YES)、図2に示した制御部310の特定部312により、ドロー操作された方向にある演算子および被演算子を含む最小の数式、または、ドロー操作が行われた方向にあるカッコ内に含まれる最小の数式が特定される。図2に示した制御部310の選択範囲設定部313は、特定部312により特定された最小の数式を、選択範囲として選択する。制御部310の選択範囲設定部313により、例えば、図11Aから図11Cに示した二点鎖線で囲われた最小の数式が選択範囲として選択される。表示処理部315は、選択された選択範囲を表示装置36の画面上に反転表示させる。すなわち、選択範囲における文字の色と、選択範囲における背景の色とを互いに反転させて表示させる(ステップS103)。次いで、判別部311は、ステップS116に示す処理を実行する。なお、ステップS116の処理については後述する。
また、ドロー操作が行われていない場合(ステップS102;NO)、特定部312はタップされた演算子の被演算子を関連文字として特定する。選択範囲設定部313は、タップされた演算子と関連文字とを含む最小の数式を選択範囲として選択する。選択範囲設定部313により、例えば、図4に示した二点鎖線で囲われた最小の数式が、選択範囲として選択される。表示処理部315は、選択された選択範囲を表示装置36の画面上に反転表示させる(ステップS104)。次いで、判別部311は、ステップS116に示す処理を実行する。
ステップS101において、演算子が対象者に入力装置34の画面上でタップされていない場合(ステップS101;NO)、図14Bに示すステップS105に移動する。制御部310の判別部311は、特殊演算子が対象者にタップされたか否かを判定する(ステップS105)。特殊演算子が対象者に入力装置34の画面上でタップされた場合(ステップS105;YES)、特定部312は、タップされた特殊演算子に付随するパラメータを関連文字として特定する。続いて、選択範囲設定部313は、タップされた特殊演算子と、関連文字とを選択範囲として選択する。選択範囲設定部313により、例えば、図5Aから図5Dに示した二点鎖線で囲われた範囲が、選択範囲として選択される。表示処理部315は、選択された選択範囲を表示装置36の画面上に反転表示させる(ステップS106)。
続いて、判別部311は、ステップS106で選択された選択範囲が、対象者により表示装置36の画面上でタップされたか否か判定する(ステップS107)。選択範囲がタップされた場合(ステップS107;YES)、特定部312は、タップされた選択範囲に含まれる特殊演算子の被演算子を関連文字として特定する。
続いて、選択範囲設定部313は、ステップS106で選択された選択範囲に含まれる特殊演算子および付随するパラメータと、特定部312に特定された関連文字とを含んだ最小の数式を、選択範囲として選択する。選択範囲設定部313により、例えば、図5Aから図5Dに示した二点鎖線に囲われた最小の数式が、選択範囲として選択される。図2に示した表示処理部315は、選択された選択範囲を表示装置36の画面上に反転表示させる(ステップS108)。次いで、判別部311は、図14AのステップS116に示す処理を実行する。また、選択範囲がタップされていない場合(ステップS107;NO)、ステップS106で選択された選択範囲は変更されない。次いで、判別部311は、図14AのステップS116に示す処理を実行する。
また、ステップS105において、特殊演算子が対象者により表示装置36の画面上でタップされていない場合(ステップS105;NO)、判別部311は、被演算子が対象者に入力装置34の画面上でタップされたか否かを判定する(ステップS109)。被演算子がタップされた場合(ステップS109;YES)、特定部312は、タップされた被演算子を対象とする演算子を関連文字として特定する。選択範囲設定部313は、タップされた被演算子と特定部312に特定された関連文字とを含む最小の数式を、選択範囲として選択する。選択範囲設定部313により、例えば、図7Aから図7Cに示した二点鎖線に囲われた最小の数式が、選択範囲として選択される。図2に示した表示処理部315は、選択された選択範囲を表示装置36の画面上に反転表示させる(ステップS110)。
続いて、判別部311は、対象者により表示装置36の画面上で、選択範囲に含まれる被演算子が長押しされているか否かを判定する(ステップS111)。被演算子が長押しされている場合(ステップS111;YES)、選択範囲設定部313は、例えば、図7Aから図7Cに示したように、二点鎖線で囲われた選択範囲が徐々に拡大する。表示処理部315は、徐々に拡大される選択範囲を、表示装置36の画面上に反転表示させる(ステップS112)。被演算子が長押しされていない場合(ステップS111;NO)、選択範囲は拡大されない。次いで、判別部311は、図14AのステップS116に示す処理を実行する。
続いて、判別部311は、対象者により表示装置36の画面上で、選択範囲に含まれる被演算子がさらに長押しされているか否かを判定する(ステップS113)。被演算子がさらに長押しされている場合(ステップS113;YES)、例えば、図9Aから図9Fに示したように、二点鎖線で囲われた選択範囲が徐々に広げられる。表示処理部315は、徐々に拡大された選択範囲を、表示装置36の画面上に反転表示させる(ステップS112)。被演算子がさらに長押しされていない場合(ステップS113;NO)、選択範囲は拡大されない。次いで、判別部311は、図14AのステップS116に示す処理を実行する。
また、ステップS109において、被演算子がタップされていない場合(ステップS109;NO)、判別部311は、数式に含まれるカッコ内の演算子、被演算子、またはその両方を、対象者により表示装置36の画面上でダブルタップされたか否かを判定する(ステップS114)。数式に含まれるカッコ内の演算子、被演算子、または両方をダブルタップされた場合(ステップS114;YES)、特定部312は、ダブルタップされた演算子、被演算子、または演算子と被演算子との両方を含むカッコ内の最小の数式を特定する。
選択範囲設定部313は、特定部312が特定した最小の数式を、選択範囲として選択する。選択範囲設定部313により、例えば、図11Aから図11Cに示したように、二点鎖線で囲われた選択範囲が選択される。図2に示した表示処理部315は、選択された選択範囲を表示装置36の画面上に反転表示させる(ステップS115)。次いで、判別部311は、図14AのステップS116に示す処理を実行する。また、数式に含まれるカッコ内の演算子、被演算子、または両方をダブルタップされていない場合(ステップS114;NO)、図2に示した制御部310の処理部314は、図14Aに示したステップS101に戻る。
図14AのステップS116では、判別部311は、選択された状態にある選択範囲の一端がダブルタップされたか否かを判定する。選択された状態にある選択範囲の一端がダブルタップされた場合(ステップS116;YES)、特定部312は、ダブルタップされた端部とは反対側の端部にある被演算子、被演算子と演算子との両方を含む最小の数式、反対側の端部にあるカッコの直ぐ外にある被演算子、または、カッコに囲まれた最小の数式を特定する。選択範囲設定部313は、特定部312が特定した被演算子、最小の数式等を選択範囲として選択する。選択範囲設定部313により、例えば、図13Aから図13Dに示したように、二点鎖線で囲われた選択範囲が選択される。これにより、対象者によりダブルタップされた選択範囲(図13Aから図13Dの各図の右側に図示)が、対象者によるダブルタップされる直前の選択範囲(図13Aから図13Dの各図の左側に図示)よりも縮小される。
図2に示した表示処理部315は、元の選択範囲から選択範囲設定部313により選択された選択範囲に変更し、表示装置36の画面上に反転表示させる(ステップS117)。また、選択された選択範囲の一端がダブルタップされていない場合(ステップS116;NO)、選択範囲を変更しない。
続いて制御部310の処理部314は、選択状態解除判定処理を実行する(ステップS118)。選択状態解除判定処理については、図15に示すフローチャートを参照しつつ、以下に説明する。処理部314は、対象者による選択状態の解除操作が行われたか否かを判定する(ステップS201)。この選択状態の解除操作は、選択範囲で示される選択状態を解除するための操作である。例えば、対象者により表示装置36の画面上で選択範囲設定部313により選択された選択範囲ではない部分がタップされるタップ操作、図3に示したデータ入力部362に含まれるDeleteキーが押下される操作等である。選択状態の解除操作が行われた場合(ステップS201;YES)、処理部314は選択範囲で示される選択状態を解除する(ステップS202)。具体的には、処理部314は、図2に示した表示処理部315に、図4から図13Dに示した選択範囲の反転表示を元の表示に戻させる。
また、選択状態の解除操作が行われていない場合(ステップS201;NO)、処理部314は、選択状態解除判定処理を開始してから予め設定された時間が経過したか否かを判定する(ステップS203)。予め設定された時間が経過した場合(ステップS203;YES)、処理部314は選択状態解除判定処理を終了し、図14Aに示した選択範囲のコピー処理のフローチャートに戻る。また、予め設定された時間が経過していない場合(ステップS203;NO)、処理部314はステップS201に戻り、ステップS201からステップS203を繰り返す。
ここで、図14Aに戻る。制御部310の処理部314は、ステップS118の選択状態解除判定処理で、選択状態が解除されたか否かを判定する(ステップS119)。選択状態が解除された場合(ステップS119;YES)、処理部314はステップS101に戻り、ステップS101からステップS120の処理をくり返す。
また、選択状態が解除されていない場合(ステップS119;NO)、制御部310の処理部314は、コピー判定処理を実行する(ステップS120)。コピー判定処理については、図16に示すフローチャートを参照しつつ、以下に説明する。処理部314は、選択範囲設定部313により選択された選択範囲が、対象者により表示装置36の画面上で他の数式入力部363にドラッグ・アンド・ドロップされたか否かを判定する(ステップS301)。
選択範囲が他の数式入力部363にドラッグ・アンド・ドロップされた場合(ステップS301;YES)、処理部314は、選択範囲を他の数式入力部363にコピーする(ステップS302)。続いて、処理部314は、選択範囲を解除する(ステップS303)。具体的には、処理部314は、図2に示した表示処理部315に、図4から図11に示した選択範囲の反転表示を元の表示に戻させる。処理部314は、コピー判定処理を終了し、図14A、図14Bに示した選択範囲のコピー処理のフローチャートに戻る。処理部314は、ステップS101に戻り、ステップS101からステップS120の処理をくり返す。
また、選択範囲が他の数式入力部363にドラッグ・アンド・ドロップされていない場合(ステップS302;NO)、処理部314は、再度、選択範囲設定部313により選択された選択範囲が、対象者により表示装置36の画面上で他の数式入力部363にドラッグ・アンド・ドロップされたか否かを判定する(ステップS304)。選択範囲が他の数式入力部363にドラッグ・アンド・ドロップされた場合(ステップS304;YES)、処理部314は、ステップS302、ステップS303を実行する。処理部314は、コピー判定処理を終了し、図14A、図14Bに示した選択範囲のコピー処理のフローチャートに戻る。処理部314は、ステップS101に戻り、ステップS101からステップS120の処理をくり返す。
選択範囲が他の数式入力部363にドラッグ・アンド・ドロップされていない場合(ステップS304;NO)、処理部314は、コピー判定処理を開始してから予め設定された時間が経過したか否か判定する(ステップS305)。予め設定された時間が経過した場合(ステップS305;YES)、処理部314は、選択範囲を解除する(ステップS303)。具体的には、処理部314は、図2に示した表示処理部315に、図4から図13Dに示した選択範囲の反転表示を元の表示に戻させる。続いて、処理部314は、コピー判定処理を終了し、図14A、図14Bに示した選択範囲のコピー処理のフローチャートに戻る。処理部314は、ステップS101に戻り、ステップS101からステップS120の処理をくり返す。また、予め設定された時間が経過していない場合(ステップS305;NO)、処理部314は、ステップS301に戻り、ステップS301からステップS305の処理をくり返す。
以上のように、本実施の形態に係る情報処理装置3によれば、表示装置36の画面上に表示させた数式に含まれる複数の文字のうち、対象者により画面上でタップされた文字の種類を判別し、判別された文字の種類に基づいて、複数の文字のうちタップされた文字と関連のある関連文字を特定し、複数の文字のうち、選択操作された文字と関連文字とを、選択された文字の選択範囲とすることができる。これにより、数式における文字の適当な範囲の選択を、対象者に簡便に行わせることができる。
また、本実施の形態に係る情報処理装置3によれば、対象者により画面上でタップされた文字の種類、演算子の数および演算順位等に応じて、異なる文字を関連文字として特定することができる。さらに、本実施の形態に係る情報処理装置3によれば、対象者により数式が表示された画面上で行われる、シングルタップ、ダブルタップ、長押し、およびドロー操作の何れかの操作方法により、異なる文字を関連文字として特定することができる。これにより、対象者は、画面上でタップした文字、画面上で行う操作方法に応じて、数式に含まれる文字を、簡便に選択することができる。
本実施の形態に係る情報処理装置3によれば、選択された文字の選択範囲を表示装置36の画面上に反転表示させることができる。これにより、対象者は、選択された文字の選択範囲を容易に確認することができる。
さらに、本実施の形態に係る情報処理装置3によれば、既に選択された状態にある選択範囲に対して、対象者により行われる選択操作に応じて選択範囲を縮小させる縮小操作を行うことができる。これにより、対象者は、文字の選択後に必要に応じて文字の選択範囲を容易に変更することができる。
(変形例)
なお、本発明は、上記実施の形態に限定されず、本発明の要旨を逸脱しない部分での種々の修正は勿論可能である。
上記実施の形態では、1台の情報処理装置3が、ネットワーク2を介してサーバ1に接続されている。しかしながら、これに限らず、ネットワーク2を介してサーバ1に接続される情報処理装置3の台数は何台であってもよい。
また、上記実施の形態では、情報処理装置3に含まれる制御部310において、対象者からの入力に基づいて、表示装置36の画面上に表示させた数式の選択範囲を設定する処理を実行するものとした。しかしながら、これに限らず、情報処理装置3に、対象者からの入力の受け付けと、表示装置36における画面表示だけを行わせるようにし、数式の選択範囲を設定する処理、選択範囲のコピー処理、表示装置36の画面上に表示させるデータの生成等の各種処理を、サーバ1が行うようにしても良い。
また、上記実施の形態では、図1に示した情報処理装置3の入力装置34を表示装置36に載置することにより、入力部と表示部とを兼ねるタッチパネルとして機能するものとした。これに限らず、入力装置34をマウスとして、上記実施の形態で行われた対象者による選択操作を行えるようにしてもよい。この場合、タッチパネルにおけるタップは、マウスにおけるクリックに相当する。また、タッチパネルにおけるダブルタップは、マウスにおけるダブルクリックに相当する。
また、上記実施の形態では、対象者による選択操作であるタップ、ダブルタップ、長押し、ドローそれぞれについて、個別の処理として説明した。これに限らず、タップ、ダブルタップ、長押し、ドローそれぞれの処理を、互いに入れ換えてもよい。例えば、タップとダブルタップの処理を互いに入れ換える、ダブルタップと長押しの処理を互いに入れ換える等してもよい。
また、上記実施の形態では、サーバ1が、情報処理装置3から受信した演算のためのデータ、数式、および演算指示に基づいてデータを演算し、演算結果を情報処理装置3に表示させるものとした。これに限らず、情報処理装置3単体で、演算のためのデータ、数式、および演算指示に基づいてデータを演算し、演算結果を表示できるものとしてもよい。
また、上記実施の形態では、選択された文字の色と選択された文字の背景の色とが互いに反転表示し(ここでは、便宜上、選択された文字の選択範囲を二点鎖線で囲うものとした)、表示装置36の画面上に表示させるものとした。これに限らず、選択された文字を、選択されていない文字と異なる色、フォント、斜体および太字等の文字形態等で表示するようにしてもよい。また、選択された文字の選択範囲を、表示装置36の画面上で反転表示等させなくても良い。
また、上記実施の形態では、図5Aから図5Dに示したように、対象者が図1に示した入力装置34により表示装置36に表示された特殊演算子を画面上でタップすると、それに応じて、タップされた特殊演算子と付随するパラメータとが選択されるものとした。これに限らず、例えば、図17Aに示すように特殊演算子である「∫」がタップされると、図17Bに示すように特殊演算子の「∫」に付随するパラメータのうち「dx」だけが選択され、区間設定の「1」および「3」が選択されないようにしてもよい。さらに、この状態で、特殊演算子の「∫」がタップされると、図17Cに示すように付随するパラメータの「dx」に加えて区間設定の「1」および「3」も選択されるようにしてもよい。そして、この状態で、さらに特殊演算子の「∫」がタップされると、図17Dに示すように演算対象の数式である「2x+1」も選択されるようにしてもよい。
また、上記実施の形態では、対象者が図1に示した入力装置34により表示装置36に表示された数式に含まれる被演算子、演算子、またはその両方を画面上でタップすると、タップされた被演算子、演算子等に応じて選択される選択範囲が変化するものとした。これに限らず、例えば、図18Aに示すように、被演算子の「2x」のうち「x」がタップされると、図18Bに示すようにタップされた「x」だけが選択される。その後、さらに「x」がタップされると、図18Cに示すように「x」に付随する「2」と、「2x」を対象とする演算子「+」を含む最小の数式である「2x+1」が選択される。また、さらに「x」がタップされると、図18Dに示すように「2x+1」を対象とする特殊演算子の「∫」と、特殊演算子に付随するパラメータのうち「dx」が選択される。この状態でさらに「x」がタップされると、図18Eに示すように特殊演算子の「∫」に付随するパラメータの「dx」に加えて、区間設定の「1」および「3」も選択される。
また、上記実施の形態では、選択範囲の縮小操作として、選択された文字の選択範囲の一端が対象者により選択操作された場合、選択範囲の一部の範囲であって、選択操作された選択範囲の一端と反対側の端部にある被演算子、または最小の数式を含む範囲に、選択範囲を縮小するものとした。これに限らず、例えば、選択範囲の一部の範囲であって、選択操作された選択範囲の端部にある被演算子、または最小の数式を含む範囲に、選択範囲を縮小するようにしてもよい。また、選択操作された選択範囲の端部にある被演算子、または最小の数式の選択状態を解除し、これにより選択範囲を縮小するようにしてもよい。さらに、選択範囲の一部が対象者により選択操作された場合、選択範囲の一部の範囲であって、選択操作された選択範囲の一部に含まれる文字を含む範囲に、選択範囲を縮小するようにしてもよい。逆に、選択操作された選択範囲の一部に含まれない文字を含む範囲に、選択範囲を縮小するようにしてもよい。
また、上記実施の形態では、特殊演算子として「∫」、「Σ」、「log」等を例に挙げた。これに限らず、特殊演算子として「lim」、「sin」等の他の既存の特殊演算子を用いて本実施の形態と同様の処理をするように構成してもよい。
また、本実施の形態におけるプログラムの適用方法は任意である。例えば、プログラムを、フレキシブルディスク、CD(Compact Disc)-ROM、DVD(Digital Versatile Disc)-ROM、メモリカード等のコンピュータ読み取り可能な記憶媒体に格納して適用できる。さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、表示選択処理プログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上記の処理を実行できるように構成してもよい。
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記)
(付記1)
表示された数式に含まれる複数の文字のうち、対象者により選択操作された文字の種類を判別し、
判別された前記文字の種類に基づいて、前記複数の文字のうち、選択操作された前記文字と関連のある関連文字を特定し、
前記複数の文字のうち、選択操作された前記文字と前記関連文字とを、選択された文字の選択範囲とする、
情報処理装置による情報処理方法。
(付記2)
前記数式に含まれる前記複数の文字は、演算子、および被演算子を含み、
前記選択された文字が前記演算子である場合、選択された前記演算子の対象となる被演算子を関連文字として特定する、
付記1に記載の情報処理方法。
(付記3)
前記数式に含まれる前記複数の文字は、特殊演算子、および、前記特殊演算子に付随するパラメータを含み、
前記選択された文字が前記特殊演算子である場合、選択された前記特殊演算子に付随するパラメータを関連文字として特定する、
付記1に記載の情報処理方法。
(付記4)
前記数式に含まれる前記複数の文字は、被演算子をさらに含み、
前記選択された文字の選択範囲に含まれる前記特殊演算子が、前記対象者により選択操作された場合、前記特殊演算子が対象とする前記被演算子が関連文字として特定される、
付記3に記載の情報処理方法。
(付記5)
前記数式に含まれる前記複数の文字は、被演算子および演算子を含み、
前記選択された文字が前記被演算子である場合、選択された前記被演算子を対象とする演算子を関連文字として特定する、
付記1に記載の情報処理方法。
(付記6)
前記被演算子を対象とする前記演算子が複数ある場合、演算順位のより高い前記演算子を関連文字として特定する、
付記5に記載の情報処理方法。
(付記7)
前記被演算子を対象とする前記演算子が複数あり、前記演算子の演算順位が互いに同じである場合、前記互いに演算順位が同じ両方の演算子を関連文字として特定する、
付記5に記載の情報処理方法。
(付記8)
前記選択された文字の選択範囲を、予め定められた縮小操作が前記対象者により実行されるのに応じて縮小する、
付記1から7の何れか一つに記載の情報処理方法。
(付記9)
前記対象者による前記縮小操作の実行により前記選択された文字の選択範囲の一部が前記対象者により選択操作された場合、前記選択範囲の一部の範囲であって、選択操作された前記選択範囲の前記一部に含まれる文字、または、選択操作された前記選択範囲の前記一部に含まれない文字を含む範囲に、前記選択範囲を縮小する、
付記8に記載の情報処理方法。
(付記10)
前記対象者による前記縮小操作の実行により前記選択された文字の選択範囲の一端が前記対象者により選択操作された場合、前記選択範囲の一部の範囲であって、選択操作された前記選択範囲の一端と反対側の端部にある被演算子、または最小の数式を含む範囲に、前記選択範囲を縮小する、
付記8または9に記載の情報処理方法。
(付記11)
前記文字の選択のための前記対象者による操作手法を判定し、
前記文字の種類と、判定された選択手法とに基づいて、前記関連文字を特定する、
付記1から10の何れか一つに記載の情報処理方法。
(付記12)
前記対象者による操作手法は、前記数式が表示される画面に対して行われるシングルタップ、ダブルタップ、長押し、およびドロー操作の何れかである、
付記11に記載の情報処理方法。
(付記13)
前記対象者による操作手法のうち、前記シングルタップまたは前記長押しが繰り返される場合、繰り返された回数に応じて特定する前記関連文字を変更する、
付記12に記載の情報処理方法。
(付記14)
前記選択された文字の選択範囲は、前記選択された文字の色と前記選択された文字の背景の色とを互いに反転表示する、
付記1から13の何れか一つに記載の情報処理方法。
(付記15)
前記対象者による文字の選択状態は、前記対象者による解除操作に応じて選択が解除される、
付記1から14の何れか一つに記載の情報処理方法。
(付記16)
端末装置と、前記端末装置にネットワークを介して接続されたサーバと、を備え、
前記端末装置および前記サーバが、付記1から15の何れか一つに記載の情報処理方法を協働して実行する、システム。
(付記17)
表示された数式に含まれる複数の文字のうち、対象者により選択操作された文字の種類を判別する判別部と、
前記判別部に判別された前記文字の種類に基づいて、前記複数の文字のうち、選択操作された前記文字と関連のある関連文字を特定する特定部と、
前記複数の文字のうち、選択操作された前記文字と前記関連文字とを、選択された文字の選択範囲として設定する選択範囲設定部と、
を含む情報処理装置。
(付記18)
コンピュータに、
表示された数式に含まれる複数の文字のうち、対象者により選択操作された文字の種類を判別する処理、
判別された前記文字の種類に基づいて、前記複数の文字のうち、選択操作された前記文字と関連のある関連文字を特定する処理、
前記複数の文字のうち、選択操作された前記文字と前記関連文字とを、選択された文字の選択範囲とする処理、
を実行させるためのプログラム。