(57)【特許請求の範囲】
【請求項１】
第１のデータベースに登録すべきデータを入力するデータ入力部と、
位置座標上で一データに対して一座標が割り当てられるように、前記データ入力部から入力されたデータに位置座標情報を付加する位置座標情報付加手段と、
前記位置座標情報付加手段によって前記位置座標情報が付加されたデータを前記第１のデータベースに登録する登録手段と、
を備え、
前記位置座標情報付加手段は、前記登録すべきデータが正の座標上で均等に配置されるように座標原点を基点として放射状に前記位置座標情報を割り当てることを特徴とするデータ登録装置。
【請求項２】
第１のデータベースに登録すべきデータを入力するデータ入力部と、
位置座標上で一データに対して一座標が割り当てられるように、前記データ入力部から入力されたデータに位置座標情報を付加する位置座標情報付加手段と、
前記位置座標情報付加手段によって前記位置座標情報が付加されたデータを前記第１のデータベースに登録する登録手段と、
を備え、
前記位置座標情報付加手段は、座標点の和が小さいものから割り当てられるようにして前記データに前記位置座標情報を付加することを特徴とするデータ登録装置。
【請求項３】
さらに、前記位置座標情報を前記位置座標上で管理するための第２のデータベースを備えることを特徴とする請求項１または２に記載のデータ登録装置。
【請求項４】
ランダム性を保証してデータを出力するデータ出力装置であって、
データの出力を指示するためのデータ出力指示手段と、
複数のデータを、位置座標上で一データに対して一座標を割り当てた位置座標情報とともにデータベース上で管理するデータ管理手段と、
前記データの出力の指示があった場合に、前記位置座標上のランダムな一点を基準点として決定する基準点決定手段と、
前記データ出力指示に従って出力すべきデータ数に応じて、前記基準点を中心とする前記位置座標上のデータ検索範囲を特定し、この特定されたデータ検索範囲に含まれるデータを前記指示されたデータ数分出力するデータ出力手段と、
を備え、
前記データ管理手段において、前記複数のデータは正の座標上で均等に配置されるように座標原点を基点として放射状に前記位置座標情報が前記複数のデータに割り当てられていることを特徴とするデータ出力装置。
【請求項５】
ランダム性を保証してデータを出力するデータ出力装置であって、
データの出力を指示するためのデータ出力指示手段と、
複数のデータを、位置座標上で一データに対して一座標を割り当てた位置座標情報とともにデータベース上で管理するデータ管理手段と、
前記データの出力の指示があった場合に、前記位置座標上のランダムな一点を基準点として決定する基準点決定手段と、
前記データ出力指示に従って出力すべきデータ数に応じて、前記基準点を中心とする前記位置座標上のデータ検索範囲を特定し、この特定されたデータ検索範囲に含まれるデータを前記指示されたデータ数分出力するデータ出力手段と、
を備え、
前記データ管理手段において、前記位置座標情報は座標点の和が小さいものからデータに割り当てられていることを特徴とするデータ出力装置。
【請求項６】
前記データ出力手段は、前記基準点から近いデータを出力することを特徴とする請求項４または５に記載のデータ出力装置。
【請求項７】
前記基準点決定手段は、ｒａｎｄ関数を利用して、位置座標上の１点をランダムに求め、前記基準点とすることを特徴とする請求項４または５に記載のデータ出力装置。
【請求項８】
前記データ出力手段は、空間インデックスのスカラ関数ＷＩＴＨＩＮを用いて、前記基準点と前記データ検索範囲に含まれるデータとの距離が近いデータを出力することを特徴とする請求項４または５に記載のデータ出力装置。
【請求項９】
位置座標上で一データに対して一座標が割り当てられるように、第１のデータベースに登録すべきデータに位置座標情報を付加する処理を実行するためのプログラムコードと、
前記位置座標情報付加処理によって前記位置座標情報が付加されたデータを前記第１のデータベースに登録する処理を実行するためのプログラムコードと、
を備え、
前記位置座標情報付加処理は、前記登録すべきデータが正の座標上で均等に配置されるように座標原点を基点として放射状に前記位置座標情報を割り当てることを特徴とするデータ登録用プログラム。
【請求項１０】
位置座標上で一データに対して一座標が割り当てられるように、第１のデータベースに登録すべきデータに位置座標情報を付加する処理を実行するためのプログラムコードと、
前記位置座標情報付加処理によって前記位置座標情報が付加されたデータを前記第１のデータベースに登録する処理を実行するためのプログラムコードと、
を備え、
前記位置座標情報付加処理は、座標点の和が小さいものから割り当てられるようにして前記データに前記位置座標情報を付加することを特徴とするデータ登録用プログラム。
【請求項１１】
さらに、第２のデータベースによって前記位置座標情報を前記位置座標上で管理する処理を実行するためのプログラムコードを備えることを特徴とする請求項９または１０に記載のデータ登録用プログラム。
【請求項１２】
ランダム性を保証してデータを出力するデータ出力装置を制御するためのプログラムであって、
複数のデータを、位置座標上で一データに対して一座標を割り当てた位置座標情報とともにデータベース上で管理するデータ管理処理を実行するためのプログラムコードと、
データの出力の指示があった場合に、前記位置座標上のランダムな一点を基準点として決定する基準点決定処理を実行するためのプログラムコードと、
前記データ出力指示に従って出力すべきデータ数に応じて、前記基準点を中心とする前記位置座標上のデータ検索範囲を特定し、この特定されたデータ検索範囲に含まれるデータを前記指示されたデータ数分出力するデータ出力処理を実行するためのプログラムコードと、
を備え、
前記データ管理処理において、前記複数のデータは正の座標上で均等に配置されるように座標原点を基点として放射状に前記位置座標情報が前記複数のデータに割り当てられていることを特徴とするプログラム。
【請求項１３】
ランダム性を保証してデータを出力するデータ出力装置を制御するためのプログラムであって、
複数のデータを、位置座標上で一データに対して一座標を割り当てた位置座標情報とともにデータベース上で管理するデータ管理処理を実行するためのプログラムコードと、
データの出力の指示があった場合に、前記位置座標上のランダムな一点を基準点として決定する基準点決定処理を実行するためのプログラムコードと、
前記データ出力指示に従って出力すべきデータ数に応じて、前記基準点を中心とする前記位置座標上のデータ検索範囲を特定し、この特定されたデータ検索範囲に含まれるデータを前記指示されたデータ数分出力するデータ出力処理を実行するためのプログラムコードと、
を備え、
前記データ管理処理において、前記位置座標情報は座標点の和が小さいものからデータに割り当てられていることを特徴とするプログラム。
【請求項１４】
前記データ出力処理は、前記基準点から近いデータを出力することを特徴とする請求項１２または１３に記載のプログラム。
【請求項１５】
前記基準点決定処理は、ｒａｎｄ関数を利用して、位置座標上の１点をランダムに求め、前記基準点とすることを特徴とする請求項１２または１３に記載のプログラム。
【請求項１６】
前記データ出力処理は、空間インデックスのスカラ関数ＷＩＴＨＩＮを用いて、前記基準点と前記データ検索範囲に含まれるデータとの距離が近いデータを出力することを特徴とする請求項１２または１３に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ登録装置及びデータ登録用プログラム、並びにデータ出力装置及びその制御プログラムに関し、例えば、ランダム検索用にデータを管理し、そのデータを検索する方法に関するものである。
【背景技術】
【０００２】
ランダム検索は、ユーザがデータをランダムに検索する目的であり、身近なところでＣＤのランダム選曲、カラオケのランダム選曲、オンライン抽選、オンライン試験等で利用されている。
【０００３】
図８は、このランダム検索システムの構成例を示すブロック図である。図８のシステムは、検索結果を表示するデータ表示部８０１と、乱数表やｒａｎｄ関数のランダム値を用いてランダム検索を行なうアプリケーション部８０２と、要求されたキー値でデータを検索するデータ処理部８０３と、データが格納されている記憶装置８０４とによって構成されている。
【０００４】
このような構成のランダム検索システムにおいては、データ表示部８０１からランダムで欲しいデータ件数を入力し、アプリケーション部８０２で乱数表やｒａｎｄ関数のランダム値を用いて、この値をキー値としてデータ処理部８０３に検索要求を行う。そして、記憶装置８０４からデータを読み出し、その読み出したデータを検索結果としてアプリケーション部８０２に返却し、要求件数分満たしたらデータ表示部８０１にその検索結果を表示させる。
【０００５】
【特許文献１】特開２００５−９２３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、データをランダムに検索するには、アプリケーション側で乱数表やｒａｎｄ関数でランダム値を求め、当該ランダム値が登録データ数又は乱数表の範囲内であるかの範囲チェックやこれまで当該ランダム値が出現していないかの重複チェックを行った後、そのキー値で検索を行なうしかなかった。このため、データ量が増加するとデータ量に比例してランダム値の範囲も拡大する必要があり、ランダム性を保証するには、その都度ユーザがアプリケーションを修正する必要があるという問題をもっていた。
【０００７】
また、ランダム検索の件数が数万件の場合、乱数表やｒａｎｄ関数で取得したランダム値が重複する可能性もある。そこで、取得したランダム値が重複していないか否かチェックを行いながら取得値が重複しなくなるまでランダム値を求める必要があり、ランダム検索の時間が遅くなるという問題もあった。
【０００８】
本発明はこのような問題点に鑑みてなされたものであり、データ量やランダム検索の件数に影響されず、ランダム性を保証し、高速なランダム検索を可能とする、データ登録装置及びデータ登録用プログラム、並びにデータ出力装置及びその制御プログラムを提供するものである。
【課題を解決するための手段】
【０００９】
上記問題点を解決するために、本発明によるデータ登録装置は、第１のデータベースに登録すべきデータを入力するデータ入力部と、位置座標上で一データに対して一座標が割り当てられるように、前記データ入力部から入力されたデータに位置座標情報を付加する位置座標情報付加手段と、前記位置座標情報付加手段によって前記位置座標情報が付加されたデータを前記第１のデータベースに登録する登録手段と、を備えることを特徴とする。
【００１０】
データ登録装置は、さらに、前記位置座標情報を前記位置座標上で管理するための第２のデータベースを備えることを特徴とする。
【００１１】
前記位置座標情報付加手段は、前記登録すべきデータが正の座標上で均等に配置されるように座標原点を基点として放射状に前記位置座標情報を割り当てている。
【００１２】
また、前記位置座標情報付加手段は、座標点の和が小さいものから割り当てられるようにして前記データに前記位置座標情報を付加するようにしている。
【００１３】
本発明によるデータ出力装置は、ランダム性を保証してデータを出力するデータ出力装置であって、データの出力を指示するためのデータ出力指示手段と、複数のデータを、位置座標上で一データに対して一座標を割り当てた位置座標情報とともにデータベース上で管理するデータ管理手段と、前記データの出力の指示があった場合に、前記位置座標上のランダムな一点を基準点として決定する基準点決定手段と、前記データ出力指示に従って出力すべきデータ数に応じて、前記基準点を中心とする前記位置座標上のデータ検索範囲を特定し、この特定されたデータ検索範囲に含まれるデータを前記指示されたデータ数分出力するデータ出力手段と、を備えることを特徴とする。
【００１４】
前記データ出力手段は、前記基準点から近いデータを出力する。そして、前記データ管理手段において、前記複数のデータは正の座標上で均等に配置されるように座標原点を基点として放射状に前記位置座標情報が前記複数のデータに割り当てられている、或いは、前記位置座標情報は座標点の和が小さいものからデータに割り当てられている。
【００１５】
また、前記基準点決定手段は、ｒａｎｄ関数を利用して、位置座標上の１点をランダムに求め、前記基準点としている。
【００１６】
前記データ出力手段は、空間インデックスのスカラ関数ＷＩＴＨＩＮを用いて、前記基準点と前記データ検索範囲に含まれるデータとの距離が近いデータを出力する。
【００１７】
本発明によるデータ登録用プログラムは、位置座標上で一データに対して一座標が割り当てられるように、第１のデータベースに登録すべきデータに位置座標情報を付加する処理を実行するためのプログラムコードと、前記位置座標情報付加処理によって前記位置座標情報が付加されたデータを前記第１のデータベースに登録する処理を実行するためのプログラムコードと、を備えることを特徴とする。
【００１８】
また、本発明による制御プログラムは、ランダム性を保証してデータを出力するデータ出力装置を制御するためのプログラムであって、複数のデータを、位置座標上で一データに対して一座標を割り当てた位置座標情報とともにデータベース上で管理するデータ管理処理を実行するためのプログラムコードと、データの出力の指示があった場合に、前記位置座標上のランダムな一点を基準点として決定する基準点決定処理を実行するためのプログラムコードと、前記データ出力指示に従って出力すべきデータ数に応じて、前記基準点を中心とする前記位置座標上のデータ検索範囲を特定し、この特定されたデータ検索範囲に含まれるデータを前記指示されたデータ数分出力するデータ出力処理を実行するためのプログラムコードと、を備えることを特徴とする。
【００１９】
さらなる本発明の特徴は、以下本発明を実施するための最良の形態および添付図面によって明らかになるものである。
【発明の効果】
【００２０】
本発明によれば、ランダム値の範囲を意識する必要がないため、データ量に影響されず、アプリケーションの修正無しで、ランダム性を保証することができる。また、本発明によれば、ランダム値を意識する必要がないため、ランダム件数に影響されず、高速なランダム検索を行なうことができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明を適用したランダム検索装置の一実施の形態について、図面を用いて具体的にオンライン試験のデータベース問題を例に挙げて説明する。
【００２２】
図１は、本発明の一実施形態によるランダム検索装置の構成を示すブロック図である。図１において、ランダム検索装置１００は、問題データを管理する問題データベース１０１、問題データの位置座標情報を管理する位置座標管理データベース１０２と、データ処理部１０３と、問題の表示や解答の入力するための問題画面１０４と、問題件数や問題追加を入力するための問題制御画面１０５とで構成されている。
【００２３】
データ処理部１０３に接続されている問題データベース１０１には、例えばオンライン試験に出題されるデータベース問題が格納されており、また位置座標管理データベース１０２には、データベース問題を２次元データとして管理するための位置座標情報が格納されている。
【００２４】
問題制御画面１０５は、出題する問題の項目毎に問題件数を入力する問題件数入力部１０８、新規に問題を追加する問題入力部１０９を備えている。
【００２５】
問題画面１０４は、オンライン試験システムの画面に相当しており、問題制御画面１０５の問題件数入力部１０８で入力した問題件数が表示される問題部１０６、問題の解答を入力する解答部１０７を備えている。
【００２６】
データ処理部１０３は、問題制御画面１０５の問題入力部１０９から新規に問題を追加した時に、２次元データとして問題データを管理するため、新規の問題データにデータ処理部１０３で一意となる位置座標情報を自動的に付加する問題更新処理部１１１、問題制御画面１０５の問題件数入力部１０８から問題件数を入力した時に、任意の２次元の基準点（以下「ランダムポイント」と呼ぶ）を求めて、ランダムポイントから問題データに付加した位置座標情報との距離が近い問題データを問題データベース１０１から読み出すランダム検索処理部１１０を備えている。
【００２７】
問題データベース１０１に格納されている問題データは、図２に示すように、問題分類番号２０１、分類名２０２、問題番号２０３、問題２０４、正解番号２０５、解答選択肢２０６、位置座標情報２０７から構成され、問題分類番号２０１と問題番号２０３で一意となる問題データ別に問題分類番号、分類名、問題番号、問題、正解番号、解答選択肢、位置座標情報が登録される。この登録は、問題制御画面１０５の問題入力部１０９から行なうことができる。問題データのうち、位置座標情報２０７だけデータ処理部１０３の問題更新処理部１１１がデータ処理部１０３で一意となる位置座標情報を自動的に付加する。
【００２８】
位置座標管理データベース１０２に格納されている位置座標情報は、図３に示すように、問題分類番号３０１、Ｘ座標３０２、Ｙ座標３０３から構成され、問題分類番号別にＸ座標、Ｙ座標が登録される。このうち、Ｘ座標３０２とＹ座標３０３の値は、問題データが正の平面座標上で均等に散らばるようにデータ処理部１０３の問題更新処理部１１１が自動で計算した値を位置座標情報として割り振る。この割り振りは、問題制御画面１０５の問題入力部１０９から問題データを追加した時に行う。例えば、位置座標情報のＸ座標３０２が１００、Ｙ座標３０３が５０の状態で次の問題データを追加した時、当該問題データに付加する位置座標情報はＸ座標３０２が９９、Ｙ座標３０３が５１となる。位置座標情報の計算については、後に図６のフローチャートを用いて説明する。
【００２９】
続いて、図４を用いて、位置座標情報の割り振り方法について説明する。図４が示すように、まず１件目の問題データが追加された際、（１）（Ｘ軸４０１＝１，Ｙ軸４０２＝１）４０４の座標が位置座標情報２０７として問題データに付加される。次に２件目の問題データが追加された際、（２）（Ｘ軸４０１＝２，Ｙ軸４０２＝１）４０５の座標が位置座標情報２０７として問題データに付加される。次に３件目の問題データが追加された際、（Ｘ軸４０１＝１，Ｙ軸４０２＝２）４０６の座標が位置座標情報２０７として問題データに付加される。
【００３０】
問題データを正の平面座標上で均等に散らばらすため、（Ｘ軸４０１＝０，Ｙ軸４０２＝０）４０３を起点に扇型状（放射状）に図４が示す番号順に位置座標情報を問題データに付加する。そして、この位置座標情報２０７とランダムポイント４０７の距離が近い問題データが返却される。なお、このランダムポイントはランダム関数によって求められる。
【００３１】
例えば、検索結果４件のランダム検索要求した場合、図４を用いて説明すると、ランダムポイントの値が（Ｘ軸４，Ｙ軸１）のとき、ランダムポイント値の座標（Ｘ軸４，Ｙ軸１）、（１１）の座標（Ｘ軸５，Ｙ軸１）、（４）の座標（Ｘ軸３，Ｙ軸１）、（１２）の座標（Ｘ軸４，Ｙ軸２）の位置座標情報を持つ問題データが返却される。
【００３２】
次に図５を用いて、ランダムポイントを起点とした検索範囲について説明する。ランダムポイント５０１が（Ｘ軸２，Ｙ軸４）の場合、当該ランダムポイントを起点として距離が近い問題データが検索され、検索結果として返却される問題データ群は集合Ａ５０３となる。次にランダムポイント５０２が（Ｘ軸５，Ｙ軸３）の場合、当該ランダムポイントを起点として距離が近い問題データが検索され、検索結果として返却される問題データ群は集合Ｂ５０４となる。
【００３３】
このようにして、データを２次元として管理を行い、２次元のランダムポイントを求め、このランダムポイントを起点として、距離が近いデータを返却することで、一定のランダム検索時間が可能で、この起点を変更することにより、ランダム性を保証することができる。また、データ量やランダム件数に影響されないため、高速なランダム検索が可能となる。
【００３４】
以下、以上のように構成されたランダム検索装置の動作を説明する。図６は、問題データ追加時の位置座標情報付加処理の概要を示すフローチャートである。
【００３５】
図６において、データ処理部１０３の問題更新処理部１１１は、まずＸ’とＹ’を初期化するため、位置座標管理データベース１０２から位置座標情報２０７を取得する。そして、問題更新処理部１１１は、Ｘ’にＸ座標３０２の値とＹ座標３０３の値を加算した値に１減算した値（Ｘ’＝Ｘ＋Ｙ−１）と、Ｙ’にＹ座標３０３の値（Ｙ’＝Ｙ）を設定する（ステップ６０１）。このＸ座標３０２とＹ座標３０３の値は、前回問題データに付加した位置座標情報２０７が位置座標管理データベース１０２に格納されている。例えば、今（Ｘ，Ｙ）＝（１００，５０）であるから（図３参照）、初期値（Ｘ’，Ｙ’）は、（１００＋５０−１，５０）＝（１４９，５０）となる。
【００３６】
続いて、Ｘ’の値とＹ’の値が一致しているかチェックを行なう（ステップ６０２）。Ｘ’の値とＹ’の値が一致している場合、次の矢印の処理順序でＸ軸４０１とＹ軸４０２の開始座標の決定を行なう（ステップ６０３）。つまり、Ｘ’に１を加算  →  Ｙ’に１を設定  →  Ｘ座標３０２にＸ’の値を設定  →  Ｙ座標３０３にＹ’の値を設定、の処理を行い、開始座標を求める。Ｘ’の値がＹ’の値と一致する場合とは、例えば、Ｘ＝１、Ｙ＝５０のとき等である。
【００３７】
ステップ６０２においてＸ’の値とＹ’の値が不一致と判断された場合、次の矢印の処理順序でＸ軸４０１とＹ軸４０２の位置座標の決定を行なう（ステップ６０４）。つまり、Ｘ座標３０２にＸ’からＹ’を減算した値を設定  →  Ｙ’に１を加算  →  Ｙ座標３０３にＹ’の値を設定、の処理を行い、位置座標が決定される。
【００３８】
次に、Ｘ座標３０２とＹ座標３０３の値を問題データの位置座標情報２０７に付加する（ステップ６０５）。
ここで、ステップ６０２からステップ６０５は、位置座標情報２０７のＸ軸４０１とＹ軸４０２を決定する処理となる。このようにして、位置座標情報を計算することで、問題データを正の平面座標上で均等に散らばすことができる。
続いて、位置座標情報２０７を付加した問題データを問題データベース１０１に出力する（ステップ６０６）。
最後に、Ｘ座標３０２とＹ座標３０３の値を位置座標管理データベース１０２に出力する（ステップ６０７）。
【００３９】
以上のように、本実施形態では、Ｘ座標値とＹ座標値との和が小さいものから順に位置座標情報が付加され、問題データが配置されるようになっている。このようにすれば、問題データは、２次元座標上で図４に示されるように、扇型状（放射状）に広がるようにきれいに均等に配置されるようになる。従って、検索処理においてランダムポイントを求めてそこから近い距離のデータから順に効率よく検索結果を出力することができる。なお、図６のような処理は一例であって別の座標の割り当て方法を用いてもよいことはもちろんである。一番重要なことは、一データに対して一座標が割り当てられることだからである。更に、３次元座標や４次元以上の高次元座標によってデータを割り当ててもよい。例えば３次元座標の場合、Ｘ座標値、Ｙ座標値、Ｚ座標値の和が小さいものから順に位置座標情報が付加されるような配置方法が考えられる。
【００４０】
図７は、問題件数入力時のランダム検索処理の動作を説明するためのフローチャートである。
【００４１】
利用者が問題件数入力部１０８から問題件数を入力すると、データ処理部１０３のランダム検索処理部１１０は、ｒａｎｄ関数で２次元のランダムポイントを２次元データとして管理を行い、ランダム検索時に２次元のランダムポイントを求める。まずＸ軸用のランダムポイントをｒａｎｄ関数から取得する。その取得した値をＸ’に設定する。次にＹ軸用のランダムポイントをｒａｎｄ関数から取得する。その取得した値をＹ’に設定する。この方法で、任意の２次元のランダムポイントを決定する（ステップ７０１）。このようにｒａｎｄ関数でランダムポイントを求めることで、同じランダムポイントが出現する可能性は限りなく低くなるため、ランダム性を高めることができる。
【００４２】
このランダムポイントと問題データに付加した位置座標情報との距離が近い問題データを問題制御画面１０５の問題件数入力部１０８から入力された問題件数分、問題画面１０４の問題部１０６に問題を表示する（ステップ７０２）。問題データの検索は、空間インデクスのスカラ関数ＷＩＴＨＩＮを応用する。このＷＩＴＨＩＮにランダムポイントを応用することで、ランダムポイントに近い距離の問題データが返却することができる。スカラ関数ＷＩＴＨＩＮとは、指定した２次元の値とデータに付加した２次元の値との距離が近いデータを要求件数分返却する。なお、ランダムポイントからの距離が等しいデータが要求件数より多く存在する場合、どのデータを優先して選択するかは適宜選択基準を決めておく。例えば、ランダムポイントからの距離が等しいデータの中では、Ｘ座標値が小さいデータを優先し、Ｘ座標値が等しい場合にはＹ座標値が大きいデータを優先する、というような選択基準である（その逆でも良い）。また、このような選択基準を複数設定しておいて、その中から毎回ランダムに選択基準を選択するようにしてもよい。
【００４３】
なお、実施形態の機能を実現するソフトウェアのプログラムコードによっても本発明は実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００４４】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００４５】
また、実施の形態の機能を実現するソフトウェアのプログラムコードがネットワークを介して配信されることにより、システム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納され、そのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行することによっても、達成されるようにしてもよい。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施の形態例を示すシステム構成図である。
【図２】問題データベースに格納されているデータ構成図である。
【図３】位置座標管理データベースに格納するデータ構成図である。
【図４】正の平面座標上の位置座標情報とランダムポイントである。
【図５】位置座標情報付加処理を示すフローチャートである。
【図６】ランダム検索処理を示すフローチャートである。
【図７】正の平面座標上のランダム検索範囲である。
【図８】従来のランダム検索の概略構成図である。
【符号の説明】
【００４７】
１０１…問題データベース、１０２…位置座標管理データベース、１０３…データ処理部、１０４…問題画面、１０５…問題制御画面、１０６…問題部、１０７…解答部、１０８…問題件数入力部、１０９…問題入力部、１１０…ランダム検索処理部、１１１…問題更新処理部
【図１】
0004758279.tif 000002
【図２】
0004758279.tif 000003
【図３】
0004758279.tif 000004
【図４】
0004758279.tif 000005
【図５】
0004758279.tif 000006
【図６】
0004758279.tif 000007
【図７】
0004758279.tif 000008
【図８】
0004758279.tif 000009