(57)【要約】  【課題】複数の処理装置の各々が計算する計算式を容易に変更することができること。  【解決手段】本発明の変動演算対応システムは、計算式に関する複数の計算式情報が複数の計算式識別子に対応付けて格納されたデータベース（１、２）と、複数の処理装置（３−１〜３−Ｍ）とを具備する。データベース（１、２）と複数の処理装置（３−１〜３−Ｍ）とは、ネットワーク（４）上に設けられている。複数の処理装置（３−１〜３−Ｍ）のうちの第１処理装置（３−Ｍ）は、データベース（１、２）に格納された内容を変更可能な変更プログラムを具備する。複数の処理装置（３−１〜３−Ｍ）の各々は、ソースプログラムと、計算プログラムとを具備する。ソースプログラムは、複数の計算式識別子のうちの第１計算式識別子を有する。計算プログラムは、データベース（１、２）を参照して、複数の計算式情報のうちの第１計算式識別子に対応する第１計算式情報を用いて計算する。  【選択図】図１
2005056352.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に設けられ、計算式に関する複数の計算式情報が複数の計算式識別子に対応付けて格納されたデータベースと、
前記ネットワーク上に設けられた複数の処理装置とを具備し、
前記複数の処理装置のうちの第１処理装置は、前記データベースに格納された内容を変更可能な変更プログラムを具備し、
前記複数の処理装置の各々は、
前記複数の計算式識別子のうちの第１計算式識別子を有するソースプログラムと、
前記データベースを参照して、前記複数の計算式情報のうちの前記第１計算式識別子に対応する第１計算式情報を用いて計算する計算プログラムと
を具備する変動演算対応システム。
【請求項２】
前記データベースは、
前記複数の計算式情報が前記複数の計算式識別子に対応付けて格納され、複数の変数と複数の演算子とが更に格納された計算式情報データベースと、
前記複数の変数に対応する複数の値が格納された値データベースとを含み、
前記複数の変数のそれぞれと前記複数の値のそれぞれとは複数の変数識別子のそれぞれを含み、
前記複数の演算子のそれぞれは前記複数の演算子識別子のそれぞれを含み、
前記計算プログラムは、
前記計算式情報データベースを参照して、前記複数の計算式情報のうちの前記第１計算式識別子に対応する前記第１計算式情報を抽出する計算式情報抽出プログラムと、前記第１計算式情報は、前記計算式の数を表す式数ｎ（ｎは１以上の整数）と前記複数の変数のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の変数と前記複数の演算子のうちの第１番目から第ｎ番目までのｎ個の演算子とを含み、前記（ｎ＋１）個の変数のそれぞれは前記複数の変数識別子のうちの前記（ｎ＋１）個の変数に対応する（ｎ＋１）個の変数識別子のそれぞれを含み、前記ｎ個の演算子のそれぞれは前記複数の演算子識別子のうちの前記ｎ個の演算子に対応するｎ個の演算子識別子のそれぞれを含み、
前記値データベースを参照して、前記複数の値のうちの、前記（ｎ＋１）個の変数に対応する第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の値を抽出する値抽出プログラムと、前記（ｎ＋１）個の値のそれぞれは前記（ｎ＋１）個の変数識別子のそれぞれを含み、
前記抽出された式数ｎと前記（ｎ＋１）個の変数識別子と前記ｎ個の演算子識別子とに従って、第１変数と第２変数とを第１演算子によって演算するための第１計算式を作成し、第ｚ計算式（ｚ＝１、２、…、（ｎ−１））の解と第（ｚ＋２）変数とを第（ｚ＋１）演算子によって演算するための第（ｚ＋１）計算式を作成して、前記計算式としてｎ個の計算式を作成する計算式組立プログラムと、
前記（ｎ＋１）個の変数識別子に従って、前記作成されたｎ個の計算式の中の前記（ｎ＋１）個の変数のそれぞれに前記（ｎ＋１）個の値のそれぞれを代入する代入プログラムと、
前記代入されたｎ個の計算式を計算する計算実行プログラムと
を具備する請求項１に記載された変動演算対応システム。
【請求項３】
前記抽出された式数ｎが１のとき、
前記（ｎ＋１）個の変数のうちの前記第１変数と前記（ｎ＋１）個の値のうちの第１値は、前記（ｎ＋１）個の変数識別子のうちの第１変数識別子を含み、前記（ｎ＋１）個の変数のうちの前記第２変数と前記（ｎ＋１）個の値のうちの第２値は、前記（ｎ＋１）個の変数識別子のうちの第２変数識別子を含み、
前記ｎ個の演算子のうちの前記第１演算子は、前記ｎ個の演算子識別子のうちの第１演算子識別子を含み、
前記計算式組立プログラムは、前記第１変数識別子と前記第２変数識別子と前記第１演算子識別子とに従って、前記第１変数と前記第２変数とを前記第１演算子によって演算するための前記第１計算式を作成し、
前記代入プログラムは、前記第１変数識別子に従って前記第１変数に前記第１値を代入し、前記第２変数識別子に従って前記第２変数に前記第２値を代入する
請求項２に記載された変動演算対応システム。
【請求項４】
前記抽出された式数ｎが２のとき、
前記（ｎ＋１）個の変数のうちの前記第１変数と前記（ｎ＋１）個の値のうちの第１値は、前記（ｎ＋１）個の変数識別子のうちの第１変数識別子を含み、前記（ｎ＋１）個の変数のうちの前記第２変数と前記（ｎ＋１）個の値のうちの第２値は、前記（ｎ＋１）個の変数識別子のうちの第２変数識別子を含み、前記（ｎ＋１）個の変数のうちの第３変数と前記（ｎ＋１）個の値のうちの第３値は、前記（ｎ＋１）個の変数識別子のうちの第３変数識別子を含み、
前記ｎ個の演算子のうちの前記第１演算子は、前記ｎ個の演算子識別子のうちの第１演算子識別子を含み、前記ｎ個の演算子のうちの第２演算子は、前記ｎ個の演算子識別子のうちの第２演算子識別子を含み、
前記計算式組立プログラムは、
前記第１変数識別子と前記第２変数識別子と前記第１演算子識別子とに従って、前記第１変数と前記第２変数とを前記第１演算子によって演算するための前記第１計算式を作成し、
前記第３変数識別子と前記第２演算子識別子とに従って、前記第１計算式の解と前記第３変数とを前記第２演算子によって演算するための第２計算式を作成し、
前記代入プログラムは、前記第１変数識別子に従って前記第１変数に前記第１値を代入し、前記第２変数識別子に従って前記第２変数に前記第２値を代入し、前記第３変数識別子に従って前記第３変数に前記第３値を代入する
請求項２に記載された変動演算対応システム。
【請求項５】
前記データベースには、複数の関数と、複数の変数と、複数の演算子と、前記複数の変数に対応する複数の値とが更に格納され、
前記複数の関数のそれぞれは前記複数の関数識別子のそれぞれを含み、
前記複数の変数のそれぞれと前記複数の値のそれぞれとは複数の変数識別子のそれぞれを含み、
前記計算プログラムは、
前記データベースを参照して、前記複数の計算式情報のうちの前記第１計算式識別子に対応する前記第１計算式情報を抽出する抽出プログラムと、前記第１計算式情報は、前記複数の関数のうちの第１番目から第ｎ番目までのｎ個（ｎは１以上の整数）の関数と前記複数の値のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の値とを含み、前記ｎ個の関数のそれぞれは前記複数の関数識別子のうちの前記ｎ個の関数に対応するｎ個の関数識別子のそれぞれを含み、前記ｎ個の関数は前記複数の変数のうちの（ｎ＋１）個の変数と前記複数の演算子のうちのｎ個の演算子とを含み、前記ｎ個の関数のうちの第１関数は、前記（ｎ＋１）個の変数のうちの第１変数と第２変数と前記ｎ個の演算子のうちの第１演算子とを含み、前記第１変数と前記第２変数とを前記第１演算子によって演算するための関数であり、前記ｎ個の関数のうちの第ｚ（ｚ＝２、３、…、ｎ）関数は、前記（ｎ＋１）個の変数のうちの第（ｚ＋１）変数と前記ｎ個の演算子のうちの第ｚ演算子とを含み、第（ｚ−１）関数の解と前記第（ｚ＋１）変数とを前記第ｚ演算子によって演算するための関数であり、
前記ｎ個の関数識別子に従って、前記ｎ個の関数を含む前記計算式を作成する計算式組立プログラムと、
前記（ｎ＋１）個の変数識別子に従って、前記作成された計算式の中の（ｎ＋１）個の変数のそれぞれに前記（ｎ＋１）個の値のそれぞれを代入する代入プログラムと、
前記代入された計算式を計算する計算実行プログラムと
を具備する請求項１に記載された変動演算対応システム。
【請求項６】
前記ｎが２のとき、
前記ｎ個の関数のうちの前記第１関数は、前記複数の関数識別子のうちの第１関数識別子を含み、前記ｎ個の関数のうちの第２関数は、前記複数の関数識別子のうちの第２関数識別子を含み、
前記（ｎ＋１）個の変数のうちの前記第１変数と前記（ｎ＋１）個の値のうちの第１値は、前記複数の変数識別子のうちの第１変数識別子を含み、前記（ｎ＋１）個の変数のうちの前記第２変数と前記（ｎ＋１）個の値のうちの第２値は、前記複数の変数識別子のうちの第２変数識別子を含み、前記（ｎ＋１）個の変数のうちの第３変数と前記（ｎ＋１）個の値のうちの第３値は、前記複数の変数識別子のうちの第３変数識別子を含み、
前記計算式組立プログラムは、前記第１関数識別子と前記第２関数識別子とに従って、前記第１関数と前記第２関数とを含む前記計算式を作成し、
前記代入プログラムは、前記第１変数識別子に従って前記第１変数に前記第１値を代入し、前記第２変数識別子に従って前記第２変数に前記第２値を代入し、前記第３変数識別子に従って前記第３変数に前記第３値を代入する
請求項５に記載された変動演算対応システム。
【請求項７】
前記第１処理装置は、認証用パスワードを有し、
前記変更プログラムは、前記第１処理装置を使用するユーザにより入力されたパスワードと前記認証用パスワードとの照合結果に基づいて、前記データベースに格納された内容の変更を許可する
請求項１〜６のいずれか一項に記載された変動演算対応システム。
【請求項８】
計算式に関する複数の計算式情報が複数の計算式識別子に対応付けて格納されたデータベースとネットワークを介して接続され、前記複数の計算式識別子のうちの第１計算式識別子を有するソースプログラムを具備する複数のコンピュータの各々に実行させるコンピュータプログラムであって、
前記データベースを参照して、前記複数の計算式情報のうちの前記第１計算式識別子に対応する第１計算式情報を用いて計算するステップと、
前記第１計算式情報を用いて計算した結果を前記コンピュータに接続された出力装置に出力するステップと
を前記コンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変動演算対応システムに関し、特に、計算式が変更される変動演算対応システムに関する。
【背景技術】
【０００２】
処理装置は、計算式を有するソースプログラムを具備し、ソースプログラム上の計算式によって金額を計算する。この計算式により計算される金額としては、商品の金額が例示される。金額の変動に伴って計算式を変更する場合、上記のソースプログラム（第１ソースプログラムとする）から、変更された計算式を有するソースプログラム（第２ソースプログラムとする）に変更しなければならない。処理装置が複数台存在し、複数の処理装置の各々が上記第１ソースプログラムを具備している場合、第１ソースプログラムから第２ソースプログラムに変更する変更作業を、処理装置の数だけ行わなければならない。複数の処理装置が計算する計算式を容易に変更できることが望まれる。
【０００３】
計算式（演算式）を用いたシステムについて紹介する。
特開平４−２５６０２２号公報には、計算式に変更が生じた場合に、ソースプログラムの変更作業を行うことなく、顧客側において、計算式が格納されている計算式ファイルの内容を変更することにより、容易に目的とする計算結果が得られる「計算式変更装置」が開示されている。
【０００４】
【特許文献１】特開平４−２５６０２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の課題は、複数の処理装置の各々が計算する計算式を容易に変更することができる変動演算対応システムを提供することにある。
【０００６】
本発明の他の課題は、計算式が変更された場合に複数の処理装置の各々がソースプログラムを変更することなく、変更された計算式を計算することができる変動演算対応システムを提供することにある。
【０００７】
本発明の更に他の課題は、複数の処理装置の各々が計算式を確実に計算することができる変動演算対応システムを提供することにある。
【０００８】
本発明の更に他の課題は、計算式を変更するときのセキュリティが確保される変動演算対応システムを提供することにある。
【課題を解決するための手段】
【０００９】
以下に、発明を実施するための最良の形態で使用する番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための最良の形態の記載との対応関係を明らかにするために付加されたものであるが、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１０】
本発明の変動演算対応システムは、計算式に関する複数の計算式情報（２５−１〜２５−ｘ；ｘは１以上の整数）が複数の計算式識別子（２４−１〜２４−ｘ）に対応付けて格納されたデータベース（１、２／３０）と、複数の処理装置（３−１〜３−Ｍ；Ｍは１以上の整数）とを具備する。データベース（１、２／３０）と複数の処理装置（３−１〜３−Ｍ）とは、ネットワーク（４）上に設けられている。
複数の処理装置（３−１〜３−Ｍ）のうちの第１処理装置（３−Ｍ）は、データベース（１、２／３０）に格納された内容を変更可能な変更プログラム（１７）を具備する。
複数の処理装置（３−１〜３−Ｍ）の各々は、ソースプログラム（９）と、計算プログラム（１０）とを具備する。ソースプログラム（９）は、複数の計算式識別子（２４−１〜２４−ｘ）のうちの第１計算式識別子（２４−ｉ；ｉ＝１、２、…、ｘ）を有する。計算プログラム（１０）は、データベース（１、２／３０）を参照して、複数の計算式情報（２５−１〜２５−ｘ）のうちの第１計算式識別子（２４−ｉ）に対応する第１計算式情報（２５−ｉ）を用いて計算する。
本発明の変動演算対応システムによれば、複数の処理装置（３−１〜３−Ｍ）の各々は、計算式を有するソースプログラムを具備しているのではなく、第１計算式識別子（２４−ｉ）を有するソースプログラム（９）と計算プログラム（１０）とを具備している。データベース（１、２／３０）には、第１計算式識別子（２４−ｉ）と計算式に関する第１計算式情報（２５−ｉ）とが対応付けられて格納され、複数の処理装置（３−１〜３−Ｍ）の各々の計算プログラム（１０）は、第１計算式情報（２５−ｉ）を用いて計算する。このため、金額の変動に伴って計算式が変更された場合、複数の処理装置（３−１〜３−Ｍ）の各々がソースプログラム（９）を変更することなく、複数の処理装置（３−１〜３−Ｍ）の各々の計算プログラム（１０）は、変更された計算式を計算することができる。このように、本発明の変動演算対応システムによれば、計算式が変更された場合、複数の処理装置（３−１〜３−Ｍ）の各々がコンパイルを行う必要がないため、複数の処理装置（３−１〜３−Ｍ）の各々が計算する計算式を容易に変更することができる。
【００１１】
データベース（１、２）は、計算式情報データベース（２）と、値データベース（１）とを含む。
計算式情報データベース（２）には、複数の計算式情報（２５−１〜２５−ｘ）が複数の計算式識別子（２４−１〜２４−ｘ）に対応付けて格納され、複数の変数（２２−１〜２２−（ｍ＋１）；ｍは１以上の整数）と複数の演算子（２３−１〜２３−ｍ）とが更に格納されている。
値データベース（１）には、複数の変数（２２−１〜２２−（ｍ＋１））に対応する複数の値（２１−１〜２１−（ｍ＋１））が格納されている。
複数の変数（２２−１〜２２−（ｍ＋１））のそれぞれと複数の値（２１−１〜２１−（ｍ＋１））のそれぞれとは複数の変数識別子のそれぞれを含む。複数の演算子（２３−１〜２３−ｍ）のそれぞれは複数の演算子識別子のそれぞれを含む。
計算プログラム（１０）は、計算式情報抽出プログラム（１１）と、値抽出プログラム（１２）と、計算式組立プログラム（１３）と、代入プログラム（１４）と、計算実行プログラム（１５）とを具備する。
計算式情報抽出プログラム（１１）は、計算式情報データベース（２）を参照して、複数の計算式情報（２５−１〜２５−ｘ）のうちの第１計算式識別子（２４−ｉ）に対応する第１計算式情報（２５−ｉ）を抽出する（Ｓ１１）。第１計算式情報（２５−ｉ）は、計算式の数を表す式数ｎ（ｎは１以上ｍ以下の整数）と、複数の変数（２２−１〜２２−（ｍ＋１））のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の変数と、複数の演算子（２３−１〜２３−ｍ）のうちの第１番目から第ｎ番目までのｎ個の演算子とを含む。上記（ｎ＋１）個の変数のそれぞれは、複数の変数識別子のうちの上記（ｎ＋１）個の変数に対応する（ｎ＋１）個の変数識別子のそれぞれを含む。上記ｎ個の演算子のそれぞれは、複数の演算子識別子のうちの上記ｎ個の演算子に対応するｎ個の演算子識別子のそれぞれを含む。
値抽出プログラム（１２）は、値データベース（１）を参照して、複数の値（２１−１〜２１−（ｍ＋１））のうちの、上記（ｎ＋１）個の変数に対応する第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の値を抽出する（Ｓ１２）。上記（ｎ＋１）個の値のそれぞれは上記（ｎ＋１）個の変数識別子のそれぞれを含む。
計算式組立プログラム（１３）は、上記抽出された式数ｎと上記（ｎ＋１）個の変数識別子と上記ｎ個の演算子識別子とに従って、第１変数と第２変数とを第１演算子によって演算するための第１計算式を作成し、第ｙ計算式（ｙ＝１、２、…、（ｎ−１））の解と第（ｙ＋２）変数とを第（ｙ＋１）演算子によって演算するための第（ｙ＋１）計算式を作成して、上記計算式としてｎ個の計算式を作成する（Ｓ１３）。
代入プログラム（１４）は、上記（ｎ＋１）個の変数識別子に従って、上記作成されたｎ個の計算式の中の（ｎ＋１）個の変数のそれぞれに上記（ｎ＋１）個の値のそれぞれを代入する（Ｓ１４）。
計算実行プログラム（１５）は、上記代入されたｎ個の計算式を計算する（Ｓ１５）。
計算式を単に計算式情報データベース（２）に格納しただけでは、複数の処理装置（３−１〜３−Ｍ）の各々は、計算式情報データベース（２）に格納された計算式を読み出しても、読み出された計算式を“計算式”として認識せず、その計算式を計算することができない。そこで、本発明の変動演算対応システムによれば、上述のように計算プログラム（１０）が変数、演算子を用いて計算式を組立てることにより、その計算式を確実に計算することができる。
【００１２】
上記の処理の具体例として、上記抽出された式数ｎが１であるものとする。この場合、上記（ｎ＋１）個の変数のうちの第１変数（２２−１）と上記（ｎ＋１）個の値のうちの第１値（２１−１）は、上記（ｎ＋１）個の変数識別子のうちの第１変数識別子を含む。上記（ｎ＋１）個の変数のうちの第２変数（２２−２）と上記（ｎ＋１）個の値のうちの第２値（２１−２）は、上記（ｎ＋１）個の変数識別子のうちの第２変数識別子を含む。上記ｎ個の演算子のうちの第１演算子（２３−１）は、上記ｎ個の演算子識別子のうちの第１演算子識別子を含む。
計算式組立プログラム（１３）は、第１変数識別子と第２変数識別子と第１演算子識別子とに従って、第１変数（２２−１）と第２変数（２２−２）とを第１演算子（２３−１）によって演算するための第１計算式を作成する（Ｓ１３）。
代入プログラム（１４）は、第１変数識別子に従って第１変数（２２−１）に第１値（２１−１）を代入し、第２変数識別子に従って第２変数（２２−２）に第２値（２１−２）を代入する（Ｓ１４）。
【００１３】
上記の処理の具体例として、上記抽出された式数ｎが２であるものとする。この場合、上記（ｎ＋１）個の変数のうちの第１変数（２２−３）と上記（ｎ＋１）個の値のうちの第１値（２１−３）は、上記（ｎ＋１）個の変数識別子のうちの第１変数識別子を含む。上記（ｎ＋１）個の変数のうちの第２変数（２２−４）と上記（ｎ＋１）個の値のうちの第２値（２１−４）は、上記（ｎ＋１）個の変数識別子のうちの第２変数識別子を含む。（ｎ＋１）個の変数のうちの第３変数（２２−５）と上記（ｎ＋１）個の値のうちの第３値（２１−５）は、上記（ｎ＋１）個の変数識別子のうちの第３変数識別子を含む。上記ｎ個の演算子のうちの第１演算子（２３−３）は、上記ｎ個の演算子識別子のうちの第１演算子識別子を含む。ｎ個の演算子のうちの第２演算子（２３−４）は、上記ｎ個の演算子識別子のうちの第２演算子識別子を含む。
計算式組立プログラム（１３）は、第１変数識別子と第２変数識別子と第１演算子識別子とに従って、第１変数（２２−３）と第２変数（２２−４）とを第１演算子（２３−３）によって演算するための第１計算式を作成する（Ｓ１３）。次に、計算式組立プログラム（１３）は、第３変数識別子と第２演算子識別子とに従って、第１計算式の解と第３変数（２２−５）とを第２演算子（２３−４）によって演算するための第２計算式を作成する（Ｓ１３）。
代入プログラム（１４）は、第１変数識別子に従って第１変数（２２−３）に第１値（２１−３）を代入し、第２変数識別子に従って第２変数（２２−４）に第２値（２１−４）を代入し、第３変数識別子に従って第３変数（２２−５）に第３値（２１−５）を代入する（Ｓ１４）。
【００１４】
上記データベース（３０）には、複数の関数（３１−１〜３１−ｍ）と、複数の変数（２２−１〜２２−（ｍ＋１））と、複数の演算子（２３−１〜２３−ｍ）と、複数の変数（２２−１〜２２−（ｍ＋１））に対応する複数の値（２１−１〜２１−（ｍ＋１））とが更に格納されている。
複数の関数（３１−１〜３１−ｍ）のそれぞれは複数の関数識別子のそれぞれを含む。複数の変数（２２−１〜２２−（ｍ＋１））のそれぞれと複数の値（２１−１〜２１−（ｍ＋１））のそれぞれとは複数の変数識別子のそれぞれを含む。
計算プログラム（１０）は、抽出プログラム（３２）と、計算式組立プログラム（３３）と、代入プログラム（１４）と、計算実行プログラム（１５）とを具備する。
抽出プログラム（３２）は、データベース（３０）を参照して、複数の計算式情報（２５−１〜２５−ｘ）のうちの第１計算式識別子（２４−ｉ）に対応する第１計算式情報（２５−ｉ）を抽出する（Ｓ２１）。第１計算式情報（２５−ｉ）は、複数の関数（３１−１〜３１−ｍ）のうちの第１番目から第ｎ番目までのｎ個（ｎは１以上の整数）の関数と、複数の値（２１−１〜２１−（ｍ＋１））のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の値とを含む。上記ｎ個の関数のそれぞれは複数の関数識別子のうちの上記ｎ個の関数に対応するｎ個の関数識別子のそれぞれを含む。上記ｎ個の関数は、複数の変数（２２−１〜２２−（ｍ＋１））のうちの（ｎ＋１）個の変数と複数の演算子（２３−１〜２３−ｍ）のうちのｎ個の演算子とを含む。上記ｎ個の関数のうちの第１関数は、上記（ｎ＋１）個の変数のうちの第１変数と第２変数と上記ｎ個の演算子のうちの第１演算子とを含み、上記第１変数と上記第２変数とを上記第１演算子によって演算するための関数である。上記ｎ個の関数のうちの第ｚ（ｚ＝２、３、…、ｎ）関数は、上記（ｎ＋１）個の変数のうちの第（ｚ＋１）変数と上記ｎ個の演算子のうちの第ｚ演算子とを含み、第（ｚ−１）関数の解と上記第（ｚ＋１）変数とを上記第ｚ演算子によって演算するための関数である。
計算式組立プログラム（３３）は、上記ｎ個の関数識別子に従って、上記ｎ個の関数を含む計算式を作成する（Ｓ２２）。
代入プログラム（１４）は、上記（ｎ＋１）個の変数識別子に従って、上記作成された計算式の中の（ｎ＋１）個の変数のそれぞれに上記（ｎ＋１）個の値のそれぞれを代入する（Ｓ２３）。
計算実行プログラム（１５）は、上記代入された計算式を計算する（Ｓ２４）。
計算式を単にデータベース（３０）に格納しただけでは、複数の処理装置（３−１〜３−Ｍ）の各々は、データベース（３０）に格納された計算式を読み出しても、読み出された計算式を“計算式”として認識せず、その計算式を計算することができない。そこで、本発明の変動演算対応システムによれば、上述のように計算プログラム（１０）が関数を用いて計算式を組立てることにより、その計算式を確実に計算することができる。
【００１５】
上記の処理の具体例として、上記ｎが２であるものとする。この場合、上記ｎ個の関数のうちの第１関数（３１−３）は、上記複数の関数識別子のうちの第１関数識別子を含む。上記ｎ個の関数のうちの第２関数（３１−４）は、上記複数の関数識別子のうちの第２関数識別子を含む。上記（ｎ＋１）個の変数のうちの第１変数（２２−３）と上記（ｎ＋１）個の値のうちの第１値（２１−３）は、上記複数の変数識別子のうちの第１変数識別子を含み、上記（ｎ＋１）個の変数のうちの第２変数（２２−４）と上記（ｎ＋１）個の値のうちの第２値（２１−４）は、上記複数の変数識別子のうちの第２変数識別子を含む。上記（ｎ＋１）個の変数のうちの第３変数（２２−５）と上記（ｎ＋１）個の値のうちの第３値（２１−５）は、上記複数の変数識別子のうちの第３変数識別子を含む。
計算式組立プログラム（３３）は、第１関数識別子と第２関数識別子とに従って、第１関数（３１−３）と第２関数（３１−４）とを含む計算式を作成する。
代入プログラム（１４）は、第１変数識別子に従って第１変数（２２−３）に第１値（２１−３）を代入し、第２変数識別子に従って第２変数（２２−４）に第２値（２１−４）を代入し、第３変数識別子に従って第３変数（２２−５）に第３値（２１−５）を代入する（Ｓ２３）。
【００１６】
上記第１処理装置（３−Ｍ）は、認証用パスワード（１８）を有する。上記変更プログラム（１７）は、第１処理装置（３−Ｍ）を使用するユーザにより入力されたパスワードと認証用パスワード（１８）との照合結果に基づいて、データベース（１、２／３０）に格納された内容の変更を許可する（Ｓ１、Ｓ２−ＹＥＳ、Ｓ３）。
このように、データベース（１、２／３０）に格納された内容を変更することができるユーザは、第１処理装置（３−Ｍ）を使用するユーザ（管理ユーザ）だけであり、本発明の変動演算対応システムによれば、計算式を変更するときのセキュリティが確保される。
【００１７】
本発明のコンピュータプログラム（１０、１６）は、変動演算対応システムに適用される。変動演算対応システムは、計算式に関する複数の計算式情報（２５−１〜２５−ｘ；ｘは１以上の整数）が複数の計算式識別子（２４−１〜２４−ｘ）に対応付けて格納されたデータベース（１、２／３０）と、複数のコンピュータ（３−１〜３−Ｍ；Ｍは１以上の整数）とを具備する。データベース（１、２／３０）と複数のコンピュータ（３−１〜３−Ｍ）には、ネットワーク（４）が接続されている。複数のコンピュータ（３−１〜３−Ｍ）のうちの第１コンピュータ（３−Ｍ）は、データベース（１、２／３０）に格納された内容を変更可能である。複数のコンピュータ（３−１〜３−Ｍ）の各々は、ソースプログラム（９）と、本発明のコンピュータプログラム（１０、１６）とを具備する。ソースプログラム（９）は、複数の計算式識別子（２４−１〜２４−ｘ）のうちの第１計算式識別子（２４−ｉ；ｉ＝１、２、…、ｘ）を有する。本発明のコンピュータプログラム（１０、１６）は、以下のステップをコンピュータ（３−Ｊ）に実行させる。
第１ステップ（Ｓ１１〜Ｓ１５／Ｓ２１〜Ｓ２４）では、本発明のコンピュータプログラム（１０、１６）は、データベース（１、２／３０）を参照して、複数の計算式情報（２５−１〜２５−ｘ）のうちの第１計算式識別子（２４−ｉ）に対応する第１計算式情報（２５−ｉ）を用いて計算する。
第２ステップ（Ｓ１６／Ｓ２５）では、本発明のコンピュータプログラム（１０、１６）は、第１計算式情報（２５−ｉ）を用いて計算した結果をコンピュータ（３−Ｊ）に接続された出力装置（５）に出力する。
複数の処理装置（３−１〜３−Ｍ）の各々は、計算式を有するソースプログラムを具備しているのではなく、第１計算式識別子（２４−ｉ）を有するソースプログラム（９）と本発明のコンピュータプログラム（１０、１６）を具備している。第１計算式識別子（２４−ｉ）と計算式に関する第１計算式情報（２５−ｉ）とに対応付けられてデータベース（１、２／３０）に格納され、複数の処理装置（３−１〜３−Ｍ）の各々のコンピュータプログラム（１０、１６）は、第１計算式情報（２５−ｉ）を用いて計算する。このため、金額の変動に伴って計算式が変更された場合、複数の処理装置（３−１〜３−Ｍ）の各々がソースプログラム（９）を変更することなく、変更された計算式を計算することができる。このように、本発明のコンピュータプログラム（１０、１６）によれば、計算式が変更された場合、複数の処理装置（３−１〜３−Ｍ）の各々がコンパイルを行う必要がないため、複数の処理装置（３−１〜３−Ｍ）の各々が計算する計算式を容易に変更することができる。
【発明の効果】
【００１８】
以上の説明により、本発明の変動演算対応システムは、複数の処理装置（３−１〜３−Ｍ）の各々が計算する計算式を容易に変更することができる。
【００１９】
本発明の変動演算対応システムは、計算式が変更された場合に複数の処理装置（３−１〜３−Ｍ）の各々がソースプログラム（９）を変更することなく、変更された計算式を計算することができる。
【００２０】
本発明の変動演算対応システムは、複数の処理装置（３−１〜３−Ｍ）の各々が計算式を確実に計算することができる。
【００２１】
本発明の変動演算対応システムは、計算式を変更するときのセキュリティが確保される。
【発明を実施するための最良の形態】
【００２２】
添付図面を参照して、本発明による変動演算対応システムを実施するための最良の形態を以下に説明する。
【００２３】
（第１実施形態）
図１は、本発明の第１実施形態に係る変動演算対応システムの構成を示す。第１実施形態に係る変動演算対応システムは、複数の処理装置３−１〜３−Ｍ（Ｍは１以上の整数）と、値データベース１と、計算式情報データベース２とを具備する。複数の処理装置３−１〜３−Ｍと値データベース１と計算式情報データベース２とはネットワーク４上に設けられている。
複数の処理装置３−１〜３−Ｍのそれぞれは、複数のユーザのそれぞれに使用される。複数の処理装置３−１〜３−Ｍのそれぞれは、値データベース１と計算式情報データベース２とを参照して、後述する計算式によって金額を計算する。この計算式により計算される金額としては、商品の金額、給料、売上高、株価が例示される。
複数の処理装置３−１〜３−Ｍのうちの処理装置３−Ｍを使用するユーザを管理ユーザと称する。処理装置３−Ｍにはパスワードが与えられている。金額の変動に伴って計算式を変更する場合、管理ユーザは、そのパスワードを処理装置３−Ｍに入力することによって、値データベース１、計算式情報データベース２の内容を変更することができる。
【００２４】
複数の処理装置３−１〜３−Ｍの各々は、計算式を有するソースプログラムを具備しているのではなく、後述する計算式識別子を有するソースプログラムを具備している。計算式情報データベース２には、後述する計算式識別子と計算式に関する後述の計算式情報とが対応付けられて格納され、複数の処理装置３−１〜３−Ｍの各々は、後述する計算式識別子に対応する後述の計算式情報を用いて計算式を計算する。このため、金額の変動に伴って計算式が変更されても、複数の処理装置３−１〜３−Ｍの各々はコンパイルを行う必要がない。
後述の計算式情報は、後述する変数、演算子を含む。計算式を単に計算式情報データベース２に格納しただけでは、複数の処理装置３−１〜３−Ｍの各々は、計算式情報データベース２に格納された計算式を読み出しても、読み出された計算式を“計算式”として認識せず、その計算式を計算することができない。そこで、複数の処理装置３−１〜３−Ｍの各々は、後述の計算式情報に含まれる変数、演算子を用いて計算式を組立てることにより、その計算式を確実に計算することができる。
次に、値データベース１の内容、計算式情報データベース２の内容、複数の処理装置３−１〜３−Ｍの構成について説明する。
【００２５】
図２は、本発明の第１実施形態に係る変動演算対応システムの値データベース１に格納された情報を示す。
値データベース１には、複数の値２１−１〜２１−（ｍ＋１）（ｍは１以上の整数）が格納されている。複数の値２１−１〜２１−（ｍ＋１）のそれぞれは、複数の変数識別子のそれぞれを含む。複数の変数識別子のそれぞれは、複数の値２１−１〜２１−（ｍ＋１）のそれぞれを識別するための識別子である。
【００２６】
図３は、本発明の第１実施形態に係る変動演算対応システムの計算式情報データベース２に格納された情報を示す。
計算式情報データベース２には、複数の変数２２−１〜２２−（ｍ＋１）と、複数の演算子２３−１〜２３−ｍとが格納されている。複数の演算子２３−１〜２３−ｍのうちの演算子２３−ｊ（ｊ＝１、２、…、ｍ）は、複数の変数２２−１〜２２−（ｍ＋１）のうちの変数２２−ｊと変数２２−（ｊ＋１）とを演算するために使用され、演算子２３−ｊとしては、“＋”、“−”、“×”、“／”、…のいずれか１つが例示される。
上記の複数の値２１−１〜２１−（ｍ＋１）のそれぞれは、複数の変数２２−１〜２２−（ｍ＋１）のそれぞれに対応する。複数の変数２２−１〜２２−（ｍ＋１）のそれぞれは、上記の複数の変数識別子のそれぞれを含む。上記の複数の変数識別子のそれぞれは、複数の値２１−１〜２１−（ｍ＋１）のそれぞれを識別するための識別子である他に、複数の変数２２−１〜２２−（ｍ＋１）のそれぞれを識別するための識別子でもある。
複数の演算子２３−１〜２３−ｍのそれぞれは複数の演算子識別子のそれぞれを含む。複数の演算子識別子のそれぞれは、複数の演算子２３−１〜２３−ｍのそれぞれを識別するための識別子である。
【００２７】
図４は、本発明の第１実施形態に係る変動演算対応システムの計算式情報データベース２に情報が格納される形式を示す。
計算式情報データベース２には、計算式に関する複数の計算式情報２５−１〜２５−ｘ（ｘは１以上の整数）が複数の計算式識別子２４−１〜２４−ｘに対応付けて格納されている。複数の計算式情報２５−１〜２５−ｘのそれぞれは、計算式の数を表す式数ｎ（ｎは１以上ｍ以下の整数）と、複数の変数２２−１〜２２−（ｍ＋１）のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の変数と、複数の演算子２３−１〜２３−ｍのうちの第１番目から第ｎ番目までのｎ個の演算子とを含む。
例えば、計算式情報２５−１は、式数ｎが１であり、（ｎ＋１）個の変数として変数２２−１、２２−２を含み、ｎ個の演算子として演算子２３−１を含むものとする。
計算式情報２５−２は、式数ｎが２であり、（ｎ＋１）個の変数として変数２２−３、２２−４、２２−５を含み、ｎ個の演算子として演算子２３−３、２３−４を含むものとする。
計算式情報２５−ｘは、式数ｎが３であり、（ｎ＋１）個の変数として変数２２−１、２２−２、２２−３、２２−４を含み、ｎ個の演算子として演算子２３−１、２３−２、２３−３を含むものとする。
【００２８】
図５は、本発明の第１実施形態に係る変動演算対応システムの処理装置３−Ｊ（Ｊ＝１、２、…、Ｍ）の構成を示す。
処理装置３−Ｊは、出力装置である表示装置５と、制御装置６とを具備する。制御装置６は、出力装置（表示装置５）に接続されたコンピュータであり、ＣＰＵ７と、メモリ８とを具備する。メモリ８には、ＣＰＵ７が実行するためのコンピュータプログラムであるソースプログラム９、計算プログラム１０、表示制御プログラム１６が格納されている。
ソースプログラム９は、複数の計算式識別子２４−１〜２４−ｘのうちの計算式識別子２４−ｉ（ｉ＝１、２、…、ｘ）を有する（図７参照）。計算プログラム１０は、ソースプログラム９が実行しているときに、上記のデータベース（値データベース１、計算式情報データベース２）を参照して、複数の計算式情報２５−１〜２５−ｘのうちの計算式識別子２４−ｉに対応する計算式情報２５−ｉを用いて計算する。表示制御プログラム１６は、計算プログラム１０が計算した結果を表示装置５に表示する。
計算プログラム１０は、計算式情報抽出プログラム１１、値抽出プログラム１２、計算式組立プログラム１３、代入プログラム１４、計算実行プログラム１５を具備する。計算式情報抽出プログラム１１、値抽出プログラム１２、計算式組立プログラム１３、代入プログラム１４、計算実行プログラム１５は、後述する計算実行処理を行う。
【００２９】
図６は、本発明の第１実施形態に係る変動演算対応システムの管理ユーザに使用される処理装置３−Ｍの構成を示す。
処理装置３−Ｍの制御装置６内のメモリ８には、更に、コンピュータプログラムである変更プログラム１７と、上記のパスワードである認証用パスワード１８とが格納されている。変更プログラム１７は、後述する情報変更処理を行う。
【００３０】
図８は、本発明の変動演算対応システムの動作である情報変更処理を示すフローチャートである。
管理ユーザは、パスワードを処理装置３−Ｍに入力する（ステップＳ１）。処理装置３−Ｍの変更プログラム１７は、管理ユーザにより入力されたパスワードと認証用パスワード１８とを照合する（ステップＳ２）。
上記入力されたパスワードと認証用パスワード１８とが一致した場合（ステップＳ２−ＹＥＳ）、その変更プログラム１７は、上記のデータベース（値データベース１、計算式情報データベース２）に格納された内容の変更を許可する（ステップＳ３）。これにより、管理ユーザは、処理装置３−Ｍを用いて、値データベース１、計算式情報データベース２の内容を変更することができる。
上記入力されたパスワードと認証用パスワード１８とが一致しない場合（ステップＳ２−ＮＯ）、その変更プログラム１７は、一致しない旨を示す不一致通知を処理装置３−Ｍの表示制御プログラム１６に通知し、その表示制御プログラム１６は、不一致通知が表示されるように、処理装置３−Ｍの表示装置５を制御する（ステップＳ４）。これにより、認証用パスワード１８を知らないユーザは、値データベース１、計算式情報データベース２の内容を変更することができない。
【００３１】
このように、データベース（値データベース１、計算式情報データベース２）に格納された内容を変更することができるユーザは、処理装置３−Ｍを使用する管理ユーザだけであり、本発明の変動演算対応システムによれば、計算式を変更するときのセキュリティが確保される。
【００３２】
図９は、本発明の第１実施形態に係る変動演算対応システムの動作である計算実行処理を示すフローチャートである。計算プログラム１０と表示制御プログラム１６は、計算実行処理を行う。計算実行処理は、計算プログラム１０が行う計算式情報抽出処理、値抽出処理、計算式組立処理、計算式組立処理、値代入処理、計算処理と、表示制御プログラム１６が行う表示処理とを含む。
【００３３】
まず、処理装置３−Ｊのソースプログラム９が実行しているとき、処理装置３−Ｊの計算式情報抽出プログラム１１は、計算式情報抽出処理を行う（ステップＳ１１）。その計算式情報抽出プログラム１１は、計算式情報データベース２を参照して、複数の計算式情報２５−１〜２５−ｘのうちの計算式識別子２４−ｉに対応する計算式情報２５−ｉを抽出する。計算式情報抽出プログラム１１は、抽出した計算式情報２５−ｉをメモリ８内の所定番地に格納する。
計算式情報２５−ｉは、計算式の数を表す式数ｎと、複数の変数２２−１〜２２−（ｍ＋１）のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の変数と、複数の演算子２３−１〜２３−ｍのうちの第１番目から第ｎ番目までのｎ個の演算子とを含む。上記（ｎ＋１）個の変数のそれぞれは、複数の変数識別子のうちの上記（ｎ＋１）個の変数に対応する（ｎ＋１）個の変数識別子のそれぞれを含む。上記ｎ個の演算子のそれぞれは、複数の演算子識別子のうちの上記ｎ個の演算子に対応するｎ個の演算子識別子のそれぞれを含む。
【００３４】
次に、処理装置３−Ｊの値抽出プログラム１２は、値抽出処理を行う（ステップＳ１２）。その値抽出プログラム１２は、値データベース１を参照して、複数の値２１−１〜２１−（ｍ＋１）のうちの、上記（ｎ＋１）個の変数に対応する第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の値を抽出する。値抽出プログラム１２は、抽出した（ｎ＋１）個の値をメモリ８内の所定番地に格納する。
上記（ｎ＋１）個の値のそれぞれは上記（ｎ＋１）個の変数識別子のそれぞれを含む。
【００３５】
次いで、処理装置３−Ｊの計算式組立プログラム１３は、計算式組立処理を行う（ステップＳ１３）。その計算式組立プログラム１３は、メモリ８内の所定番地から計算式情報２５−ｉを読み出す。計算式組立プログラム１３は、上記抽出された式数ｎと上記（ｎ＋１）個の変数識別子と上記ｎ個の演算子識別子とに従って、第１変数と第２変数とを第１演算子によって演算するための第１計算式を作成し、第ｙ計算式（ｙ＝１、２、…、（ｎ−１））の解と第（ｙ＋２）変数とを第（ｙ＋１）演算子によって演算するための第（ｙ＋１）計算式を作成して、上記計算式としてｎ個の計算式を作成する。
【００３６】
次に、処理装置３−Ｊの代入プログラム１４は、値代入処理を行う（ステップＳ１４）。その代入プログラム１４は、メモリ８内の所定番地から（ｎ＋１）個の値を読み出す。代入プログラム１４は、上記（ｎ＋１）個の変数識別子に従って、上記作成されたｎ個の計算式の中の（ｎ＋１）個の変数のそれぞれに上記（ｎ＋１）個の値のそれぞれを代入する。
【００３７】
次いで、処理装置３−Ｊの計算実行プログラム１５は、計算処理を行う（ステップＳ１５）。その計算実行プログラム１５は、上記代入されたｎ個の計算式を計算する。
【００３８】
処理装置３−Ｊの表示制御プログラム１６は、表示処理を行う（ステップＳ１６）。その表示制御プログラム１６は、計算実行プログラム１５が計算した結果を処理装置３−Ｊの表示装置５に表示する。
【００３９】
上記の計算実行処理の具体例として、ソースプログラム９の計算式識別子２４−ｉが計算式識別子２４−１であるものとする。この場合、計算式情報抽出処理（ステップＳ１１）にて抽出された（ｎ＋１）個の変数は、複数の変数２２−１〜２２−（ｍ＋１）のうち、変数２２−１（第１変数２２−１とする）と変数２２−２（第２変数２２−２とする）である。上記抽出されたｎ個の演算子は、複数の演算子２３−１〜２３−ｍのうちの演算子２３−１（第１演算子２３−１とする）である。ここで、図１０（ａ）に示されるように、第１変数２２−１は、変数“Ａ”を表し、第２変数２２−２は、変数“Ｂ”を表し、第１演算子２３−１は、演算子“＋”を表す。
また、値抽出処理（ステップＳ１２）にて抽出された（ｎ＋１）個の値は、複数の値２１−１〜２１−（ｍ＋１）のうち、値２１−１（第１値２１−１とする）と値２１−２（第２値２１−２とする）である。
第１変数２２−１“Ａ”と第１値２１−１は、複数の変数識別子のうちの第１変数識別子を含み、第２変数２２−２“Ｂ”と第２値２１−２は、複数の変数識別子のうちの第２変数識別子を含む。第１演算子２３−１“＋”は、複数の演算子識別子のうちの第１演算子識別子を含む。
【００４０】
計算式組立処理（ステップＳ１３）にて、計算式組立プログラム１３は、図１０（ａ）に示されるように、第１変数識別子と第２変数識別子と第１演算子識別子とに従って、第１変数２２−１“Ａ”と第２変数２２−２“Ｂ”とを第１演算子２３−１“＋”によって演算するための計算式Ｃを作成する。この計算式Ｃは、図１０（ｂ）に示されるように、Ｃ＝Ａ＋Ｂによって表される。
値代入処理（ステップＳ１４）にて、代入プログラム１４は、図１０（ｃ）に示されるように、第１変数識別子に従って第１変数２２−１“Ａ”に第１値２１−１を代入し、第２変数識別子に従って第２変数２２−２“Ｂ”に第２値２１−２を代入する。
【００４１】
上記の計算実行処理の具体例として、ソースプログラム９の計算式識別子２４−ｉが計算式識別子２４−２であるものとする。この場合、計算式情報抽出処理（ステップＳ１１）にて抽出された（ｎ＋１）個の変数は、複数の変数２２−１〜２２−（ｍ＋１）のうち、変数２２−３（第１変数２２−３とする）と変数２２−４（第２変数２２−４とする）と変数２２−５（第３変数２２−５とする）である。上記抽出されたｎ個の演算子は、複数の演算子２３−１〜２３−ｍのうち、演算子２３−３（第１演算子２３−３とする）と演算子２３−４（第２演算子２３−４とする）である。ここで、図１１（ａ）に示されるように、第１変数２２−３は、変数“Ａ”を表し、第２変数２２−４は、変数“Ｂ”を表し、第３変数２２−５は、変数“Ｄ”を表し、第１演算子２３−３は、演算子“×”を表し、第２演算子２３−４は、演算子“−”を表す。
また、値抽出処理（ステップＳ１２）にて抽出された（ｎ＋１）個の値は、複数の値２１−１〜２１−（ｍ＋１）のうち、値２１−３（第１値２１−３とする）と値２１−４（第２値２１−４とする）と値２１−５（第３値２１−５とする）である。
第１変数２２−３“Ａ”と第１値２１−３は、複数の変数識別子のうちの第１変数識別子を含み、第２変数２２−４“Ｂ”と第２値２１−４は、複数の変数識別子のうちの第２変数識別子を含み、第３変数２２−５“Ｄ”と第３値２１−５は、複数の変数識別子のうちの第３変数識別子を含む。第１演算子２３−３“×”は、複数の演算子識別子のうちの第１演算子識別子を含み、第２演算子２３−４“−”は、複数の演算子識別子のうちの第２演算子識別子を含む。
【００４２】
計算式組立処理（ステップＳ１３）にて、計算式組立プログラム１３は、図１１（ａ）に示されるように、第１変数識別子と第２変数識別子と第１演算子識別子とに従って、第１変数２２−３“Ａ”と第２変数２２−４“Ｂ”とを第１演算子２３−３“×”によって演算するための第１計算式Ｃを作成する。この第１計算式Ｃは、図１１（ｂ）に示されるように、Ｃ＝Ａ×Ｂによって表される。次に、計算式組立プログラム１３は、図１１（ｃ）に示されるように、第３変数識別子と第２演算子識別子とに従って、第１計算式Ｃの解と第３変数２２−５“Ｄ”とを第２演算子２３−４“−”によって演算するための第２計算式Ｅを作成する。この第１計算式Ｃは、図１１（ｄ）に示されるように、Ｅ＝（Ａ×Ｂ）−Ｄによって表される。
値代入処理（ステップＳ１４）にて、代入プログラム１４は、図１１（ｅ）に示されるように、第１変数識別子に従って第１変数２２−３“Ａ”に第１値２１−３を代入し、第２変数識別子に従って第２変数２２−４“Ｂ”に第２値２１−４を代入し、第３変数識別子に従って第３変数２２−５“Ｄ”に第３値２１−５を代入する。
【００４３】
本発明の第１実施形態に係る変動演算対応システムによれば、複数の処理装置３−１〜３−Ｍの各々は、計算式識別子２４−ｉを有するソースプログラム９と計算プログラム１０とを具備している。計算式情報データベース２には、計算式識別子２４−ｉと計算式に関する計算式情報２５−ｉとが対応付けられて格納され、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０は、計算式識別子２４−ｉに対応する計算式情報２５−ｉを用いて計算式を計算する。このため、金額の変動に伴って計算式が変更された場合、複数の処理装置３−１〜３−Ｍの各々のソースプログラム９を変更することなく、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０は、変更された計算式を計算することができる。このように、本発明の第１実施形態に係る変動演算対応システムによれば、計算式が変更された場合、複数の処理装置３−１〜３−Ｍの各々がコンパイルを行う必要がないため、複数の処理装置３−１〜３−Ｍの各々が計算する計算式を容易に変更することができる。
【００４４】
上述のように、計算式情報２５−ｉは、変数、演算子を含む。計算式を単に計算式情報データベース２に格納しただけでは、複数の処理装置３−１〜３−Ｍの各々は、計算式情報データベース２に格納された計算式を読み出しても、読み出された計算式を“計算式”として認識せず、その計算式を計算することができない。そこで、本発明の第１実施形態に係る変動演算対応システムによれば、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０が、計算式情報２５−ｉに含まれる変数、演算子を用いて計算式を組立てることにより、その計算式を確実に計算することができる。
【００４５】
（第２実施形態）
本発明の第２実施形態に係る変動演算対応システムでは、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０が、計算式情報２５−ｉに含まれる関数を用いて計算式を組立てることにより、その計算式を第１実施形態よりも迅速に計算することができる。この関数は、変数、演算子を含む。
【００４６】
図１２は、本発明の第２実施形態に係る変動演算対応システムの構成を示す。第２実施形態に係る変動演算対応システムでは、第１実施形態と重複する説明を省略する。
第２実施形態に係る変動演算対応システムは、上記のデータベース（値データベース１、計算式情報データベース２）に代えて、データベース３０を具備する。複数の処理装置３−１〜３−Ｍとデータベース３０とはネットワーク４上に設けられている。複数のユーザのそれぞれは、複数の処理装置３−１〜３−Ｍのそれぞれを用いて、データベース３０を参照することができる。管理ユーザは、パスワードを処理装置３−Ｍに入力することによって、データベース３０の内容を変更することができる。
【００４７】
図１３は、本発明の第２実施形態に係る変動演算対応システムのデータベース３０に格納された情報を示す。
データベース３０には、上記の複数の値２１−１〜２１−（ｍ＋１）と、上記の複数の変数２２−１〜２２−（ｍ＋１）と、上記の複数の演算子２３−１〜２３−ｍと、複数の関数３１−１〜３１−ｍとが格納されている。複数の関数３１−１〜３１−ｍのそれぞれは、複数の関数識別子のそれぞれを含む。複数の関数識別子のそれぞれは、複数の関数３１−１〜３１−ｍのそれぞれを識別するための識別子である。
【００４８】
図１４は、本発明の第２実施形態に係る変動演算対応システムのデータベース３０に情報が格納される形式を示す。データベース３０には、複数の計算式情報２５−１〜２５−ｘが複数の計算式識別子２４−１〜２４−ｘに対応付けて格納されている。複数の計算式情報２５−１〜２５−ｘのそれぞれは、複数の関数３１−１〜３１−ｍのうちのｎ個（ｎは１以上の整数）の関数と、複数の値２１−１〜２１−（ｍ＋１）のうちの（ｎ＋１）個の値とを含む。
例えば、計算式情報２５−１は、ｎが２であり、ｎ個の関数として関数３１−１、３１−２を含み、（ｎ＋１）個の値として値２１−１、２１−２、２１−３を含むものとする。
計算式情報２５−２は、ｎが２であり、ｎ個の関数として関数３１−３、３１−４を含み、（ｎ＋１）個の値として値２１−３、２１−４、２１−５を含むものとする。
計算式情報２５−ｘは、ｎが３であり、ｎ個の関数として関数３１−４、３１−５、３１−６を含み、（ｎ＋１）個の値として値２１−４、２１−５、２１−６、２１−７を含むものとする。
【００４９】
図１５に示されるように、複数の計算式情報２５−１〜２５−ｘのうちの計算式情報２５−２は、関数３１−３、値２１−３、２１−４、関数３１−４、値２１−５の順でデータベース３０に格納されている。計算式情報２５−２のｎ個の関数（関数３１−３、３１−４）は、（ｎ＋１）個の変数として変数２２−３、２２−４、２２−５を含み、ｎ個の演算子として演算子２３−３、２３−４を含むものとする。ここで、演算子２３−３は、演算子“×”を表し、演算子２３−４は、演算子“−”を表し、関数３１−３と関数３１−４とは計算プログラム１０によって組み合される。
関数３１−３は、変数ｐとして複数の変数２２−１〜２２−（ｍ＋１）のうちの変数２２−３を含み、変数ｑとして複数の変数２２−１〜２２−（ｍ＋１）のうちの変数２２−４を含み、演算子として複数の演算子２３−１〜２３−ｍのうちの演算子２３−３“×”を含む。この関数３１−３は、変数ｐ（変数２２−３）と変数ｑ（変数２２−４）とを演算子２３−３“×”によって演算するための関数である。
関数３１−４は、変数ｐとして関数３１−３の解を含み、変数ｑとして複数の変数２２−１〜２２−（ｍ＋１）のうちの変数２２−５を含み、演算子として複数の演算子２３−１〜２３−ｍのうちの演算子２３−４“−”を含む。この関数３１−４は、変数ｐ（関数３１−３の解）と変数ｑ（変数２２−５）とを演算子２３−４“−”によって演算するための関数である。
【００５０】
図１６は、本発明の第２実施形態に係る変動演算対応システムの処理装置３−Ｊ（Ｊ＝１、２、…、Ｍ）の構成を示す。図１７は、本発明の第２実施形態に係る変動演算対応システムの管理ユーザに使用される処理装置３−Ｍの構成を示す。
処理装置３−Ｊの制御装置６内のメモリ８には、コンピュータプログラムである計算式情報抽出プログラム１１、値抽出プログラム１２に代えて抽出プログラム３２が格納され、コンピュータプログラムである計算式組立プログラム１３に代えて計算式組立プログラム３３が格納されている。
管理ユーザが処理装置３−Ｍを用いてデータベース３０の内容を変更するとき、処理装置３−Ｍの変更プログラム１７は、上記の情報変更処理（ステップＳ１〜Ｓ４）を行う。
【００５１】
図１８は、本発明の第２実施形態に係る変動演算対応システムの動作である計算実行処理を示すフローチャートである。計算プログラム１０と表示制御プログラム１６は、計算実行処理を行う。計算実行処理は、計算プログラム１０が行う抽出処理、計算式組立処理、計算式組立処理、値代入処理、計算処理と、表示制御プログラム１６が行う表示処理とを含む。
【００５２】
まず、処理装置３−Ｊのソースプログラム９が実行しているとき、処理装置３−Ｊの抽出プログラム３２は、抽出処理を行う（ステップＳ２１）。その抽出プログラム３２は、データベース３０を参照して、複数の計算式情報２５−１〜２５−ｘのうちの計算式識別子２４−ｉに対応する計算式情報２５−ｉを抽出する。抽出プログラム３２は、抽出した計算式情報２５−ｉをメモリ８内の所定番地に格納する。
第１計算式情報２５−ｉは、複数の関数３１−１〜３１−ｍのうちの第１番目から第ｎ番目までのｎ個の関数と、複数の値２１−１〜２１−（ｍ＋１）のうちの第１番目から第（ｎ＋１）番目までの（ｎ＋１）個の値とを含む。上記ｎ個の関数のそれぞれは複数の関数識別子のうちの上記ｎ個の関数に対応するｎ個の関数識別子のそれぞれを含む。上記ｎ個の関数は、複数の変数２２−１〜２２−（ｍ＋１）のうちの（ｎ＋１）個の変数と、複数の演算子２３−１〜２３−ｍのうちのｎ個の演算子とを含む。上記ｎ個の関数のうちの第１関数は、上記（ｎ＋１）個の変数のうちの第１変数と第２変数と上記ｎ個の演算子のうちの第１演算子とを含み、上記第１変数と上記第２変数とを上記第１演算子によって演算するための関数である。上記ｎ個の関数のうちの第ｚ（ｚ＝２、３、…、ｎ）関数は、上記（ｎ＋１）個の変数のうちの第（ｚ＋１）変数と上記ｎ個の演算子のうちの第ｚ演算子とを含み、第（ｚ−１）関数の解と上記第（ｚ＋１）変数とを上記第ｚ演算子によって演算するための関数である。
【００５３】
次に、処理装置３−Ｊの計算式組立プログラム３３は、計算式組立処理を行う（ステップＳ２２）。その計算式組立プログラム３３は、メモリ８内の所定番地から計算式情報２５−ｉを読み出す。計算式組立プログラム３３は、上記ｎ個の関数識別子に従って、上記ｎ個の関数を含む計算式を作成する。
【００５４】
次いで、処理装置３−Ｊの代入プログラム１４は、値代入処理を行う（ステップＳ２３）。その代入プログラム１４は、メモリ８内の所定番地から計算式情報２５−ｉを読み出す。代入プログラム１４は、上記（ｎ＋１）個の変数識別子に従って、上記作成された計算式の中の（ｎ＋１）個の変数のそれぞれに計算式情報２５−ｉの上記（ｎ＋１）個の値のそれぞれを代入する。
【００５５】
次に、処理装置３−Ｊの計算実行プログラム１５は、計算処理を行う（ステップＳ２４）。その計算実行プログラム１５は、上記代入された計算式を計算する。
【００５６】
次いで、処理装置３−Ｊの表示制御プログラム１６は、表示処理を行う（ステップＳ２５）。その表示制御プログラム１６は、計算実行プログラム１５が計算した結果を処理装置３−Ｊの表示装置５に表示する。
【００５７】
上記の計算実行処理の具体例として、ソースプログラム９の計算式識別子２４−ｉが計算式識別子２４−２であるものとする。この場合、抽出処理（ステップＳ２１）にて抽出されたｎ個の関数は、複数の関数３１−１〜３１−ｍのうち、関数３１−３（第１関数３１−３とする）と関数３１−４（第２関数３１−４とする）である。第１関数３１−３は、複数の関数識別子のうちの第１関数識別子を含み、第２関数３１−４は、複数の関数識別子のうちの第２関数識別子を含む。
【００５８】
計算式組立処理（ステップＳ２２）にて、計算式組立プログラム３３は、図１９（ａ）に示されるように、第１関数識別子と第２関数識別子とに従って、第１関数３１−３と第２関数３１−４とを含む計算式Ｅを作成する。
第１関数３１−３は、図１９（ｂ）に示されるように、変数ｐ（第１変数２２−３）と変数ｑ（第２変数２２−４）とを第１演算子２３−３“×”によって演算するための関数Ｃである。ここで、第１変数２２−３は、変数“Ａ”を表し、第２変数２２−４は、変数“Ｂ”を表す。
第２関数３１−４は、図１９（ａ）に示されるように、変数ｐ｛第１関数３１−３の解（関数Ｃの解）｝と変数ｑ（第３変数２２−５）とを第２演算子２３−４“−”によって演算するための関数Ｅである。ここで、第３変数２２−５は、変数“Ｄ”を表す。計算式Ｅ（関数Ｅ）は、図１９（ｃ）に示されるように、Ｅ＝Ｃ−Ｄ＝（Ａ×Ｂ）−Ｄによって表される。
【００５９】
値抽出処理（ステップＳ２１）にて抽出された（ｎ＋１）個の値は、複数の値２１−１〜２１−（ｍ＋１）のうち、値２１−３（第１値２１−３とする）と値２１−４（第２値２１−４とする）と値２１−５（第３値２１−５とする）である。
第１変数２２−３“Ａ”と第１値２１−３は、複数の変数識別子のうちの第１変数識別子を含み、第２変数２２−４“Ｂ”と第２値２１−４は、複数の変数識別子のうちの第２変数識別子を含み、第３変数２２−５“Ｄ”と第３値２１−５は、複数の変数識別子のうちの第３変数識別子を含む。
値代入処理（ステップＳ２３）にて、代入プログラム１４は、第１変数識別子に従って第１変数２２−３“Ａ”に第１値２１−３を代入し、第２変数識別子に従って第２変数２２−４“Ｂ”に第２値２１−４を代入し、第３変数識別子に従って第３変数２２−５“Ｄ”に第３値２１−５を代入する。
【００６０】
本発明の第２実施形態に係る変動演算対応システムによれば、データベース３０には、計算式識別子２４−ｉと計算式に関する計算式情報２５−ｉとが対応付けられて格納され、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０は、計算式情報２５−ｉを用いて計算する。このため、金額の変動に伴って計算式が変更された場合、第１実施形態と同様に、複数の処理装置３−１〜３−Ｍの各々のソースプログラム９を変更することなく、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０は、変更された計算式を計算することができる。このように、本発明の第２実施形態に係る変動演算対応システムによれば、計算式が変更された場合、第１実施形態と同様に、複数の処理装置３−１〜３−Ｍの各々がコンパイルを行う必要がないため、複数の処理装置３−１〜３−Ｍの各々が計算する計算式を容易に変更することができる。
【００６１】
本発明の第２実施形態に係る変動演算対応システムによれば、複数の処理装置３−１〜３−Ｍの各々の計算プログラム１０が、計算式情報２５−ｉに含まれる関数（変数、演算子を含む）を用いて計算式を組立てることにより、その計算式を第１実施形態よりも迅速に計算することができる。
【００６２】
以上の説明により、本発明の変動演算対応システムは、複数の処理装置３−１〜３−Ｍの各々が計算する計算式を容易に変更することができる。
【００６３】
本発明の変動演算対応システムは、計算式が変更された場合に複数の処理装置３−１〜３−Ｍの各々がソースプログラム９を変更することなく、変更された計算式を計算することができる。
【００６４】
本発明の変動演算対応システムは、複数の処理装置３−１〜３−Ｍの各々が計算式を確実に計算することができる。
【００６５】
本発明の変動演算対応システムは、計算式を変更するときのセキュリティが確保される。
【図面の簡単な説明】
【００６６】
【図１】図１は、本発明の第１実施形態に係る変動演算対応システムの構成を示す。
【図２】図２は、本発明の第１実施形態に係る変動演算対応システムの値データベースに格納された情報を示す。
【図３】図３は、本発明の第１実施形態に係る変動演算対応システムの計算式情報データベースに格納された情報を示す。
【図４】図４は、本発明の第１実施形態に係る変動演算対応システムの計算式情報データベースに情報が格納される形式を示す。
【図５】図５は、本発明の第１実施形態に係る変動演算対応システムの処理装置の構成を示す。
【図６】図６は、本発明の第１実施形態に係る変動演算対応システムの管理ユーザに使用される処理装置の構成を示す。
【図７】図７は、本発明の変動演算対応システムの複数の処理装置の各々のソースプログラムを示す。
【図８】図８は、本発明の変動演算対応システムの動作である情報変更処理を示すフローチャートである。
【図９】図９は、本発明の第１実施形態に係る変動演算対応システムの動作である計算実行処理を示すフローチャートである。
【図１０】図１０は、本発明の第１実施形態に係る変動演算対応システムの計算実行処理を説明するための図である。
【図１１】図１１は、本発明の第１実施形態に係る変動演算対応システムの計算実行処理を説明するための図である。
【図１２】図１２は、本発明の第２実施形態に係る変動演算対応システムの構成を示す。
【図１３】図１３は、本発明の第２実施形態に係る変動演算対応システムのデータベースに格納された情報を示す。
【図１４】図１４は、本発明の第２実施形態に係る変動演算対応システムのデータベースに情報が格納される形式を示す。
【図１５】図１５は、本発明の第２実施形態に係る変動演算対応システムのデータベースに情報が格納される形式を示す。
【図１６】図１６は、本発明の第２実施形態に係る変動演算対応システムの処理装置の構成を示す。
【図１７】図１７は、本発明の第２実施形態に係る変動演算対応システムの管理ユーザに使用される処理装置の構成を示す。
【図１８】図１８は、本発明の第２実施形態に係る変動演算対応システムの動作である計算実行処理を示すフローチャートである。
【図１９】図１９は、本発明の第２実施形態に係る変動演算対応システムの計算実行処理を説明するための図である。
【符号の説明】
【００６７】
１    値データベース
２    計算式情報データベース
３−１〜３−Ｍ    処理装置
４    ネットワーク
５    表示装置
６    制御装置
７    ＣＰＵ
８    メモリ
９    ソースプログラム
１０    計算プログラム
１１    計算式情報抽出プログラム
１２    値抽出プログラム
１３    計算式組立プログラム
１４    代入プログラム
１５    計算実行プログラム
１６    表示制御プログラム
１７    変更プログラム
１８    認証用パスワード
２１−１〜２１−（ｍ＋１）    値
２２−１〜２２−（ｍ＋１）    変数
２３−１〜２３−ｍ    演算子
２４−１〜２４−ｘ    計算式識別子
２５−１〜２５−ｘ    計算式情報
３０    データベース
３１−１〜３１−ｍ    関数
３２    抽出プログラム
３３    計算式組立プログラム
【図１】
2005056352.tif 000003
【図２】
2005056352.tif 000004
【図３】
2005056352.tif 000005
【図４】
2005056352.tif 000006
【図５】
2005056352.tif 000007
【図６】
2005056352.tif 000008
【図７】
2005056352.tif 000009
【図８】
2005056352.tif 000010
【図９】
2005056352.tif 000011
【図１０】
2005056352.tif 000012
【図１１】
2005056352.tif 000013
【図１２】
2005056352.tif 000014
【図１３】
2005056352.tif 000015
【図１４】
2005056352.tif 000016
【図１５】
2005056352.tif 000017
【図１６】
2005056352.tif 000018
【図１７】
2005056352.tif 000019
【図１８】
2005056352.tif 000020
【図１９】
2005056352.tif 000021