以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、領域情報格納部11、計算過程格納部12、領域指定操作受付部13、計算式受付部14、入力インターフェース出力部15、電卓指定情報格納部16、計算過程取得部17、数値格納部18、数値受付部19、数値蓄積部20、メモ情報格納部21、メモ情報受付部22、メモ情報蓄積部23、出力部24を備える。
情報処理装置1は、例えば会計処理に用いられる装置である。会計処理とは、会計に関する処理でる。また、会計処理は、会計に関する情報を記録することも含むと考えてもよい。会計処理は、経理とも呼ばれる。
領域情報格納部11には、1または2以上の領域情報が格納される。領域情報は、数値が配置される領域を示す情報である。領域情報が示す領域とは、例えば、帳票(図示せず)の入力フィールドやセルである。帳票とは、例えば、帳簿や伝票等のことである。帳簿は、具体的には、取引等に関する事務上の必要事項を記入したもの、例えば、金銭や預金や品物などの動きを記入したものである。また、伝票は、取引等についてその内容を通知するための情報を記入したものである。ここで述べる帳票は、例えば、モニタ画面等に表示したり、プリンタ等により印刷することが可能な電子的な帳票である。領域情報格納部11に格納されている各領域情報は、この領域情報が示す領域が設定されている帳票(図示せず)の識別情報等と対応付けられていても良い。
領域情報は、領域を示すことが可能な情報であれば良い。領域情報は、例えば、領域の輪郭を指定する情報(例えば、輪郭上の複数の座標や、輪郭の角の座標等)や、領域内に含まれる複数の座標である。また、領域の輪郭上の1以上の点(例えば座標)と、輪郭の高さや幅等を示す情報との組合せであっても良い。なお、領域情報は、セルの識別情報や、フィールドの識別情報であっても良い。
領域情報は、例えば、領域情報が示す領域の識別情報である領域識別情報と対応付けて領域情報格納部11に格納されている。領域識別情報は、領域情報の識別情報と考えても良い。領域識別情報は、例えば、入力フィールドやセル等の領域に個別に割り当てられたコードや名称等であっても良いまた、入力フィールドやセル等の領域が、例えば、一の帳票内にマトリクス状に配列されている場合、領域情報は、この入力フィールドやセル等の領域を指定するための行番号と列番号とを組み合わせた情報であっても良い。
領域情報格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
計算過程格納部12には、1以上の計算過程情報が格納される。計算過程情報は、1以上の計算式を含む情報である。計算過程情報は、例えば、1以上の計算式と、この1以上の各計算式について算出された解とを有する情報である。計算過程情報は、例えば、計算式と、この計算式の解との組を1以上有する情報と考えても良い。計算過程格納部12に格納されている各計算過程情報は、複数の計算式と、この複数の各計算式について算出された複数の解との複数の組(即ち、計算式と、この計算式の解との複数の組)を有することが好ましい。計算式とは、計算対象となる数値(数字)を、四則演算の演算子等の演算子でつないだもの(グループ化したもの)である。計算式は、数式も含むものと考えても良い。解とは、計算式を計算過程取得部17が計算することにより取得した数値等である。一の計算過程情報に含まれる一の計算式は、同じ一の計算過程情報に含まれる他の計算式の解を利用(例えば、計算式を構成する数値として引用)したものであっても負い。計算過程情報は、領域情報と対応付けて計算過程格納部12に格納されている。計算過程情報と、領域情報とが対応付けられているということは、例えば、計算過程情報のポインタ(あるいは識別情報)と、対応する領域情報のポインタ(あるいは識別情報)とを対応付けて有する情報を、計算過程格納部12等の記憶媒体に蓄積することである。また、例えば、計算過程情報に、対応する領域情報のポインタ(あるいは識別情報)を付加することや、領域情報に、対応する計算過程情報のポインタ(あるいは識別情報)を付加することである。かかることは、他の情報間の対応付けに関しても同様である。各計算過程情報は、例えば、各計算過程情報が対応付けられている領域情報が示す領域に入力された(配置された)数値を算出するための計算過程を示す情報である。
各計算過程情報には、1以上の計算式と、この計算式について算出された解との組が、計算式を受け付けた順番と対応付けて格納されていることが好ましい。計算式を受け付けた順番とは、例えば、計算式受付部14が計算式を受け付けた順番である。計算式を受け付けた順番と対応付けて格納されるということは、計算式を受け付けた順番に配列されて格納されていることであっても良いし、計算式を受け付けた順番を示す識別情報(例えば、連番)を対応付けて格納されていることであっても良い。
計算過程格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
領域指定操作受付部13は、領域指定操作を受け付ける。領域指定操作は、領域情報が示す一の領域を指定する操作である。領域指定操作は、例えば、一の領域指定情報が示す領域をポインタ等を用いてクリック(あるいはダブルクリック)する操作や、一の領域指定情報が示す領域に、数値等を入力するためのカーソル等を配置させる操作である。また、領域指定操作は、一の領域指定情報が示す領域を、カーソルキーやタブキー等で選択する操作である。また、一の領域情報に対応する領域識別情報をキーボード等で入力する操作であってもよい。
領域指定操作の受け付けとは、テンキーや、キーボード、マウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。領域指定操作の入力手段は、テンキーやキーボード、マウス、タッチパッドやメニュー画面によるもの等、何でも良い。領域指定操作受付部13は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
計算式受付部14は、領域情報が示す領域に対する1または2以上の計算式を受け付ける。領域に対する1または2以上の計算式とは、例えば、領域に配置するための数値を算出するために用いられる計算式である。例えば、計算式受付部14は、上述した領域指定操作受付部13が受け付けた領域指定操作が指定する領域に対する計算式を受け付ける。計算式受付部14が、計算式をどのように受け付けるかは問わない。例えば、入力デバイスであるテンキーやキーボード等を介して計算式を受け付けてもよいし、音声認識等により計算式を受け付けても良い。計算式受付部14は、例えば、入力インターフェース出力部15が出力(例えば、表示)する電卓インターフェースを介して各領域情報が示す領域に対する計算式を受け付けてもよい。電卓インターフェースを介して計算式を受け付けるとは、例えば、電卓インターフェースに出力(例えば、表示)されているテンキーや演算子(例えば、プラス、マイナス等)等のキーが、マウス等を用いてクリックされた場合に、このキーに対応する数字や、演算子を、例えば入力された順番に受け付けることである。電卓インターフェースについては、後述する。なお、電卓インターフェースが出力されている場合に、入力デバイスであるテンキーやキーボード等から入力される計算式は、電卓インターフェースを介して受け付けた計算式と考えても良い。また、電卓インターフェースが出力されている場合、テンキーやキーボード等から入力された計算式は、電卓インターフェースが一旦受け付けて、計算式受付部14に渡すようにしてもよい。以下、この実施の形態においては電卓インターフェースを介して計算式を受け付ける場合を例に挙げて説明する。
計算式の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。計算式受付部14は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
入力インターフェース出力部15は、電卓インターフェースを出力する。電卓インターフェースは、計算式を受け付けるための入力インターフェースであって、電卓の外観を有する入力インターフェースである。電卓インターフェースは計算式の入力を受け付けるための入力画面や入力ウィンドウ等と考えても良い。電卓インターフェースは、例えば、テンキーや、演算子を入力するキーや、計算の開始を指示するキー等のキーを示す画像と、入力された数値等を表示する表示領域等を備えた電卓を示す画像と、テンキーを構成する各キーが表示される領域を反応領域(ボタン領域)に指定する情報と、各反応領域に予め指定された操作(例えばマウスクリック)等が行われた場合に各反応領域ごとに予め指定された数字や、演算子や、計算を行う指示等を出力するためのコマンド等で構成される。また、電卓インターフェースは、例えば、いわゆる電卓アプリケーションソフトウェアの入力インターフェース部分と考えても良く、入力インターフェース出力部15は、このような入力インターフェースを出力するモジュール等と考えても良い。電卓インターフェースは、入力された1または2以上の計算式についてそれぞれ計算を実行して解を取得する計算手段(図示せず)等を有していても良いし、有していなくても良い。電卓インターフェースが計算手段等を有している場合、この計算手段を、計算過程取得部17の、計算を行う手段として用いるようにしてもよい。電卓インターフェースを出力するための情報、例えば、電卓を示す画像やキーを示す画像等は、例えば、図示しない記憶媒体等に予め格納されている。
入力インターフェース出力部15は、領域指定操作受付部13が領域指定操作を受け付けた場合に、この領域指定操作が指定する領域に対する計算式を受け付けるための電卓インターフェースを自動的に出力するようにしてもよい。例えば、入力インターフェース出力部15は、電卓インターフェースを、領域指定操作が指定する領域に対応する領域に出力する。領域指定操作が指定する領域に対応する領域とは、例えば、領域指定操作が指定する領域に近接した領域である。領域指定操作が指定する領域に近接した領域は、領域指定操作が指定する領域に接していても接していなくても良い。また、一部が重なっていても良い。ただし、電卓インターフェースを出力する指示を、図示しない受付部等を介して受け付けた場合に出力するようにしてもよい。
なお、入力インターフェース出力部15は、領域指定操作受付部13が後述する電卓指定情報が示す領域を指定する領域指定操作を受け付けた場合に、領域指定操作が指定する領域に対する計算式を受け付けるための電卓インターフェースを自動的に出力するようにしても良い。また、領域指定操作が指定する領域が、電卓指定情報が示す領域でない場合、電卓インターフェースを出力しないようにしても良い。例えば、入力インターフェース出力部15は、領域指定操作が指定する領域が、電卓指定情報が示す領域であるか否かを判断し、電卓指定情報が示す領域である場合には、電卓インターフェースを自動的に出力し、電卓指定情報が示す領域でない場合には、電卓インターフェースを出力しないようにする。
なお、出力部24が、電卓指定情報が示す領域内またはその近傍に、電卓指定情報が示す領域であることを示す画像(例えば、アイコンやボタン、文字列等)を出力するようにして、この画像が図示しない受付部等が受け付けた操作によって選択された場合に、電卓インターフェースを出力するようにしても良い。
電卓インターフェースの出力とは、ディスプレイへの表示、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。入力インターフェース出力部15は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。入力インターフェース出力部15は、出力デバイスのドライバーソフト、または出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
電卓指定情報格納部16には、電卓指定情報が格納される。電卓指定情報は、領域情報格納部11に格納されている1以上の領域情報が示す領域のうちの、電卓インターフェースを自動的に出力する領域を示す(指定する)情報である。電卓指定情報は、例えば、電卓インターフェースを自動的に出力する領域を示す領域識別情報である。また、電卓指定情報は、例えば、領域情報と対応付けられたフラグ等の情報であっても良い。このフラグの情報は、例えば、電卓インターフェースを自動的に出力する領域であるか否かを示す情報である。
計算過程取得部17は、計算式受付部が受け付けた1以上の計算式を含む計算過程情報を、計算式を受け付けた一の領域を示す領域情報と対応付けて、計算過程格納部12に蓄積する。また、計算過程取得部17は、計算式受付部14が一の領域情報が示す領域に対して受け付けた1以上の各計算式について解を算出し、算出した解と各計算式とを有する計算過程情報を、計算式を受け付けた一の領域を示す領域情報と対応付けて、計算過程格納部12に蓄積するようにしてもよい。なお、計算過程取得部17は、算式受付部14が一の領域情報が示す領域に対して受け付けた複数の計算式と、この複数の計算式のうちの、最後の計算式を除いた計算式について算出した解とを有する計算過程情報を、領域情報と対応付けて計算過程格納部12に蓄積するようにしても良い。解を算出するということは、計算式が示す計算を実行して、解を取得することである。計算過程情報を領域情報と対応付けて蓄積するということは、計算過程情報を、領域情報を示す領域識別情報と対応付けて蓄積することであっても良い。なお、計算過程情報は、計算過程情報の識別情報である計算過程識別情報と対応付けられて、計算過程格納部12に蓄積されても良い。
また、計算過程取得部17は、一の計算過程情報において、計算式とその解との1以上の組を、各計算式を受け付けた順番と対応付けて格納することが好ましい。例えば、計算過程取得部17は、計算式受付部14が一の計算式を受け付けるごとに(あるいは、一の計算式を受け付けて、計算を実行する指示等を受け付けた場合に)、受け付けた計算式について解を算出する。そして、各計算式と各計算式について算出した解との組を、各計算式の取得順とを対応付けた計算過程情報を取得するようにしても良い。取得順と対応付けられているということは、例えば、取得した順番に沿って配列されていることであっても良いし、取得した順番を示す情報(例えば、取得順に値が増加する連番等)と対応付けてられていることであってもよい。
なお、入力インターフェース出力部15が出力する電卓インターフェースが上述したような計算手段(図示せず)を有している場合、この計算手段を計算過程取得部17の一部と考えて、この計算手段が各計算式について算出した解を、計算過程取得部17が算出した解と考えるようにしても良い。
計算過程取得部17は、通常、MPUやメモリ等から実現され得る。計算過程取得部17の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
数値格納部18は、数値が格納される。数値格納部18には、例えば、1または2以上の領域情報が示す各領域に配置される数値が格納される。数値格納部18には、例えば、1または2以上の領域情報が示す各領域に配置される数値が、各領域の領域識別情報と対応付けて格納される。数値格納部18は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
数値受付部19は、計算式受付部14が計算式を受け付けた領域に対する数値であって、この領域に対して計算式受付部14が受け付けた1以上の計算式に対応する数値を受け付ける。1以上の計算式に対応する数値は、例えば、1以上の計算式のうちの1以上に対する計算を実行することで取得される数値である。また、1以上の計算式を参考にして得られた数値であっても良い。例えば、数値受付部19は、計算式受付部14が計算式を受け付けた領域に対する数値であって、この領域に対して計算式受付部14が受け付けた1以上の計算式について計算過程取得部17が最終的に取得した解に対応する数値を受け付ける。領域に対する数値とは、領域に配置される数値や、領域に入力された数値と考えて良い。最終的に取得した解とは、例えば、一の領域について受け付けた1以上の計算式によって計算を行った結果、最終的に取得された解、あるいは最終的に取得した解であるとユーザ等により判断された解である。例えば、計算式受付部14が一の領域情報が示す領域について受け付けた1または2以上の計算式のうちの、受け付けた順番が最後である計算式の解である。例えば、一の領域識別情報と対応付けられた計算過程情報に含まれる計算式のうちの、最も遅い取得順と対応付けられた計算式の解である。ただし、必ずしも最後に受け付けた計算式の解でなくてもよく、予め指定された順番に入力された解であっても良いし、図示しない受付部等を介してユーザが最後の計算式として指定した計算式の解であっても良い。また、ユーザから最終的な計算式の解を取得する指示を受け付けた時点で、計算式受付部14が受け付け済である計算式のうちの、最も受け付けた時期の新しい計算式の解を、最終的に取得した解と判断してもよい。
最終的に取得した解に対応する数値とは、最終的に取得した解であっても良いし、最終的に取得した解に対して、予め指定した処理(例えば、所定の桁数以下を四捨五入や、切り捨てする処理)を行って得られた数値であっても良い。また、最終的に取得した解に対応する数値とは、最終的に取得した解を参考にして、ユーザがキーボード等の入力デバイスを用いて計算式を受け付けた領域に対して入力した数値であっても良い。
なお、数値受付部19は、例えば、各領域情報が示す領域に対して計算式受付部14が受け付けた1以上の計算式について計算過程取得部17が最終的に取得して出力する解を、各領域情報が示す領域に対する数値として計算過程取得部17から受け付けることが好ましい。なお、一般的な会計処理において、解に対して行われる処理(例えば、小数点以下等の所定の桁数以下の値の切り捨て、切り上げ等や、消費税等の加算等を、計算過程取得部17が最終的に取得した解に対して行ったものも、ここでは、計算過程取得部17が最終的に取得した解と考えるようにしても良い。
この実施の形態においては、一例として、計算式受付部14や図示しない受付部等が、一の領域情報が示す領域に対する計算式の入力を終了する操作を受け付けた場合に、この操作を受け付けた時点までに計算式受付部14が受け付けた計算式のうちの最新の計算式について計算過程取得部17が取得した解を、この一の領域情報が示す領域に対する数値として受け付ける場合について例を挙げて説明する。。
ここでの数値の受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、他の処理装置や他のプログラムなどから出力される処理結果の受取などを含む概念である。
数値の入力手段は、テンキーやキーボードやマウスやメニュー画面、入力インターフェースによるもの等、何でも良い。数値受付部19は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
数値蓄積部20は、数値受付部19が受け付けた数値を、数値を受け付けた領域を示す領域情報と対応付けて、数値格納部18に蓄積する。
数値蓄積部20は、通常、MPUやメモリ等から実現され得る。数値蓄積部20の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
メモ情報格納部21は、メモ情報が格納される。メモ情報は、例えば、上述した計算過程情報に対して付与されるメモや、コメント等を示す情報である。メモ情報格納部21には、例えば、メモ情報が、各メモ情報が付与された計算過程情報と対応付けられて格納される。例えば、計算過程識別情報と対応付けて格納される。メモ情報と計算過程情報(あるいは計算過程識別情報)とは直接対応付けられていても間接的に対応付けられていても良い。間接的に対応付けられているということは、例えばメモ情報が、計算過程情報が対応付けられた領域の領域識別情報と対応付けられていること等を意味する。
メモ情報や、例えば、テキスト、画像、音声のうちの少なくとも1以上を含む情報である。メモ情報は、領収書の画像である領収書画像を含んでいても良い。領収書とは、例えば、金銭授受の証拠となりうる書面である。ここでの領収書は、領収書という文言の入った書面や、取引明細書、引落明細書、領収、受領等の文言の入った書面等であってもよい。また、いわゆるレシートも領収書と考えても良い。また、領収書の控えも、ここでは、実質的に領収書と考えても良い。領収書画像とは、領収書をデジタルカメラ等で撮影した画像や、スキャナ等でスキャンした画像である。また、WEB上で行われた取引による領収書に相当する画面のスクリーンショットや、領収書に相当する内容の記載された電子文書等であっても良い。ここでの領収書は、日本の税法上の領収書としての要件を満たしているものであることが好ましいが、必ずしも満たしていなくても良い。領収書画像は、領収書画像がカラー画像であっても良いし、グレースケール画像や白黒画像であっても良い。また、カラー画像やグレースケール画像の場合、階調数(ビット数)は問わない。また、領収書画像の解像度は高解像度、例えば200dpi以上であることが好ましいが、200ppi以下の低解像度であっても良い。ただし、領収書の内容が肉眼で読み取れる解像度、あるいは、OCR処理で文字認識が可能な解像度であることが好ましい。領収書画像は、財務省令の国税庁告示に定められた要件を満たす画像、具体的には、解像度が200dpi以上、24ビットカラー(RGB各色が、8ビットの256階調)以上であることがより好ましい。メモ情報を構成する一の領収書画像は、通常、一枚の領収書の画像だけが含まれるが、複数枚の領収書の画像を含んでも良い。
なお、メモ情報は、計算過程情報に含まれる一の計算式と対応付けられて、メモ情報格納部21に格納されていても良い。
メモ情報受付部22は、計算過程情報に対するメモ情報を受け付ける。計算過程情報に対するメモ情報を受け付けるということは、一の計算過程情報に対してメモ情報を受け付けることや、一の計算過程情報に含まれる計算式毎にメモ情報を受け付けることを含む概念である。例えば、メモ情報受付部22は、計算過程情報に含まれる計算式毎にメモ情報を受け付けてもよい。
ここでの受け付けとは、キーボードやマウス、タッチパネル、マイクなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。
メモ情報の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。メモ情報受付部22は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
メモ情報蓄積部23は、メモ情報受付部22が受け付けたメモ情報を、メモ情報を受け付けた計算過程情報と対応付けてメモ情報格納部21に蓄積する。
メモ情報蓄積部23は、通常、MPUやメモリ等から実現され得る。メモ情報蓄積部23の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部24は、計算過程情報と対応付けられた領域情報が示す領域内に、領域情報と対応付けられた数値を出力し、領域情報と対応付けられた計算過程情報を出力する。ただし、出力部24は、数値と、計算過程情報とを同時に出力しなくても良い。また、出力部24は、計算過程情報と対応付けられていない領域情報が示す領域内に、この領域情報と対応付けられた数値を出力しても良い。また、出力部24は、領域情報を取得して、領域情報が示す領域を示す画像(例えば、領域の枠等の画像)を出力しても良い。出力部24は、例えば、計算過程情報を、この計算過程情報と対応付けられた領域情報が示す領域と対応する領域に出力する。領域情報が示す領域に対応する領域とは、例えば、領域情報が示す領域に近接した領域である。領域情報が示す領域に近接した領域は、領域情報が示す領域に接していても接していなくても良い。また、一部が重なっていてもよい。また、線等のオブジェクトで領域情報が示す領域と、計算過程情報とを接続して出力することも、領域情報が示す領域に対応する領域に計算過程情報を出力することと考えても良い。また、領域情報が示す領域と、計算過程情報が出力される領域とに同じ識別情報を出力させることと等も、領域情報が示す領域に対応する領域に計算過程情報を出力することと考えても良い。以上のことは、他の対応する領域に関しても同様である。なお、電卓インターフェース等とともに計算過程情報を出力する場合、電卓インターフェースと計算過程情報が重ならないようにすることが好ましい。
出力部24は、例えば、一の計算過程情報に含まれる計算式と解との組が複数である場合、一の計算過程情報に含まれる計算式と解との組を、この各組に含まれる計算式の取得順に配列して出力することが好ましい。例えば、出力部24は、各計算式を取得順に縦に並べて出力する。例えば、上述したように、一の計算過程情報に、1以上の計算式とその解との1以上の組を、各計算式を受け付けた順番と対応付けて格納しておくことで、一の計算過程情報に含まれる計算式の取得順を判断することが可能である。
出力部24は、計算過程情報をどのようなフォーマット等で出力しても良い。例えば、一の計算式とその解とを一行として、1以上の計算式を各行に配列した計算過程情報を出力しても良いし、一の計算式を、各演算子のまえで改行して配列した計算過程情報を出力しても良い。
出力部24は、更に、出力部24が出力する計算過程情報と対応付けられたメモ情報を出力するようにしてもよい。例えば、計算過程情報が出力されている領域に対応する領域に、この計算過程情報に対応付けられたメモ情報を出力しても良い。
また、計算過程情報の各計算式にメモ情報が対応付けられている場合、出力部24は、計算過程情報の各計算式が出力される領域と対応する領域に、各計算式に対応付けられたメモ情報を出力するようにしてもよい。
出力部24が計算過程情報やメモ情報等を出力するタイミングやトリガー等は問わない。例えば、出力部24は、計算式受付部14が計算式の少なくとも一部を受け付けた場合に、計算過程情報の少なくとも一部(例えば、計算式受付部14が受け付けた計算式の一部等)を出力しても良い。また、領域情報が示す1の領域を指定する操作を、領域指定操作受付部13や図示しない受付部等が受け付けた場合、この領域と対応付けられた計算過程情報や、この計算過程情報と対応付けられたメモ情報を出力しても良い。また、1以上の領域と対応付けられた計算過程情報を出力する指示を図示しない受付部等が受け付けた場合に、計算過程情報を出力してもよい。また、出力されている1以上の計算過程情報(あるいは、計算過程情報に含まれる1以上の計算式)に対応付けられたメモ情報を出力する指示を、図示しない受付部等が受け付けた場合、このメモ情報を出力しても良い。メモ情報を出力する指示は、例えば、メモ情報と対応付けられた計算過程情報や計算式をクリックする操作等によって与えられる。
出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタへの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力部24は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部24は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理装置1の動作について図2のフローチャートを用いて説明する。ここでは、一の帳票に含まれる領域に対して処理を行う場合を例に挙げて説明する。なお、領域情報格納部11に格納される領域情報には、予め帳票の識別情報である帳票識別情報が対応付けられているものとする。
(ステップS101)出力部24は、ユーザ等により指定された一の帳票識別情報に対応付けられた1以上の領域情報を、領域情報格納部11から取得する。
(ステップS102)出力部24は、ステップS101で取得した領域情報に対応する数値を、数値格納部18から取得する。対応する数値がないものについては、数値は取得しない。
(ステップS103)出力部24は、ステップS101で取得した各領域情報が示す領域を出力する。具体的には、領域を示す画像(例えば、領域の輪郭を示す画像)等を出力する。また、ステップS102において対応する数値を取得した領域情報に対応する領域内には、取得した数値を出力する。
(ステップS104)領域指定操作受付部13は、領域指定操作を受け付けたか否かを判断する。領域指定操作を受け付けた場合、ステップS105に進み、受け付けていない場合、ステップS120に進む。
(ステップS105)入力インターフェース出力部15は、領域指定操作を受付けた領域が、電卓指定情報格納部16に格納されている一の電卓指定情報が示す領域であるか否かを判断する。電卓指定情報が示す領域である場合、ステップS106に進み、領域でない場合、ステップS119に進む。
(ステップS106)入力インターフェース出力部15は、電卓インターフェースを出力する。
(ステップS107)計算式受付部14は、電卓インターフェースを介して一の計算式を受け付けたか否かを判断する。受け付けた場合、ステップS108に進み、受け付けていない場合、ステップS107に戻る。受け付けた計算式は、例えば、メモリ等の記憶媒体に一時記憶する。なお、ステップS107に戻る代わりに、他の領域指定操作を受付けたか否かを判断し、他の領域指定操作を受付けた場合に、ステップS105に戻り、受付けていない場合、ステップS107に戻るようにしてもよい。
(ステップS108)計算過程取得部17は、ステップS107で受け付けた計算式の解を算出する。
(ステップS109)計算過程取得部17は、ステップS107で受け付けた計算式と、ステップS108で算出した解との組を有する計算過程情報を、領域指定操作が示す領域を示す領域識別情報と対応付けて計算過程格納部12に蓄積する。計算過程情報内においては、計算式とその解とを有する組を、計算式の取得順と対応づけて蓄積する。なお、計算過程取得部17は、ステップS104で領域指定操作を受付ける前に格納されていた計算過程情報であって、ステップS104で受け付けた領域識別情報と同じ領域識別情報と対応付けられている計算過程情報が存在する場合においては、この領域識別情報を削除した後に、計算過程情報を計算過程格納部12に蓄積する。また、既に、計算過程情報が格納されている場合、新たに取得した計算式と解との組を、既に計算過程情報に含まれている計算式と解との組の次の取得順と対応づけて計算過程情報内に追記する。
(ステップS110)出力部24は、計算過程情報を出力する。既に計算過程情報が出力されている場合、表示を更新する。
(ステップS111)計算式受付部14等は、領域指定操作により指定された領域についての全ての計算式の受付を終了する操作を受け付けたか否かを判断する。領域についての全ての計算式の受付を終了する操作は、例えば、電卓インターフェースの出力を中止あるいは終了する操作である。受け付けた場合、ステップS115に進み、受け付けていない場合、ステップS112に進む。
(ステップS112)計算式受付部14は、領域指定操作が示す領域に対する次の計算式を受け付けたか否かを判断する。受け付けた場合、ステップS108に戻り、受け付けていない場合、ステップS113に進む。
(ステップS113)メモ情報受付部22は、出力部24が出力する計算過程情報に含まれている一の計算式に対するメモ情報を受け付けたか否かを判断する。受け付けた場合、ステップS114に進み、受け付けていない場合、ステップS111に戻る。
(ステップS114)メモ情報蓄積部23は、メモ情報を、上述した一の計算式と対応づけてメモ情報格納部21に蓄積する。そして、ステップS111に戻る。
(ステップS115)入力インターフェース出力部15は、電卓インターフェースの出力を終了する。また、出力部24も、計算過程情報の出力を終了する。
(ステップS116)数値受付部19は、計算過程情報に含まれる1以上の計算式の最終的な解である数値を受け付ける。
(ステップS117)数値蓄積部20は、ステップS116で受け付けた数値を、領域指定操作が示す領域を示す領域情報と対応づけて数値格納部18に蓄積する。
(ステップS118)出力部24は、領域指定操作が示す領域内にステップS116で受け付けた数値を出力する。そして、ステップS104に戻る。
(ステップS119)数値受付部19は、入力デバイス等を介して、領域指定操作が示す領域に対する数値を受け付けたか否かを判断する。受け付けた場合、ステップS117に進み、受け付けていない場合、ステップS119に戻る。なお、ステップS119に戻る代わりに、他の領域指定操作を受付けたか否かを判断し、他の領域指定操作を受付けた場合に、ステップS105に戻り、受付けていない場合、ステップS119に戻るようにしてもよい。
(ステップS120)出力部24は、一の領域に対してこの領域と対応づけられた計算過程情報を出力するか否かを判断する。例えば、出力部24は、図示しない受付部等が、一の領域に対し、この領域と対応づけられた計算過程情報を出力する操作を受け付けたか否かを判断する。受け付けた場合(出力する場合)、ステップS121に進み、受け付けていない場合(出力しない場合)、ステップS104に戻る。
(ステップS121)出力部24は、ステップS120で受け付けた操作が示す領域に対応づけられた計算過程情報を、計算過程格納部12から読み出す。
(ステップS122)出力部24は、ステップS121で読み出した計算過程情報を出力する。
(ステップS123)出力部24は、ステップS122で出力した計算過程情報が示す一の計算式に対応づけられたメモ情報を出力する否かを判断する。例えば、出力部24は、図示しない受付部等が、ステップS122で出力した計算過程情報が示す一の計算式に対応づけられたメモ情報を出力する操作を受け付けたか否かを判断する。受け付けた場合(出力する場合)、ステップS125に進み、受け付けていない場合(出力しない場合)、ステップS124に進む。
(ステップS124)出力部24は、計算過程情報の出力を終了するか否かを判断する。例えば、出力部24は、図示しない受付部等が、計算過程情報の出力を終了する操作を受け付けたか否かを判断する。受け付けた場合(出力を終了する場合)、計算過程情報の出力を終了して、ステップS104に戻り、受け付けていない場合(出力を終了しない場合)、ステップS123に戻る。
(ステップS125)出力部24は、ステップS123で受け付けた操作が示す計算式に対応づけられたメモ情報をメモ情報格納部21から読み出す。
(ステップS126)出力部24は、ステップS125で読み出したメモ情報を、ステップS123で受け付けた操作が示す計算式が出力される領域に対応する領域(例えば、隣接する領域等)に出力する。
(ステップS127)出力部24は、メモ情報の出力を終了するか否かを判断する。例えば、出力部24は、図示しない受付部等が、メモ情報の出力を終了する操作等を受け付けたか否かを判断する。受け付けた場合(出力を終了する場合)、メモ情報の出力を終了し、ステップS123に戻り、受け付けていない場合(出力を終了しない場合)、ステップS128に進む。
(ステップS128)出力部24は、計算過程情報の出力を終了するか否かを判断する。例えば、出力部24は、図示しない受付部等が、計算過程情報の出力を終了する操作等を受け付けたか否かを判断する。受け付けた場合(出力を終了する場合)、計算過程情報の出力を終了し、ステップS104に戻り、受け付けていない場合(出力を終了しない場合)、ステップS127に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。ここでは、情報処理装置1は、会計処理に用いられる情報処理装置であるとする。また、ここでは、領域情報格納部11に格納されている領域情報は、帳票の入力フィールド等を示す領域情報であるとする。
図3は、領域情報格納部11に格納されている領域情報を管理する領域情報管理表である。領域情報管理表は、「領域ID」と、「帳票ID」と、「領域情報」という属性を有している。また、「領域情報」は、更に「左上座標」と「幅」、「高さ」という属性を有している。「領域ID」は、領域の識別情報である。「帳票ID」は、領域が配置されている帳票の識別情報である。「領域情報」は、領域情報である。「左上座標」は、帳票内における領域が配置される左上の座標を示す。「幅」は、領域の幅を示し、「高さ」は、領域の高さを示す。なお、ここでは、値x1、y1、w1、h1等は任意の数値であるとする。
図4は、電卓指定情報格納部16に格納されている電卓指定情報を管理する電卓指定情報管理表である。電卓指定情報管理表は、「領域ID」と、「電卓指定情報」という属性を有している。「領域ID」は、図3の「領域ID」に対応する。「電卓指定情報」は、電卓指定情報を示すフラグの情報である。値「1」は、電卓指定情報で指定された領域であることを示す。また、値「0」は、電卓指定情報で指定された領域ではないことを示す。
図5は、数値格納部18に格納されている数値を管理する数値管理表である。数値管理表は、「領域ID」と、「数値」という項目とを有する。「領域ID」は、図3の「領域ID」に対応する。「数値」は、領域に配置された数値である。空欄は数値が空であることを示す。
例えば、ユーザがデータ入力を行うために、帳票識別情報が「仕訳帳A1」である一の帳票をモニタ等に表示する操作を情報処理装置1に対して行ったとすると、出力部24は、図3に示した領域情報管理表から、「帳票ID」が「仕訳帳A1」であるレコードを検出し、各レコードの「領域情報」を取得して、取得した各「領域情報」が示す領域の画像(例えば枠線やセル等)を配置した帳票の画像を取得(例えば、生成)する。ここでは、帳票の画像を出力デバイスであるモニタに出力する。また、上記で検出した各レコードの各「領域ID」に対応する数値を、図5に示した数値管理表から取得して、各「領域ID」に対応する領域内に配置する。また、本実施の形態においては説明を省略しているが、各「領域ID」に対応する文字列のデータも、予め用意されている「領域ID」と文字列のデータとを対応付けて管理する管理表(図示せず)等から上記と同様に取得して、各領域内に配置する。なお、ここでは、一例として、図示しない記憶媒体等に予め格納されているテンプレートに、「領域情報」が示す各領域の画像を配置した帳票の画像を取得する。このテンプレートには、例えば、予め文字や背景や罫線等が配置されているものとする。そして、取得した帳票の画像を、出力部24はモニタに出力(即ち表示)する。
図6は、出力部24がモニタ24aに出力する帳票の画像を示す図である。
次に、ユーザが、数値を入力するために、図6に示した帳票の画面において、領域50上を、マウスを用いてダブルクリックしたとする。この領域50が、「領域ID」が「004」である領域情報が示す領域であったとすると、領域指定操作受付部13は、「領域ID」が「004」である一の領域情報が示す領域に対する領域指定操作を受け付ける。
入力インターフェース出力部15は、領域指定操作受付部13が領域指定操作を受け付けた領域の「領域ID」の値である「004」を取得し、図4に示した電卓指定情報管理表から、この「領域ID」の値が「004」であるレコードの「電卓指定情報」の値を取得し、取得した値が「1」であるか否かを判断する。ここでは、「1」であるため、入力インターフェース出力部15は、領域指定操作が指定する領域が電卓指定情報が示す領域であると判断する。このため、入力インターフェース出力部15は、電卓インターフェースを、領域50に隣接した位置に出力(例えば、表示)する。ここでは、入力インターフェース出力部15は、電卓インターフェースを、領域50下方に接する位置に出力する。
図7は、入力インターフェース出力部15が出力する電卓インターフェースを示す図である。この図は、図6の画像の領域50近傍を拡大して示す図である。電卓インターフェース155は、テンキーや演算子のキー等の複数のキー150と、計算結果を出力する表示領域151と、計算を実行させるためのキー152と、電卓インターフェースを用いた計算式の入力の終了を指示する入力ボタン153を備えている。入力ボタン153は、電卓インターフェースを閉じる(即ち電卓インターフェースの出力を終了する)ボタンを兼用していると考えても良い。
次に、ユーザが領域50に入力する数値を計算するために、マウス等でキー150を押したとする。例えば、「100+500」という計算式を、キー150を用いて押したとする。そして、計算を実行するためのキー152を押したとする。計算式受付部14は、「100+500」という計算式を受け付ける。また、計算過程取得部17は、計算式受付部14が受け付けた計算式の解を算出する。ここでは、計算式の解「600」を算出する。そして、この計算式と解とを有する計算過程情報を、領域指定操作で指定された領域の「領域ID」である「004」と、計算式の受け付け順番を示す情報である「1」とを対応付けて、計算過程格納部12に蓄積する。計算式の受け付け順番を示す値は、ここでは初期値が「1」である連番であり、値が小さいものほど入力された順番が早いことを示す。
図8は、計算過程格納部12に蓄積された計算過程情報管理表を示す図である。計算過程情報管理表は、「過程ID」、「領域ID」と「順番」と、「計算過程情報」という属性を有している。計算過程情報は、更に、「計算式」と、「解」という属性を有している。「過程ID」は、計算過程情報の識別情報である。「領域ID」は、計算過程情報が対応付けられた領域の領域識別情報であり、図3の「領域ID」に相当する。「順番」は、計算式の受け付け順番を示す値である。「計算過程情報」は、計算過程情報である。「計算式」は計算式受付部14が受け付けた計算式である。ただし、ここでは、「=(イコール)」は省略されている。また、演算子から始まる計算式は、その計算式の直前の計算式(即ち対応する「順番」の値が一つ前のレコード(行)の「解」を最初の数値とした計算式であることを示す。例えば、「<演算子><数値>」という計算式は、「<直前の解><演算子><数値>」という計算式を示す。具体例を挙げると、「+50」という計算式は、「<直前の解>+50」という計算式を示すこととなる。
出力部24は、計算過程取得部17が取得した計算過程情報を、領域50の近傍に出力する。まず、出力部24は、図8に示した計算過程情報管理表において、「領域ID」が「004」であるレコードを検出し、検出したレコードから、「計算過程情報」を「順番」の値が小さいものから順番に読み出す。ここでは、「順番」の値が「1」であるレコードから、「計算過程情報」として、「100+500」という「計算式」と、「600」という「解」とを取得する。そして、「計算式」の値については、各演算子の直前で改行して、横線で区切って上下二行に配列する。また、「解」の値を、その下の行に配置する。「解」を配置する際には、値の前に「合計」という文字列を配置する。また、「計算式」と「解」との間には、上記の横線よりも太い横線を配置する。また、最下行は、背景色を他の背景色と異なる背景色に変更する。そして、このようにして配置した計算過程情報156を、出力部24は、電卓インターフェース155の横に出力する。
図9は、出力部24による計算過程情報156の出力例を示す図である。
つぎに、ユーザが、上記で得られた解に対して数値「300」を加算するために、マウス等でキー150を押して、「+300」を入力し、計算を実行するためのキー152を押したとする。計算式受付部14は、「<直前の解>+300」という計算式を受け付ける。また、計算過程取得部17は、直前の解である「600」と「300」とを加算して解「900」を取得する。そして、上記の計算式と解とを有する計算過程情報とを領域指定操作で指定された領域の「領域ID」である「004」と、計算式の受け付け順番を示す情報である「2」とを対応付けて、計算過程格納部12に蓄積する。
また、出力部24は、上記で追加された計算式を含む計算過程情報を、領域50の近傍に出力する。ここでは、上記で出力した計算過程情報を更新する。出力部24は、計算過程情報管理表において、「領域ID」が「004」であるレコードであって、「順番」の値が、上記で検出済の値である「1」よりも後のものを検出し、検出したレコードから、「計算過程情報」を小さいものから順番に読み出す。ここでは、「順番」の値が「2」であるレコードから、「計算過程情報」として、「+300」という「計算式」と、「900」という「解」とを取得する。そして、「計算式」の値については、各演算子の直前に数値がないため、改行を行わず、図9に示すように出力した計算過程情報の下に配置する。また、「解」の値を、その下の行に配置する。上記と同様に、「解」を配置する際には、値の前に「合計」という文字列を配置する。また、「計算式」と「解」との間には、上記の横線よりも太い横線を配置する。また、最下行は、背景色を他の背景色と異なる背景色に変更する。そして、出力部24は、このようにして配置した計算過程情報で、電卓インターフェース155の横に出力された計算過程情報を更新(例えば、上書き)する。
更に、ユーザが、上記で得られた解に対して数値「830」を加算するために、マウス等でキー150を押して、「+830」を入力し、計算を実行するためのキー152を押したとする。計算式受付部14は、「<直前の解>+830」という計算式を受け付ける。また、計算過程取得部17は、直前の解である「900」と「830」とを加算して解「1730」を取得する。そして、上記の計算式と解とを有する計算過程情報とを領域指定操作で指定された領域の「領域ID」である「004」と、計算式の受け付け順番を示す情報である「3」とを対応付けて、計算過程格納部12に蓄積する。
また、出力部24は、上記で追加された計算式を含む計算過程情報を、領域50の近傍に出力する。ここでは、上記で出力した計算過程情報を更新する。出力部24は、計算過程情報管理表において、「領域ID」が「004」であるレコードであって、「順番」の値が、上記で検出済の値である「2」よりも後のものを検出し、検出したレコードから、「計算過程情報」を小さいものから順番に読み出す。ここでは、「順番」の値が「3」であるレコードから、「計算過程情報」として、「+830」という「計算式」と、「1730」という「解」とを取得する。そして、「計算式」の値については、各演算子の直前に数値がないため、改行を行わず、上記で更新した計算過程情報の下に配置する。また、「解」の値を、その下の行に配置する。上記と同様に、「解」を配置する際には、値の前に「合計」という文字列を配置する。また、「計算式」と「解」との間には、上記の横線よりも太い横線を配置する。また、最下行は、背景色を他の背景色と異なる背景色に変更する。そして、出力部24は、このようにして配置した計算過程情報で、電卓インターフェース155の横に出力された計算過程情報156を更新する。
図10は、計算過程格納部12に蓄積された計算過程情報管理表を示す図である。
図11は、出力部24による計算過程情報156の出力例を示す図である。
次に、ユーザが、図11に示すようにモニタに出力されている計算過程情報の「+500」という領域をマウス等でクリックすると、この「+500」という部分を含む計算式「100+500」についてのメモ情報を受け付けるための入力インターフェースである入力フィールド110がモニタに出力される。
図12は、メモ情報の入力フィールドの出力例を示す図である。
ユーザがキーボード等を操作して、この入力フィールドに対して文字列、例えば「要確認」等を入力すると、メモ情報受付部22は、計算式「100+500」について、「要確認」というメモ情報を受け付ける。そして、メモ情報蓄積部23は、受け付けたメモ情報を、この計算式に対応する「過程ID」である「00001」と対応付けてメモ情報格納部21に蓄積する。
同様に、ユーザの操作に応じて、図11に示すようにモニタに出力されている計算過程情報の「+300」という数式および「+830」という数式についても、メモ情報が蓄積されたとする。
図13は、メモ情報格納部21に格納されたメモ情報を管理するメモ情報管理表を示す図である。メモ情報管理表は、「過程ID」と「メモ情報」という項目を有している。
なお、メモ情報としてここでは、テキストを入力した場合について説明したが、メモ情報は、1以上の領収書の画像であっても良い。この場合、例えば、図12の「画像選択...」というボタン111を押して、図示しない記憶媒体等に格納されている領収書の画像を選択するようにすればよい。
そして、ユーザが、入力ボタン153をマウス等でクリックすると、数値受付部19は、計算過程取得部17が領域50について取得した解のうちの最終的に取得した解、即ち、受付順番が最後の計算式の解である「1730」を取得する。そして、取得した解「1730」を、数値蓄積部20が、領域50の「領域ID」である「004」と対応付けて数値格納部18に蓄積し、図5に示した数値管理表を更新する。また、出力部24は、電卓インターフェースや計算過程情報の出力を終了し、領域50内に、上記の数値1730を出力する。
図14は、更新された数値管理表を示す図である。
次に、ユーザが、この「帳票ID」が「帳票A1」である帳票の出力を終了した後、再度、この帳票を出力する操作を行ったとすると、図5と同様の帳票の画像が出力される。ただし、ここでは、領域50内には、上記で数値蓄積部20が蓄積した数値「1730」が配置される点が、図5とは異なる。
そして、ユーザが、領域50をマウス等でクリック等を行うことで選択し、図示しないメニュー等から、この領域50についての計算過程情報を出力する項目等を選択したとする。図示しない受付部等は、この領域50について計算過程情報を出力する指示を受け付ける。具体的には、「領域ID」が「004」である領域について、この領域に対応付けられている計算過程情報を出力する指示を受け付ける。次に、出力部24は、図19に示した計算過程情報管理表から、「領域ID」が「004」である領域と対応付けられた計算過程情報を検出し、上述したように、「順位」の値が小さいレコードの計算過程情報から順番に、計算式と、解とを読み出し、上記と同様のルールにより改行しながら縦に配列する。そして、配列した計算過程情報を、領域50の近傍、ここでは、領域50の下に出力する。
図15は、計算過程情報の出力例を示す図である。このようにして、計算過程情報156を出力することで、領域に入力された数値を得るために行われた計算過程を出力して確認することが可能となる。
更に、出力されている計算過程情報の「+300」という計算式上にマウスを移動させたとすると、図示しない受付部等が、この計算式に対応付けられたメモ情報を出力する指示を受け付け、出力部24が、この計算式の「過程ID」である「00002」を図10に示した計算過程情報管理表から読み出し、図13に示したメモ管理表から、「過程ID」が「00002」に対応する「メモ情報」である「確認済」を読み出す。そして、この「メモ情報」を、「+300」という計算式の横に出力する。
図16は、メモ情報の出力例を示す図である。このようにして、メモ情報157を出力することで、領域に入力された数値を得るために行われた計算過程について付与されたメモを確認することができる。
ここで、例えば、上述した図12に示したメモ情報の入力フィールドを出力している際に、テキストである文字情報を入力する代わりに、「画像選択...」というボタン111を押して、図示しない記憶媒体等に格納されている領収書の画像を選択していたとすると、計算過程情報の「+300」という計算式上にマウスを移動させた場合、図16に示すようなメモ情報の代わりに、図17に示すような領収書画像を含むメモ情報が出力される。
以上、本実施の形態によれば、領域に入力された数値の計算過程を確認することができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、数値が配置される領域を示す情報である1以上の領域情報が格納される領域情報格納部と、1以上の計算式と、1以上の各計算式について算出された解とを有する情報である計算過程情報が格納される計算過程格納部と、数値が格納される数値格納部と、にアクセス可能なコンピュータを、領域情報が示す領域に対する1以上の計算式を受け付ける計算式受付部と、計算式受付部が受け付けた1以上の計算式を含む計算過程情報を、計算式を受け付けた領域を示す領域情報と対応付けて、計算過程格納部に蓄積する計算過程取得部と、計算式受付部が計算式を受け付けた領域に対する数値であって、領域に対して受け付けた1以上の計算式に対応する数値を受け付ける数値受付部と、数値受付部が受け付けた数値を、数値を受け付けた領域を示す領域情報と対応付けて、数値格納部に蓄積する数値蓄積部と、計算過程情報と対応付けられた領域情報が示す領域内に、領域情報と対応付けられた数値を出力し、領域情報と対応付けられた計算過程情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図18は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図18において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図19は、コンピュータシステム900の内部構成を示す図である。図19において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。