(本発明の全体構成)
図1は、本発明の学習機能付き電子機器のシステム構成を示すブロック図である。図1において、このシステムは、表示部11と、入力部13と、CPU(中央演算処理装置)14と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16とを含む構成である。入力部13は、文字入力や制御コマンドの入力などを行うために操作される入力手段であり、ヒントの表示をするための[ヒント]キー、解答を表示させるための[検索/決定]キー、電源キー、カーソルキーなどがこれに含まれる。また、入力手段としては、タッチパネル上で入力するタッチキーやPC(Personal Computer)のようにキーボード上で入力するキー等で構成することができる。
表示部11は、入力部13等で入力されたキーに応じて、文字、絵、データ等をCPU14の制御により表示する。CPU14は、入力部13からのキー入力による文字列、制御コマンドのキー操作による入力処理、ROM15に記憶される辞書データや問題データを検索する検索処理、および問題表示画面やヒント画面などを表示部11に表示させる表示処理、ヒント用の関連情報をRAM16に格納する記憶処理などを実行し、電子機器全体の制御を行う。ROM15は、辞書データ記憶領域151、問題データ領域152、プログラム領域153を有する。辞書データ記憶部151には、複数の辞書データ(第1辞書151a、第2辞書151b、第3辞書151c、・・・、第n辞書151n)が記憶される。辞書データとは、英和辞書や和英辞書や広辞苑といった国語辞書の内容を電子化したものであり、ここでは、第1辞書151aには英和辞書のデータ、第2辞書151bには和英辞書のデータ、第3辞書151cには国語辞書のデータが格納されているとして、以下の説明を行う。なお、この例では、辞書としては複数のものを備えたものと例示したが、本発明においては、一つの辞書を設けることで実施可能で、以下の説明からも明白である。
それぞれの辞書データ(第1辞書151a、第2辞書151b、第3辞書151c、・・・、第n辞書151n)は、辞書ごとに、検索インデックス(154a、155a、156a、・・・、157a)、ワードテーブル(154b、155b、156b、・・・、157b)、データ情報テーブル(154c、155c、156c、・・・、157c)、オフセットテーブル(154d、155d、156d、・・・、157d)、表示データ記憶部(154e、155e、156e、・・・、157e)から構成される。
第1辞書151aの英和辞書において、検索インデックス154aは、辞書データにおける複数の見出し語を格納している。この見出し語は、通常アルファベット順に並べられている。
表示データ記憶部154eは、辞書データにおける各見出し語に関するデータの全内容を格納していて、見出し語、発音記号、品詞、意味、例文、熟語、解説等の説明内容を格納している。これらの見出し語に関する上記発音記号、品詞、意味、例文、熟語、解説等の説明内容の各種データを総称して解説データと呼ぶ。表示データ記憶部154eの構造は、見出し語、発音記号等の各データには、後で詳細に説明するが、例えば図2を参照にすれば理解できるとおり、データの区別をつけるために、各データの最後に“区切りコード”が設けられている。この“区切りコード”で区切られた各データの表示データ記憶部154e上でのアドレスは、“区切りコード”で区切られたデータ順に、オフセットテーブル154dに格納されている。また、“区切りコード”で区切られた各データは、見出し語や発音記号等のデータ種別に対応した固有のデータ情報番号を有しており、この固有のデータ情報番号は、オフセットテーブル154dで格納されているデータの並び順と同様に、“区切りコード”で区切られたデータ順に、データ情報テーブル154cに格納されている。
更にワードテーブル154bには、検索インデックス154aの各見出し語が、表示データ記憶部154e上の“区切りコード”で区切られたデータの何番目に相当するデータであるかという数値情報が格納されている。
以上のように、第1辞書151aが構成されており、その他の第2辞書151b、第3辞書151c、・・・、第n辞書151nにおいても、第1辞書151aと同様の構造を有している。
また、本発明にかかる問題データ記憶部152は、英語、国語等の複数の教科毎の問題データを記憶した第1教科152a、第2教科152b、・・・に区分されており、英語の問題データは、第1教科152aに記憶され、国語の問題データは、第2教科152bに記憶されている。問題データは、複数の教科の複数の穴埋め問題文に関するデータと解答語句に関するデータを電子化したものである。
第1教科152aの英語の問題の場合は、穴埋め問題の問題文のデータが格納されている穴埋め文データ記憶部158aと、穴埋め問題文の意味が格納されている問題文意味データ記憶部158bと、解答語句の意味が格納されている解答語句データ記憶部158cから構成されている。
穴埋め文データ記憶部158aに記憶される問題は、例えば図22(a)の画面2201の穴埋め問題の場合、“I”、“スペース”、“watched”、“スペース”、“my”、“スペース”、“mother”、“スペース”、“空欄コード”、“enter”、“空欄コード”、“スペース”、“the”、“スペース”、“kitchen.”の順番に、それぞれの文字コードで記憶されている。つまり、穴埋め文データ記憶部158aに格納されている穴埋め問題文は、穴埋め問題文の穴に解答語句が格納された形式で構成されていて、その穴埋め問題文中の解答語句の前後に“空欄コード”が挿入されている。このように、“空欄コード”が解答語句の前後に存在することにより、穴埋め問題表示時は、“空欄コード”で挟まれた部分を空欄として表示し、解答語句表示時には、“空欄コード”で挟まれた部分の文字を表示するように制御すれば、穴埋め問題文と、穴に解答語句が入った解答文の両方のデータを1つのデータで制御することが可能となる。更に、解答語句に関するデータをヒントデータとして、辞書データから抽出するときに、解答語句を穴埋め問題から取り出す必要性が生じた場合、穴埋め文データ記憶部158a上の“空欄コード”を検索し、“空欄コード”で挟まれた語句を取り出せばよい。
上記第1教科152aの解答語句データ記憶部158cには、解答語句と同じ見出し語が辞書データ上で持つ複数の意味のうち、穴埋め問題の意味文章中で使用されている意味が格納されている。図22(a)の画面2201のような穴埋め問題の場合、解答語句“enter”が持つ全ての意味のうち、画面2201の穴埋め問題で使用されている“入る”という意味が格納されている。解答語句データ記憶部158cに、穴埋め問題上で使用されている解答語句の意味が格納されていることにより、解答語句と同じ見出し語を英和辞書から検索した後、その見出し語が持つ意味の中で、解答語句の意味と同じ語句を持つ意味部分を限定することができ、更に、そのデータ部分について、各種加工処理を行うことができる。例えば、図23(b)の画面2302のように、解答語句の全ての意味のうち、穴埋め問題上で使用されている意味以外の意味をヒントとして表示したり、図24(b)の画面2402のように、解答語句の全ての意味のうち、穴埋め問題上で使用されている意味を遮蔽して表示することが可能となる。図23(b)の画面2302や図24(b)の画面2402のヒント画面データの作成方法については、後述の図9と図10のフローチャートで詳細を説明する。
また、問題文意味データ記憶部158bは、穴埋め問題となる解答語句の内容も含めた文全体の意味内容を、問題文毎に記憶している。上述した穴埋め文データ記憶部158aと問題文意味データ記憶部158bと解答語句データ記憶部158cの各データの並び順は、それぞれ、同じ並び順となっていて、n番目の穴埋め文データ記憶部158aの穴埋め問題文に対する穴埋め問題文の意味は、問題文意味データ記憶部158bのn番目に格納されている。更に、n番目の穴埋め問題文の解答語句の意味は、解答語句データ記憶部158cのn番目にその意味が格納されている。
以上は、第1教科152aについての問題文の構成、及びその記憶状況等についての説明を行ったが、次に、第2教科152bについて説明する。この第2教科152bの国語の問題の場合は、穴埋め問題文のデータと解答語句が格納されている穴埋め文データ記憶部159aと解答語句データ記憶部159bから構成されている。
上記穴埋め文データ記憶部159aに記憶された問題文は、その一例として、図31(a)の画面3101の穴埋め問題の場合、“合理化を”、“空欄コード”、“図る”、“空欄コード”、“(はかる)。”の順番で、それぞれの文字コードが記憶されている。つまり、穴埋め文データ記憶部159aに記憶している穴埋め問題文は、穴埋め問題文の穴に解答語句が格納された形式で構成されていて、その穴埋め問題文中の解答語句の前後に“空欄コード”が挿入されている。“空欄コード”が解答語句の前後に存在することにより、穴埋め問題表示時は、“空欄コード”で挟まれた部分を空欄として表示し、解答語句表示時には、“空欄コード”で挟まれた部分の文字を表示するように制御すれば、穴埋め問題文と穴に解答語句が入った解答文の両方のデータを1つのデータで制御することが可能となる。
また、解答語句データ記憶部159bには、解答語句の読みが格納されている。例えば、図31(a)の画面3101に示すような穴埋め問題の場合、解答語句の読みである“はかる”が格納されている。解答語句データ記憶部159bに、穴埋め問題上で使用されている解答語句の読みが格納されていることにより、解答語句の読みと同じ見出し語を国語辞書から検索し、その見出し語が有する漢字語句を取り出せば、図31(b)の画面3102に示すように、解答語句と同じ読みを持つ漢字語句をヒントとして表示することが可能となる。図31(b)の画面3102で示すヒント画面データの作成方法については、後述の図19のフローチャートで詳細を説明する。
以上説明したように、穴埋め文データ記憶部159aと解答語句データ記憶部159bのデータの並び順についても、それぞれ、同じ並び順となっていて、n番目の穴埋め文データ記憶部159aの穴埋め問題文に対する、n番目の穴埋め問題文の解答語句の読みは、解答語句データ記憶部159bのn番目に格納されている。
以上、ROM15内の辞書データ記憶部151、及び本発明にかかる問題データ記憶部152の構成について説明したが、このROM15は、本発明の電子機器を制御するためのプログラムを含め、問題文の表示、以下に詳細に説明するが、表示された問題文の穴埋め部分の解答語句のヒント等を表示させるための制御、さらに解答を表示させるための制御を実行するプログラムを記憶している。このプログラムは、プログラム記憶領域153に記憶されており、入力処理を行う入力処理用プログラム153a、検索処理を行う検索処理用プログラム153bおよび表示処理を行う表示処理用プログラム153cなどが記憶される。
本発明にかかる穴埋め問題の表示制御手段は、CPU14、ROM15およびRAM16で構成される。本発明では、後述のように、穴埋め問題の解答に関するヒントを様々な方法で辞書データから作り出し、表示することを特徴とし、RAM16にはこの特徴を実現するために、次のようなデータを記憶する。
RAM16は、CPU14によるヒント表示の制御を実行するために必要となるデータを記憶するワークエリア167と、本発明のヒントにかかわる内容を記憶するヒント用フラグ163と、検索語句を記憶する検索語句記憶部168および表示手段である表示部11に表示させるデータを記憶する表示用記憶部166等を有し、穴埋め問題の表示、問題のヒント表示およびヒント表示にかかる動作設定のための記憶を行う。
上述したRAM16を構成する各要素を以下に説明する。まず、ヒント用フラグ163は、穴埋め問題の様々な種類のヒントの中で、それぞれのヒントを表示するか否かを判断する為、“1”または“0”が記憶される。“1”が記憶されているフラグならば、そのフラグに対応したヒントを表示し、“0”が記憶されているならば、そのフラグに対応したヒントを表示しないようにCPU14を通じて制御される。また、ヒント用フラグ163には、複数の教科の穴埋め問題に応じたヒント用のフラグが、それぞれの教科毎のエリア(第1教科ヒント164a、第2教科ヒント164b、・・・、第n教科ヒント164n)に存在する。例えば、第1教科ヒント領域164aには、英語の穴埋め問題のヒント表示に関するフラグである意味全部フラグ165a、意味削除フラグ165b、意味遮蔽フラグ165c、例文フラグ165d、熟語フラグ165e、発音記号フラグ165f、反対語フラグ165g、英和同意語フラグ165h、和英同意語フラグ165i、ヒント解答フラグ165jが設けられている。また、第2教科ヒント164bには、漢字の穴埋め問題のヒント表示に関するフラグである同音異義語フラグ167aが記憶される。
意味全部フラグ165aは、穴埋め問題の解答語句と同じ見出し語が有している第1辞書151a上の表示データ記憶部154eに格納されている意味の全てを、ヒントとして表示する際に、“1”が設定される。
意味削除フラグ165bは、穴埋め問題の解答語句と同じ見出し語が有している第1辞書151a上の表示データ記憶部154eに格納されている意味を、穴埋め問題と同じ意味以外の意味をヒントとして表示する際に、“1”が設定される。
意味遮蔽フラグ165cは、穴埋め問題の解答語句と同じ見出し語が有している第1辞書151a上の表示データ記憶部154eに格納されている意味を穴埋め問題と同じ意味を遮蔽し、ヒントとして表示する際に、“1”が設定される。
例文フラグ165dは、穴埋め問題の解答語句と同じ見出し語が有している第1辞書151a上の表示データ記憶部154eに格納されている例文をヒントとして表示する際に、“1”が設定される。
熟語フラグ165eは、穴埋め問題の解答語句と同じ見出し語が有している第1辞書151a上の表示データ記憶部154eに格納されている熟語をヒントとして表示する際に、“1”が設定される。
発音記号フラグ165fは、穴埋め問題の解答語句と同じ見出し語が有している第1辞書151a上の表示データ記憶部154eに格納されている発音記号をヒントとして表示する際に、“1”が設定される。
反対語フラグ165gは、穴埋め問題の解答語句と同じ見出し語が有している辞書データ記憶部151上の表示データ記憶部154eに格納されている反対語をヒントとして表示する際に、“1”が設定される。
英和同意語フラグ165hは、第1辞書151aの英和辞書において、穴埋め問題の解答語句と同じ見出し語が有している表示データ記憶部154e上の同意語をヒントとして表示する際に、“1”が設定される。
和英同意語フラグ165iは、第2辞書151bの和英辞書データにおいて、穴埋め問題の解答語句と同じ意味を有する表示データ記憶部155e上の英語語句をヒントとして表示する際に、“1”が設定される。
また、ヒント解答フラグ165jは、例えば、図24(c)の画面2403と画面2402に示すような、穴埋め問題の穴に解答語句を表示した画面と、解答語句の一部の意味を遮蔽したヒント画面を表示した状態で、[検索/決定]キーを操作入力し、全ての意味を表示した図24(d)の画面2404に示すようなヒント画面を表示する場合と、図22(c)の画面2203と画面2202に示すような、穴埋め問題の穴に解答語句を表示している画面と、解答語句の全ての意味が表示されているヒント画面を表示した状態で、[検索/決定]キーを操作し、次の問題を表示した図22(d)の画面2204に示すような画面を表示する場合との区別をつけるために使用される。つまり、このフラグ165jは、穴埋め問題の穴に解答語句が表示さている状態で、[検索/決定]キーを入力したときに、ヒントの一部が遮蔽または、一部が表示されていない内容を全て表示したヒント画面を表示する場合と、次の問題を表示する場合に、動作を分けるときに必要となる。
上述のことを更に詳しく説明すると、ヒントとして、一部の意味のみを表示したり、意味の一部を遮蔽したり、解答語句を空欄にした例文を表示したり、解答語句を空欄にした熟語を表示している場合に、ユーザーが解答する手順の1段階目として、[検索/決定]キーで、穴埋め問題の穴に解答語句を表示した後に、ヒント解答フラグ165jに“0”が設定される。また、ヒントとして、解答語句の全部の意味や、発音記号を表示している場合に、ユーザーが解答する手順の1段階目として、[検索/決定]キーで、穴埋め問題の穴に解答語句を表示した後は、ヒント解答フラグ165jには、“1”が設定される。上記の穴埋め問題の穴に解答語句が表示されている状態で、更に、[検索/決定]キーが押されたとき、ヒント解答フラグ165jが“0”ならば、ヒントとして表示している内容には、一部の意味のみであったり、意味の一部が遮蔽されていたり、解答語句と同じ語句の部分が空欄であったりするため、解答語句と同じ見出し語が持つ全ての意味を表示することや、空欄部分の解答語句を表示する処理を行う。また、上記の穴埋め問題の穴に解答語句が表示されている状態で、更に、[検索/決定]キーが、押されたとき、ヒント解答フラグ165jが“1”ならば、ヒントとして表示している内容には、既に解答語句のヒントとしての情報が全て表示されているため、表示している穴埋め問題が終了したと判断し、次の問題を表示する処理を行う。つまり、ヒント解答フラグ165jは、表示するヒントの種類によって、ユーザーが解答を行っていく手順を変えるために必要となるフラグである。以上のことは、図4のフローの説明において明確になる。
表示用画面記憶部166は、穴埋め問題文を記憶している第1表示画面記憶部166aとヒントを記憶している第2表示画面記憶部166bから構成されている。実際に表示を行うときは、このエリアに格納されているデータをもとに、表示部11への表示を行う。
ワークエリア167は、辞書データからデータを取り出し、そのデータを加工し、ヒント画面を作成する際に使用するエリアであり、A、B、C、D、E及びXから構成されており、以下に説明するような処理を実行するために用いられる。
次に、上述したROM15の辞書データについては先に簡単に説明したが、さらにその詳細な構造について、図2と図3を参照して説明を行う。
図2は、図1に示す英和辞書である第1辞書151aを例に説明しており、検索インデックス154a、ワードテーブル154b、データ情報テーブル154c、オフセットテーブル154d、表示データ記憶部154eの詳細な構造を示している。表示データ記憶部154eには、英和辞書の全ての内容が格納されている。英和辞書は、見出し語、発音記号、品詞、意味、例文、熟語、同意語、反対語、解説等の解説内容を有していて、それぞれの内容の区別をつけるために、それぞれのデータの最後に“区切りコード”を有している。“区切りコード”は、表示データ記憶部154e内の他の文字コードと区別をつけることが出来るものならば、何でも良い。また、同じ種類のデータの中で区別をつけることも可能であり、その場合は、区別をつけるデータの最後に“区切りコード”が挿入される。“区切りコード”を有していることにより、ある“区切りコード”から次の“区切りコード”までのデータを、容易に表示データ記憶部154eから取り出すことが可能となり、表示データ記憶部154eのデータの一部をヒントとして表示する処理の高速化を図ることが可能となる。図2の表示データ記憶部154eでは、1行目に“a,A”という見出し語が格納されていて、その後に“区切りコード”が格納され、次行に“a,A”の発音記号の“/ei/”が格納されている。更に、発音記号の最後に“区切りコード”が有るために、次行では、別のデータである“−名”という品詞が格納されている。そして、“−名”の後にも、“区切りコード”があり、次行には、見出し語“a,A”の1つ目の意味の“1.英語アルファベットの第1文字”味が格納されている。1つ目の意味の後には、“区切りコード”があり、次行には2つ目の意味である“2.a,A字の表す音・・・・・・・”が格納されている。1つ目の意味と2つ目の意味は両方とも意味のデータであるが、穴埋め問題の解答語句の意味の一部をヒントとして表示するときに、それぞれの意味データを取り出し、加工処理する必要がある場合に、意味データ内でも、意味の内容が異なるデータは、データの最後に“区切りコード”を有している。
以下同様にして、各見出し語が、“区切りコード”を有した様々なデータを複数持ち、表示データ記憶部154eを構成している。表示データ記憶部154eの“区切りコード”を有した各データは、そのデータが存在する表示データ記憶部154e上のアドレスを有している。そのアドレスは、オフセットテーブル154dに、表示データ記憶部154eの各データの並び順通りに格納されている。また、表示データ記憶部154e上の各データの種類に対応したデータ情報番号が、オフセットテーブル154dと同様の並び順で、データ情報テーブル154cに格納されている。
また、第1辞書151aの検索インデックス154aには、見出し語の文字データがABC順で格納されている。各見出し語は、表示データ記憶部154e上の“区切りコード”を有した全データ中の何番目のデータに相当するかという情報をワードテーブル154bに持っている。表示データ記憶部154eの1つ目のデータを0番目とした場合、例えば、検索インデックス154aの“a1,an”のデータは、9番目に格納されているため、ワードテーブル154bには“000009”が格納されている。
更に、データ情報テーブル154cの9番目を参照すれば、見出し語データの情報番号である“0000”が格納されていて、オフセットテーブル154dの9番目を参照すれば、“a1,an”の見出し語が存在する表示データ記憶部154e上のアドレスが格納されている。図2の場合は、アドレス“00008C”以降に“a1,an”の見出し語に関するデータが存在していることになる。
データ情報テーブル154cには、データの情報番号が格納されている。ここでは、見出し語ならば“0000”、発音記号ならば“0001”、品詞及び意味ならば“0002”、例文ならば“0003”、熟語ならば“0004”、反対語ならば“0005”、同意語ならば“0006”として各データが格納されている場合を想定して以降の説明を行う。また、ワードテーブル154b、データ情報テーブル154c、オフセットテーブル154dに格納されている値については、16進数を扱っているものとして説明を行う。
さらに、第1辞書151aの機能及びその構成の理解を深めるために、図3を参照して説明する。図3は見出し語として、“enter”を例に示したもので、本発明の特徴であるヒントを提示する例に基づいて説明する。例えば、図25(b)の画面2502で示すように、解答語句と同じ見出し語が有する例文をヒントとして表示するために、図3では、解答語句“enter”の例文を取り出す手順を示しており、第1辞書151aが有する検索インデックス154a、ワードテーブル154b、データ情報テーブル154c、オフセットテーブル154d、表示データ記憶部154eのブロック図で説明する。
まず、検索インデックス154aの中から“enter”を検索する。“enter”が検索インデックス154aの200番目だった場合、ワードテーブル154bの200番目の値を参照し、“000452”を取り出す。“000452”は、表示データ記憶部154eの“区切りコード”で区切られたデータ中の452番目のデータ以降に“enter”に関する品詞や意味、その他の解説内容にかかるデータが格納されていることを示している。
更に、データ情報テーブル154cの452番目以降に“enter”に関係するデータ情報番号が格納されているので、データ情報テーブル154cの452番目以降から、例文のデータ情報番号である“0003”の値が格納されているかどうかの検索を行う。データ情報テーブル154cで、例文のデータ情報番号“0003”は457番目に格納されているので、オフセットテーブル154dの457番目のデータを参照し、“000939”を取り出す。“000939”は表示データ記憶部154e上のアドレス“000939”以降に、“enter”の例文が格納されていることを意味し、アドレス“000939”から、次の“区切りコード”までのデータを例文として取り出す。ここでは、“enter the dining room from the recreation hall 娯楽室から食堂へ入る”を取り出すことになる。
上記のような検索を“enter”が有する全てのデータについて行えば、全ての例文を取り出すことが可能となる。検索を行う範囲は、“enter”の次の見出し語“enteric”のワードテーブル154b上の値“00052A”の1つ前の529番目までである。つまり、“enter”が有する全てのデータは、次の見出し語の直前まで格納されているため、529番目まで検索を行えば、“enter”が有する全てのデータの検索を行ったことになる。
(本発明における処理手順)
以上が、本発明の全体の構成を説明したものであり、以下に、本発明をより理解できるように問題の表示、またその問題の解答を行うためのヒントの表示、そして解答を行う制御にかかる処理手順の説明を行っていく。
図4は、穴埋め問題を表示後に、ヒントを表示し、解答するまでの本発明にかかる制御手順の一例を示したフローチャートである。ここでは、第1教科152aの英語の穴埋め問題を例にして、解答する場合を想定して説明する。
(問題表示にかかる制御)
まず、本発明による学習を行う場合、穴埋め問題を表示する入力部13のキー操作入力が行われる。その操作が確認されると、本発明の学習機能付き電子機器においては、図4に示すフローを実行する。そのため、まずステップ401へ移行する。
このステップ401では、RAM16のワークエリア167のXに0を設定する。次にステップ402では、第1教科152aの穴埋め文データ記憶部158aに格納されている穴埋め問題文の0番目、すなわち“X”番目の穴埋め問題を第1表示画面記憶部166aに格納する。ここでいう、“X”とは、ワークエリア167のXに格納されている値を意味しており、例えば、“A”という表記があった場合も、ワークエリア167のAに格納している値を意味している。更に、第1教科152aの問題文意味データ記憶部158bに格納されている意味データの0番目、すなわち“X”番目の意味データも第1表示画面記憶部166aに格納する。最初のステップでは、Xには0が設定されているので、先頭の穴埋め問題データと先頭の意味データを第1表示画面記憶部166aに格納することになる。
続いて、ステップ403に進み、第1表示画面記憶部166aに格納されている穴埋め問題とその問題の意味を表示する。英文の問題の場合は、英文の穴埋め問題と、その英文の意味を表示部11に表示することになる。これにより、図22(a)の画面2201に示すような穴埋め問題と、その問題文の意味が、表示部11上の1つの画面に表示される。
(問題表示後のヒント表示制御)
以上のようにして、問題表示が行われ、その問題を解答する学習を行うことになる。この問題表示にかかる学習において、本発明では表示された問題の解答語句にかかるヒントを表示し、学習効果を高めることができる。このヒント表示のために以下のような手順で表示制御が実行される。
ステップ403で問題が表示されると、次にステップ404でキー待ち状態になる。この状態で、何れかのキーが入力されれば、ステップ405で[ヒント]キーかどうか判断する。もし、[ヒント]キーが入力されれば、ステップ409でヒント用フラグ163内のフラグの何れか(165a〜165h)が未設定かどうか判断する。第1教科152aの問題を行っているときは、第1教科ヒント164aのヒントフラグの何れか(165a〜165i、167a)が“1”に設定されているかどうか判断する。対象となる問題教科のヒント用フラグが全て未設定、すなわち何れも“1”でないならば、ステップ410でヒント設定処理を行う。
ヒント設定処理は、後でも詳細に説明するが図32(b)の画面3202に示すようなヒント選択肢画面の表示が行われる。表示されたヒント選択肢画面の中から、例えば、図32のキー3204で示すような[1]キー入力のように、表示したいヒントに該当する数値キーを入力し、表示するヒント内容を決定する。これにより、そのヒントに該当するヒント用フラグ163内のフラグを“1”に設定し、その処理を終了する。詳細は、図5のフローチャートで説明する。
ステップ410でのヒント設定処理後、ステップ411で、設定したヒントのヒント表示処理(1)を行い、ステップ404でキー待ち状態に戻る。ステップ411のヒント表示処理(1)は、ヒント用フラグ163で、“1”に設定されているフラグに対応したヒントを表示する処理であり、そのヒント表示を行う詳細は、後述の図6等で説明するが、理解を深めるためにも一例を説明する。
ステップ411によるヒント表示処理については、図32(b)において、[1]単語意味(全部)が選択されている場合を説明する。まず図22(a)の画面2201で問題表示された状態で、ヒントキーが操作されれば、図22(b)の画面2202に示すように解答語句に関連するヒントとなる意味内容が全て表示される。
以上のとおりであるが、説明を戻し、上記ステップ409で、ヒント用フラグが設定されているならば、上述した通りステップ411でヒント表示処理(1)を行った後、再びステップ404のキー待ち状態に戻る。
(穴埋め問題の解答語句の表示制御)
ヒント表示を行った後、そのヒントにより問題文中の穴の解答語句をユーザーが解答できる状態、あるいは解答語句が不明な場合等、ユーザーが解答語句を知りたい場合には、解答語句の表示指示を行う。そのため、ステップ405の[ヒント]キーかどうかの判断で、[ヒント]キーでなかった場合は、ステップ406で[検索/決定]キーかどうかの判断を行う。[検索/決定]キーでない場合は、ステップ404のキー待ち状態に戻る。[検索/決定]キーの場合は、ステップ407で、穴埋め問題の穴に解答語句が表示されているかどうかの判断が行われる。
ステップ407での穴埋め問題の穴に解答語句が表示されているかどうかの判断方法は、周知のことであるが、表示されていない場合と、表示された場合とを区別するためのフラグを設け、そのフラグを“1”又は“0”に設定すれようにすればよく、別の方法として、以下に一例を示す。
表示部11に表示されている穴埋め問題の表示データは、先に説明したように、第1表示画面記憶部166aに格納されており、穴埋め問題の穴に解答語句を表示しているときは、第1表示画面記憶部166aのデータ中の解答語句の前後に“空欄コード”が格納されている。表示部11への表示処理で、“空欄コード”で挟まれた文字は“空欄文字”で表示するため、前記のような解答語句の前後に“空欄コード”が格納されている場合は、表示部11上では、解答語句は表示されない。この場合、図22(a)の画面2201に示すような解答語句が表示されていない問題文が表示される。
また、穴埋め問題の穴に解答語句を表示しているときは、第1表示画面記憶部166aの解答語句の前後に“空欄コード”は格納されていない。そのため、表示部11上には、解答語句が表示される。この場合は、図22(c)の画面2203に示すような解答語句が表示された問題文が表示される。
第1表示画面記憶部166aでは、上記のように処理されるため、第1表示画面記憶部166aの中に、“空欄コード”が存在するかどうかを検索することにより、穴埋め問題の穴に解答語句が表示されているかどうかの判断を行うことができる。
ステップ407において、穴埋め問題文中の解答語句を表示していないならば、すなわち、第1表示画面記憶部166aに“空欄コード”が存在するならば、ステップ408で、問題解答処理を行う。
ステップ408の問題解答処理は、図20のフローチャートに示しているように、穴埋め問題の穴に解答語句を表示する処理であり、以下に詳細を説明する。
まず、ステップ2001で、意味削除フラグ165bに“1”が格納されているかどうかの判断を行う。もし、意味削除フラグ165bが“1”ならば、ステップ2004で、ヒント解答フラグ165jに“0”を設定する処理を行う。意味削除フラグ165bが“1”でないならば、ステップ2002で、意味遮蔽フラグ165cに“1”が格納されているかどうかの判断を行う。もし、意味遮蔽フラグ165cが“1”ならば、ステップ2004へ進み、“1”でないならば、ステップ2003で、例文フラグ165dまたは熟語フラグ165eに“1”が格納されているかどうかの判断を行う。もし、例文フラグ165dまたは熟語フラグ165eが“1”ならば、ステップ2004へ進み、“1”でないならば、ステップ2005で、ヒント解答フラグ165jに“1”を設定する。
ステップ2001からステップ2005については、ヒント表示している内容が、解答語句の意味の一部を遮蔽したものであったり、解答語句の意味の一部を表示しないものであったり、解答語句を有する例文または熟語を表示している場合には、ヒント解答フラグ165jに“0”を設定し、ヒント表示している内容が、解答語句の全ての意味、解答語句の発音記号、解答語句の反対語、解答語句の同意語である場合は、ヒント解答フラグ165jに“1”を設定するということである。
ヒント解答フラグ165jを使用する目的は、[検索/決定]キーを押下したときに、下記のように動作を分けるためである。
ヒント解答フラグ165jを“0”に設定しているときは、図24(c)の画面2403と画面2402で示す表示が行われているような、穴埋め問題の穴に解答語句が表示されており、ヒント画面において、ヒントの内容の一部が遮蔽されているときに、[検索/決定]キーを入力すると、図4のステップ406、ステップ407及びステップ412を経て、ステップ413のヒント解答処理が実行される。このヒント解答処理については、図21に示しており、後に詳細に説明する。そこで、この処理を実行することで、図24(d)の画面2403に示すような解答語句を表示した問題文表示を行っている画面の下部に、図24(d)の画面2404に示すような全てのヒント内容を表示したヒント画面が、図24(c)の画面2402に示すようなヒント画面の一部が遮蔽されていた内容に替わって表示される。
もし、ヒント解答フラグ165jを“1”に設定しているときは、図22(c)の画面2203と画面2202で示すような、上述したように穴埋め問題の穴に解答語句が表示されている画面と、全ての内容が表示されているヒント画面が表示されているときに、[検索/決定]キーを入力すると、次の穴埋め問題を表示する。
以上の処理を経て、ステップ2004と2005において、ヒント解答フラグ165jに“1”または“0”を設定後は、ステップ2006で、第1表示画面記憶部166a内の穴埋め問題の“空欄コード”を削除する。
次に、ステップ2007で、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行うが、ステップ2006で、第1表示画面記憶部166aの穴埋め問題文中の“空欄コード”が削除されているので、穴埋め問題文中の解答語句は空欄で表示されず、穴埋め問題の穴に解答語句が表示された問題文と、第2表示画面記憶部166bに格納されているヒントデータの表示を行う。これにより、図22(b)の画面2201と画面2202で示すような穴埋め問題とヒント画面が表示されているときに、[検索/決定]キーの入力を行うと、図22(c)の画面2203のように、穴埋め問題の穴に解答語句が表示される。
(次の問題表示の制御)
以上、図4のステップ408で、[検索/決定]キーの操作により、上記図20の説明どおりに、問題解答処理が終了すると、ステップ404のキー待ち状態に戻る。この状態、つまり穴埋め問題の穴への解答語句の表示が終われば、その問題文による学習が終わるため、次の問題に取り組むことになる。そのため、ユーザーは以下のような処理により、次の問題の表示が行われる。
そこで、再度「検索/決定」キーが操作されれば、ステップ407の判断で、穴埋め問題の穴に解答語句が表示されているものとして、ステップ412で、ヒント解答フラグ165jが“1”かどうかの判断を行う。ヒント解答フラグ165jは、上記に説明したステップ408の問題解答処理で“0”または“1”に設定されている。
このステップ412で、ヒント解答フラグ165jが“1”ならば、ステップ414で、次の問題を表示するために、Xに1を加算し、更に、ステップ402へ戻り、“X”番目の穴埋め問題と穴埋め問題の意味、つまり、次の穴埋め問題とその穴埋め問題の意味を第1表示画面記憶部166aへ格納する処理を行う。この場合は、具体的には、図22(c)の画面2203と画面2202のように、穴埋め問題の穴に解答語句が表示されている画面とヒント画面が同一画面上に表示されているとき、[検索/決定]キーの入力で、図22(d)の画面2204のように、次の穴埋め問題を表示する。
(ヒントの隠れた部分の表示制御)
もし、上記ステップ412で、ヒント解答フラグ165jが“1”でないならば、ステップ413のヒント解答処理を行う。この解答処理を行う理由は、本発明の実施の形態において、問題の穴の解答語句にかかるヒント表示として、解答語句に直接関連する用語等を遮蔽したり、空欄(表示させない)にしたり、一部を隠したヒント表示を行っている。そのため、ヒント表示で隠された部分を表示させる。これは、学習効果を高めるためでもあり、直接関連するようなヒントの場合、学習効果が上がらないが、ヒントの中で隠れた部分が存在することで、意欲的に解答を引き出そうとする努力、また隠れた部分での更なる学習が期待でき、学習効果が高まる。
そこで、ステップ413によるヒント解答処理について説明する。このヒント解答処理は、図21のフローチャートで以下に説明するが、表示されているものが、穴埋め問題の穴に解答語句が表示されている画面と、ヒント画面でヒント表示している内容が、図24(c)の画面2402に示すような解答語句の意味の一部を遮蔽したものや、図23(c)の画面2302に示すような解答語句の意味の一部を表示しないものや、図25(c)の画面2502に示すような解答語句を表示しない例文や、図26(c)の画面2602に示すような解答語句を表示しない熟語であった場合に、[検索/決定]キーを押したとき、ヒントとして表示している内容の中で、隠れているものを全て表示する。上記処理後のヒント画面の表示は、それぞれ、図24(d)の画面2404や図23(d)の画面2304で示すような解答語句の全ての意味の表示や、図25(d)の画面2504に示すような解答語句を表示した例文の表示や、図26(d)の画面2604に示すような解答語句を表示した熟語の表示となる。
以下に、図21のヒント解答処理の詳細を説明する。
まず、ステップ2101で、意味削除フラグ165bに“1”が格納されているかどうかの判断を行う。もし、意味削除フラグ165bが“1”ならば、ステップ2102の意味データ格納処理で、解答語句と同じ見出し語が有する表示データ記憶部154e上の全ての意味を、第2表示画面記憶部166bへ格納する処理を行う。その後、ステップ2107で、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行い、図23(d)の画面2303と画面2304のように、穴埋め問題の穴に解答語句が表示されている問題の表示と、解答語句と同じ見出し語が有する全ての意味が表示される。
また、ステップ2101で、意味削除フラグ165bが“1”でないならば、ステップ2103で、意味遮蔽フラグ165cに“1”が格納されているかどうかの判断を行う。意味遮蔽フラグ165cが“1”ならば、ステップ2104で、第2表示画面記憶部166bに格納されているヒント内容中の“遮蔽コード”を削除する。
上記の“遮蔽コード”がどのような場合に、ヒント表示のデータを格納する第2表示画面記憶部166bに格納されるかを、以下に説明する。
“遮蔽コード”は、例えば、図24(b)の画面2402に示すようなヒント画面の一部を表示しないヒントデータを作成するときに、図10のフローチャートで示す意味遮蔽データ格納処理において、第2表示画面記憶部166bに格納される。具体的には、図24(a)の画面2401に示すような穴埋め問題において、この穴埋め問題の解答語句“enter”の見出し語が持つ辞書データ151上の1つ目の意味である“1.に入る、入り込む、に浮かぶ”という意味データに対して、この意味データ中の“1.”の直後と、1つ目の意味の最後に“遮蔽コード”が格納されている状態、すなわち、“1.”、“遮蔽コード”、“に入る、入り込む、に浮かぶ”、“遮蔽コード”という順番で、前記の文字が第2表示画面記憶部166bに格納されている状態で、第2表示画面記憶部166b上のデータを、表示部11に表示した場合、“遮蔽コード”で挟まれた文字は“遮蔽文字”で表示され、図24(b)の画面2402で示したような画面が表示される。
上記に示した第2表示画面記憶部166b内の“遮蔽コード”を、ステップ2104で削除すると、“遮蔽コード”で挟まれた文字は存在しないので、第2表示画面記憶部166bを表示部11に表示したときに、第2表示画面記憶部166b内の文字は、表示部11上に全て表示され、図24(d)の画面2404に示すような全ての意味が表示される。
ステップ2104の処理後に、ステップ2107で、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行い、図24(d)の画面2403と画面2404に示すように、穴埋め問題の穴に解答語句が表示されている問題の表示と、解答語句と同じ見出し語が有する全ての意味が表示される。
さらに、ステップ2103で、意味遮蔽フラグ165cが“1”でないならば、ステップ2105で、例文フラグ165dまたは熟語フラグ165eが“1”かどうかの判断を行う。もし、例文フラグ165dまたは熟語フラグ165eが“1”ならば、ステップ2106で、第2表示画面記憶部166bに格納されているヒントの表示内容中の“空欄コード”を削除する。
上記の“空欄コード”がどのような場合に、ヒント表示のデータを格納する第2表示画面記憶部166bに格納されるかを、以下に説明する。
“空欄コード”は、例えば、図25(b)の画面2502に示すような例文中の解答語句を空欄で表示した画面や、図26(b)の画面2602に示すような熟語中の解答語句を空欄で表示した画面のようなヒントデータを作成するときに、図11のフローチャートで示した例文データ格納処理や、図12のフローチャートで示した熟語データ格納処理において、第2表示画面記憶部166bに格納される。具体的には、図26(a)の画面2601に示すような穴埋め問題において、この穴埋め問題の解答語句“enter”の見出し語が持つ辞書データ151上の1つ目の熟語である“enter into <交渉・事業などに>入る、・・・を始める”という熟語データに対して、この熟語データ中の解答語句“enter”の前後に“空欄コード”が格納されている状態、すなわち、“空欄コード”、“enter”、“空欄コード”、“into”、“<交渉・事業などに>入る、・・・を始める”という順番で、前記の文字が第2表示画面記憶部166bに格納されている状態で、第2表示画面記憶部166b上のデータを、表示部11に表示した時、“空欄コード”で挟まれた文字は“空欄文字”で表示され、図26(b)の画面2602で示したような画面が表示される。解答語句の例文をヒントとして表示している場合も、例文中の解答語句“enter”の前後に、“空欄コード”があるので、図25(b)の画面2502に示すように、解答語句“enter”が空白として表示される。
上記に示した第2表示画面記憶部166b内の“空欄コード”を、ステップ2106で削除すると、“空欄コード”で挟まれた文字は存在しないので、第2表示画面記憶部166bを表示部11に表示したときに、第2表示画面記憶部166b内の文字は、表示部11上に全て表示され、図25(d)の画面2504や、図26(d)の画面2604に示すような解答語句“enter”を表示した例文や熟語が表示される。
ステップ2106の処理後に、ステップ2107で、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行う。ステップ2107は、例文フラグ165dが“1”のときは、図25(d)の画面2503と画面2504のように、穴埋め問題の穴に解答語句が表示されている問題の表示と、例文の穴に解答語句が表示されているヒントの表示を行い、熟語フラグ165eが“1”のときは、図26(d)の画面2603と画面2604のように、穴埋め問題の穴に解答語句が表示されている問題の表示と、熟語の穴に解答語句が表示されているヒントの表示を行う。
なお、ステップ2105で、例文フラグ165dまたは熟語フラグ165eが“1”でないならば、ステップ2107で、第1表示画面記憶部166aと第2表示画面記憶部166bに格納された内容のままの表示を行う。
図4のステップ413で、ヒント解答処理を上記図21の説明通りに行った後は、ステップ404のキー待ち状態に戻る。
以上のようにして、上記図4で説明した通りに、ユーザーのキー操作に基づいて、穴埋め問題表示とヒント表示及び解答表示の各処理が順次実行されている。
(ヒントの選択設定処理)
次に、本発明における各種ヒントの中から所望するヒントの設定を行うための処理について説明する。
図5は、図4のステップ410の処理であり、穴埋め問題表示中に[ヒント]キーを押下したとき、ヒント用フラグ163内のフラグが未設定であった場合に、ヒント用フラグ163の設定を行う処理のフローチャートである。これは、実際の動作としては、図32(a)の画面3201で示すような英文の穴埋め問題を表示しているとき、[ヒント]キーを押下すると、図32(b)の画面3202に示すように、表示するヒントの種類を選択できる画面が表示される。更に、入力部13による例えば数値キーの[1]キーを押下すると、図32(b)の画面3202に示したヒント設定画面の1つ目の“[1]単語意味(全部)”が選択されたとみなし、穴の解答語句である“enter”の全ての意味が、ヒントとして、穴埋め問題文表示の図32(c)の画面3201の下段に、図32(c)の画面3203に示すように表示される。
まず、ステップ501で、図32(b)の画面3202のヒントの種類を表したヒント選択肢画面の表示を行う。
次にステップ502でキー待ち状態になる。いずれかのキー入力があった場合、ステップ503で、[1]キーの入力があったかどうかの判断を行う。[1]キーの入力があれば、ステップ504で、意味全部フラグ165aに“1”を格納し、ヒント設定処理を終了する。
ステップ503で、[1]キーの入力がないならば、ステップ505で、[2]キーの入力があったかどうかの判断を行う。[2]キーの入力があれば、ステップ506で、意味削除フラグ165bに“1”を格納し、ヒント設定処理を終了する。
ステップ505で、[2]キーの入力がないならば、ステップ507で、[3]キーの入力があったかどうかの判断を行う。[3]キーの入力があれば、ステップ508で、意味遮蔽フラグ165cに“1”を格納し、ヒント設定処理を終了する。
ステップ507で、[3]キーの入力がないならば、ステップ509で、[4]キーの入力があったかどうかの判断を行う。[4]キーの入力があれば、ステップ510で、例文フラグ165dに“1”を格納し、ヒント設定処理を終了する。
ステップ509で、[4]キーの入力がないならば、ステップ511で、[5]キーの入力があったかどうかの判断を行う。[5]キーの入力があれば、ステップ512で、熟語フラグ165eに“1”を格納し、ヒント設定処理を終了する。
ステップ511で、[5]キーの入力がないならば、ステップ513で、[6]キーの入力があったかどうかの判断を行う。[6]キーの入力があれば、ステップ514で、発音記号フラグ165fに“1”を格納し、ヒント設定処理を終了する。
ステップ513で、[6]キーの入力がないならば、ステップ515で、[7]キーの入力があったかどうかの判断を行う。[7]キーの入力があれば、ステップ516で、反対語フラグ165gに“1”を格納し、ヒント設定処理を終了する。
ステップ515で、[7]キーの入力がないならば、ステップ517で、[8]キーの入力があったかどうかの判断を行う。[8]キーの入力があれば、ステップ518で、英和同意語フラグ165hに“1”を格納し、ヒント設定処理を終了する。
ステップ517で、[8]キーの入力がないならば、ステップ519で、[9]キーの入力があったかどうかの判断を行う。[9]キーの入力があれば、ステップ520で、和英同意語フラグ165iに“1”を格納し、ヒント設定処理を終了する。
ステップ519で、[9]キーの入力がないならば、ステップ521で、その他の設定用キーの入力があったかどうかの判断を行う。その他の設定用のキー入力があったならば、ステップ522で、その他のヒント設定用のフラグに“1”を格納し、ヒント設定処理を終了する。これは、ヒント選択肢画面の図32(b)の画面3202上の“[A]同文字数”や“[B]同発音記号”等の[1]〜[9]以外のヒントが選択された場合に、選択されたヒントに対応したフラグに“1”を格納することを意味する。
ステップ521で、その他の設定用キーの入力がないならば、ステップ502のキー待ち状態に戻る。
以上のようにして、ヒント設定フラグの設定が行われ、問題が表示されている状態で、ヒントキーの操作に応じて、設定されたヒント設定フラグに応じたヒント表示処理が実行される。その処理を説明する。図6は、図4のステップ411で、ヒントを表示する処理のフローチャートである。以下に、本発明におけるヒント表示における幾つかの表示例を説明する。
(解答語句の全ての意味をヒントとして表示する処理)
まず、図6のステップ601で意味全部フラグ165aに“1”が格納されているかどうかの判断を行う。意味全部フラグ165aに“1”が格納されているならば、ステップ602で意味データ格納処理を行う。
意味データ格納処理は、図22(b)の画面2202のような、解答語句“enter”の全ての意味を表示する為のヒントデータの格納処理であり、図8のフローチャートに基づいて説明する。
図8は、解答語句と同じ見出し語が持つ意味データを、英和辞書データが記憶されている第1辞書151a上から取り出し、取り出したデータを、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する処理である。
まず、ステップ801で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図22(a)の画面2201のような穴埋め問題の場合は、解答語句“enter”が検索語句記憶部168に格納される。次にステップ802で、検索語句記憶部168と同じ見出し語を、第1辞書151aの検索インデックス154aから検索する。このステップ801からステップ802までの処理が、解答語句と同じ見出し語を辞書データ記憶手段から検索する検索手段となる。
次に、ステップ803で、検索した語句のワードテーブル154b上のデータを取り出し、ワークエリア167のAに格納する。これは、図22(a)の画面2201のように、解答語句として“enter”を持つ穴埋め問題が表示されている場合、図3に示した辞書データにおいて、“enter”が持つワードテーブル154b上のデータ“000452”をワークエリア167のAに格納することになる。
次に、ステップ804で、ステップ803で取り出したワードテーブル154b上のデータの次のデータを、ワークエリア167のBに格納する。これは、図3で示されている辞書データにおいては、検索インデックス154a上で、“enter”の次の見出し語である“enteric”のワードテーブル154b上のデータ“00052A”をワークエリア167のBに格納することになる。
次にステップ805では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、意味のデータ情報番号である“0002”と同じ値であるかどうか判断する。異なる値ならば、ステップ808へ進む。同じ値ならば、ステップ806で、オフセットテーブル154dの“A”番目に記憶しているデータを、ワークエリア167のCに格納する。次に、ステップ807で、ワークエリア167のCに格納されている値を、表示データ記憶部154e上のアドレスとして、そのアドレスが指し示すデータから”区切りコード”までのデータを、第2表示画面記憶部166bへ格納する。第2表示画面記憶部166bに格納された“区切りコード”は、表示時には、“改行”として扱われるものとして、以降の説明を行う。
次に、ステップ808で、ワークエリア167のAに1を加算する。それから、ステップ809でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の全ての意味を、第2表示画面記憶部166bへ格納する処理が終了したことになり、ヒントを表示する為の画面データの作成を終了する。ステップ809で、ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ805に戻る。ここでの805の処理は、ステップ808でワークエリア167のAに1を加算しているため、解答語句と同じ見出し語が有する表示データ記憶部154e上の次のデータが、意味データであるかを判断する処理へと移行する。ステップ805からステップ809の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の全ての意味を取り出し、第2表示画面記憶部166bへ格納することが可能となる。つまり、ステップ805からステップ809の処理が、解説データの一部を抽出する処理手段となる。
ステップ805からステップ809までの処理について、図3と図22にて、具体的に更に詳しく説明する。
検索インデックス154aの200番目の見出し語である“enter”が持つワードテーブル154b上の値は、200番目に格納されており、その値は、“000452”である。“000452”は、“enter”が持つ発音記号、意味、例文、熟語等のデータが、表示データ記憶部154e上の“区切りコード”で区切られたデータの中で、“000452”番目以降に記憶されていることを意味している。また、データ情報テーブル154cにおいては、“000452”番目以降に、“enter”が持つ発音記号、意味、例文、熟語等のデータのデータ情報番号が記憶されている。“enter”の意味データを探す為には、まず、データ情報テーブル154cにおいて、“000452”番目以降に、意味データの情報番号である“0002”が記憶されているかどうか、つまり“enter”の意味データが、データ情報テーブル154c上の“000452”番目以降の何番目に格納されているかを検索する。この検索処理が、図8のステップ805に相当する。
図3では、データ情報テーブル154c上の452番目の“0000”、453番目の“0001”の次の454番目に、“0002”が格納されていることを検索する。更に、オフセットテーブル154dの454番目には、“enter”の意味データの一部である品詞が格納されている表示データ記憶部154e上のアドレスが記憶されており、ステップ806で、オフセットテーブル154dの454番目の値“000925”を、ワークエリア167のCに格納する。ステップ807では、ワークエリア167のCの値“000925”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”までのデータ、つまり、“−動”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。ステップ808では、ワークエリア167のAに1を加算した値、つまり、“000454”に1を加算した“000455”をワークエリア167のAに格納する。ステップ809では、ステップ808で格納したワークエリア167のAの値“000455”が、ワークエリア167のBの値“00052A”と等しいかどうか判断している。ワークエリア167のBの値は、ステップ804で格納されており、“enteric”が持つ発音記号、意味、例文、熟語等のデータが、表示データ記憶部154e上の“区切りコード”で区切られたデータの中で、“00052A”番目のデータ以降に記憶されていることを意味している。
ステップ809は、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”の持つ全てのデータに対して、意味データの取り出し、格納が終了したかどうかの判断を行っている。もし、まだ“enter”の全てのデータの中の意味データの取り出し、格納が終了していなければ、ステップ809からステップ805に戻り、データ情報テーブル154c上の“000454”番目の次のデータである“000455”番目のデータが、意味データであるかどうか、つまりデータ情報テーブル154c上の値が“0002”であるかどうかの判断を行う。ステップ805からステップ809までを繰り返すことにより、解答語句“enter”の持つ全てのデータの中の全ての意味データの取り出しと、その全てのデータの第2表示画面記憶部166bへの格納を行っている。この処理により、図22(b)の画面2202のような、“enter”が持つ全ての意味データを、ヒントとして表示する為の記憶部である第2表示画面記憶部166bに格納している。
図6のステップ602で、上記図8の説明どおりに、解答語句と同じ見出し語が有する全ての意味を第2表示画面記憶部166bに格納後、ステップ607で、第2表示画面記憶部166bに格納されているデータ中に、“遮蔽コード”が存在するかどうかを検索する。ステップ602の意味データ格納処理を実行後は、“遮蔽コード”は、第2表示画面記憶部166bには存在しないので、ステップ610の処理を実行し、第1表示画面記憶部166aの穴埋め問題文と、第2表示画面記憶部166bのヒントを表示する処理を行う。ステップ610の処理により、図22(b)の画面2201の穴埋め問題と、画面2202のようなヒント画面の表示が行われる。
上記のように、解答語句の全ての意味を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、解答語句の全ての意味を知ることができるので、ユーザーは、穴埋め問題による学習を行えると同時に、穴埋め問題の解答語句に関する知識を増やすことができる。また、ヒント表示画面には、解答語句そのものを表示していないため、すぐに解答語句を知ることが出来ないようになっており、ヒントとしての有用性が高く、このヒントにより解答する意欲が高められ、解答語句の意味も合せて学習でき、有益な学習を行える。
(解答語句の一部の意味をヒントとして表示する処理)
解答語句と同じ見出し語が持つ全ての意味をヒントとして表示する処理については、上記に説明したとおりである。このようなヒントでなく、次に、解答語句と同じ見出し語が持つ意味の一部をヒントとして表示する処理を、図6のステップ603以降で、説明する。
ステップ601で、意味全部フラグ165aに“1”が格納されていないならば、ステップ603で、意味削除フラグ165bに“1”が格納されているかどうか判断する。意味削除フラグ165bに“1”が格納されているならば、ステップ604で意味削除データ格納処理を行う。
意味削除データ格納処理は、図23(b)の画面2302のような、解答語句“enter”の全ての意味の中で、穴埋め問題の意味文章中で使用されている“enter”の意味“入る”と同じ意味以外の意味を表示する為のヒントデータの格納処理であり、図9のフローチャートで説明を行う。
図9は、解答語句と同じ見出し語が持つデータを、英和辞書データが記憶されている第1辞書151a上から検索し、検索した意味データの一部を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する処理である。
まず、ステップ901で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図23(a)の画面2301のような穴埋め問題の場合は、解答語句である“enter”が検索語句記憶部168に格納される。次にステップ902で、解答語句データ記憶部158cに格納されている穴埋め問題の意味文章中の解答語句の意味をワークエリア167のEに格納する。図23(a)の画面2301のような穴埋め問題の場合、穴埋め問題の意味文章の中で、解答語句“enter”が持つ意味、つまり、“入る”という文字列が、ワークエリア167のEに格納される。次に、ステップ903で、検索語句記憶部168に格納されている語句と同じ見出し語を、第1辞書151aの検索インデックス154aから検索する。次に、ステップ904で、検索した語句のワードテーブル154b上のデータを取り出し、ワークエリア167のAに格納する。次に、ステップ905で、ステップ904で取り出したワードテーブル154b上のデータの次のデータを、ワークエリア167のBに格納する。ステップ904とステップ905の処理は、図8のステップ803とステップ804と同様の処理であり、図3に示した辞書データにおいて、“enter”が持つワードテーブル154b上のデータ“000452”をワークエリア167のAに格納し、“enter”の次の見出し語である“enteric”のワードテーブル154b上のデータ“00052A”をワークエリア167のBに格納する。
次にステップ906では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、意味のデータ情報番号である“0002”と同じ値であるかどうか判断する。異なる値ならば、ステップ911へ進む。同じ値ならば、ステップ907で、オフセットテーブル154dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ908で、ワークエリア167のCに格納されている値を、表示データ記憶部154e上のアドレスとして、そのアドレスが指し示すデータから”区切りコード”までのデータ中で、Eに格納されている文字列と同じ文字列を検索する。
ワークエリア167のEには、図23(a)の画面2301の穴埋め問題の場合、穴埋め問題の意味文章の中で、解答語句“enter”が持つ意味、つまり、“入る”という文字列が、ステップ902の処理で格納されており、ステップ908では、ワークエリア167のCのアドレスが指すデータから、“区切りコード”までの意味データの中で、“入る”という文字列が存在するかどうかを検索している。
次に、ステップ909で、ステップ908の検索結果として、ワークエリア167のEと同じ文字列があったかどうかの判断を行う。もし、ワークエリア167のEと同じ文字列が存在していればステップ911へ進み、同じ文字列が存在しなければ、ステップ910へ進む。ステップ910で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから”区切りコード”までのデータを第2表示画面記憶部166bへ格納する。
次に、ステップ911で、ワークエリア167のAに1を加算する。それから、ステップ912で、ワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の全ての意味において、穴埋め問題の意味文章中の解答語句の意味と同じ意味以外を第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ステップ912で、ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ906に戻る。ここでの906の処理は、ステップ911でワークエリア167のAに1を加算しているため、解答語句と同じ見出し語が有する表示データ記憶部154e上の次のデータが、意味データであるかを判断する処理へと移行する。ステップ906からステップ912の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の全てのデータにおいて、穴埋め問題文の意味文章中で、解答語句が持つ意味以外の意味を取り出し、第2表示画面記憶部166bへ格納することが可能となる。
図8における解答語句と同じ見出し語が有する全ての意味をヒントとして表示する処理と、図9における解答語句と同じ見出し語が有する意味の一部をヒントとして表示する処理の違いを簡単に説明する。
図8のステップ805からステップ809では、図22(a)の画面2201のような穴埋め問題の場合、解答語句“enter”が持つ表示データ記憶部154e上の全ての意味データを第2表示画面記憶部166bに格納し、図22(b)の画面2202のような、“enter”の全ての意味をヒントとして表示しているが、図9のステップ906からステップ912では、穴埋め問題の意味文章の中で、解答語句“enter”が持つ意味である“入る”という文字列を持つ表示データ記憶部154e上の意味データは、ヒント表示の為の記憶部である第2表示画面記憶部166bには格納しないようにしている。すなわち、“入る”という意味をもつ意味データ以外が、第2表示画面記憶部166bに格納される。
図9のステップ906からステップ912までの処理について、図3と図23にて、具体的に更に詳しく説明する。
ステップ906とステップ907は、図8のステップ805とステップ806と同様の処理であり、図23の穴埋め問題の解答語句“enter”の意味データを探す為に、まず、図3のデータ情報テーブル154cにおいて、“000452”番目以降に、意味データの情報番号である“0002”が記憶されているかどうか、つまり“enter”の意味データが、データ情報テーブル154c上の“000452”番目以降の何番目に格納されているかを検索する。図3では、データ情報テーブル154c上の452番目の“0000”、453番目の“0001”の次の454番目に、“0002”が格納されていることを検索する。更に、オフセットテーブル154dの454番目には、“enter”の意味データが格納されている表示データ記憶部154e上のアドレスが記憶されており、ステップ907で、オフセットテーブル154dの454番目の値“000925”を、ワークエリア167のCに格納する。
ステップ908では、ワークエリア167のCの値“000925”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”の前までのデータ、つまり、“−動”の文字列の中に、Eに格納されている解答語句“enter”の意味である“入る”という文字列が存在するかどうか検索を行う。“−動”の中には、“入る”の文字列は存在しない為、ステップ909からステップ910へ行き、ワークエリア167のCの値“000925”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”までのデータ、つまり、“−動”と“区切りコード”をヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。
ステップ911とステップ912は、図8のステップ808とステップ809と同様の処理であり、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”が持つ全てのデータに関して、ステップ906からステップ910までを繰り返す為の処理である。
ステップ912からステップ906に戻ったときは、ワークエリア167のAの値は“
000455”であり、データ情報テーブル154c上の“000455”番目のデータが、意味データかどうか判断する。図3において、“000455”番目のデータは、意味データなので、ステップ907とステップ908で、“enter”の1つ目の意味データ“−動”の次の意味データ“−他”に、解答語句“enter”の穴埋め問題上での意味“入る”が存在するかどうか検索する処理を行う。2つ目の意味データ“−他”には、解答語句“enter”の穴埋め問題上での意味“入る”が存在しない為、ステップ910で、“−他”と“区切りコード”を第2表示画面記憶部166bに格納する。
それから、ステップ912の判断で、再びステップ906に戻り、データ情報テーブル154上の“000456”番目のデータが、意味データかどうか判断する。図3において、“000456”番目のデータは、意味データなので、ステップ907とステップ908で、“enter”の2つ目の意味データ“−他”の次の意味データ“1.に入る、入り込む、に浮ぶ”の中に、解答語句“enter”の穴埋め問題上での意味“入る”が存在するかどうか検索する処理を行う。3つ目の意味の“1.に入る、入り込む、に浮ぶ”には、解答語句“enter”の穴埋め問題上での意味“入る”が存在するので、“1.に入る、入り込む、に浮ぶ”は第2表示画面記憶部166bに格納せず、ステップ909からステップ911へ行く。
この一連の処理を、“enter”が持つ全ての意味に対して行うと、図23(b)の画面2302で表示しているような“入る”という文字を持った意味データは表示しないヒントデータを、第2表示画面記憶部166bへ格納することになる。
図6に戻り、ステップ604で、上記図9の説明どおりに、穴埋め問題の意味文章中で使用されている解答語句の意味と同じ意味以外の意味を第2表示画面記憶部166bに格納後、ステップ607で、第2表示画面記憶部166bに格納されているデータ中に、“遮蔽コード”が存在するかどうかを検索する。ステップ604の意味削除データ格納処理を実行後は、“遮蔽コード”は、第2表示画面記憶部166bには存在しないので、ステップ610の処理を実行し、第1表示画面記憶部166aの穴埋め問題文と、第2表示画面記憶部166bのヒントを表示する処理を行う。ステップ610の処理により、図23(b)の画面2301の穴埋め問題と、画面2302のようなヒント画面の表示が行われる。
上記のように、解答語句の穴埋め問題文上で使用されている意味を表示せず、それ以外の意味を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、解答語句の穴埋め問題文上で使用されている意味以外とは別の他の意味を知ることができるので、ユーザーは、解答語句に関する知識を増やすことができる。また、ヒント表示画面には、解答語句を表示していないため、先に説明した全ての意味を表示するヒントの場合と同様に、簡単に解答語句を知ることが出来ないようになっている効果は同じである。
さらに、ここで説明した図23(b)の2302で示したようなヒント表示では、穴埋め問題文上で使用されている意味を表示しておらず、穴埋め問題上で使用されている意味とは関係のない意味から解答語句を予測することが必要であり、より難易度の高いヒントとなっており、さらにレベルの高い学習シーンでの利用が可能となり、有益な学習を行える。
(解答語句の一部の意味を遮蔽してヒントとして表示する処理)
解答語句と同じ見出し語が持つ意味の一部をヒントとして表示する処理については、上記に説明した通りだが、このようなヒントでなく、次に、解答語句と同じ見出し語が持つ意味の一部を遮蔽し、ヒントとして表示する処理を、図6のステップ605以降で、説明する。
図6のステップ603で意味削除フラグ165bに“1”が格納されていないならば、ステップ605で意味遮蔽フラグ165cに“1”が格納されているかどうか判断する。意味遮蔽フラグ165cに“1”が格納されているならば、ステップ606で意味遮蔽データ格納処理を行う。
意味遮蔽データ格納処理は、図24(b)の画面2402に示すような、解答語句“enter”の全ての意味の中で、穴埋め問題の意味文章中で使用されている“enter”の意味と同じ意味を遮蔽して表示する為のヒントデータの格納処理であり、図10のフローチャートで説明を行う。
図10は、解答語句と同じ見出し語が持つデータを、英和辞書データが記憶されている第1辞書151a上から検索し、検索した意味データと“遮蔽コード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する処理である。
まず、ステップ1001で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図24(a)の画面2401のような穴埋め問題の場合は、解答語句である“enter”が検索語句記憶部168に格納される。
次に、ステップ1002〜ステップ1008までの処理を実行することになる。この処理は、先に説明した図9のフローチャートにおけるステップ902〜ステップ908の処理と同様の処理が実行される。その処理により、ワークエリア167のEには、図24(a)の画面2401の穴埋め問題の場合、穴埋め問題の意味文章の中で、解答語句“enter”が持つ意味、つまり、“入る”という文字列が、ステップ1002の処理で格納されており、ステップ1008では、ワークエリア167のCのアドレスが指すデータから、“区切りコード”までの意味データの中で、“入る”という文字列が存在するかどうかを検索している。
次に、ステップ1009で、ステップ1008の検索結果として、ワークエリア167のEと同じ文字列があったかどうかの判断を行う。もし、ワークエリア167のEと同じ文字列が存在していればステップ1010へ進み、同じ文字列が存在しなければ、ステップ1014へ進む。ステップ1010で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして扱い、そのアドレスが指す表示データ記憶部154eの先頭から格納されている“数値”と“.”を、第2表示画面記憶部166bに格納する。次にステップ1011においては、ステップ1010で、第2表示画面記憶部166bに格納した“数値”と“.”の次に“遮蔽コード”を格納する。更に、ステップ1012では、ステップ1010で格納した“数値”と“.”以降の表示データ記憶部154e上の意味から、“区切りコード”の前までのデータ“に入る、入り込む、に浮ぶ”を第2表示画面記憶部166bへ格納する。次にステップ1013において、ステップ1012で、第2表示画面記憶部166bに格納した上述のデータの次に“遮蔽コード”と“区切りコード”を格納する。ステップ1013の処理が終了した後は、ステップ1015へ進む。
なお、ステップ1009で、ステップ1008の検索結果として、ワークエリア167のEと同じ文字列がなかったならば、ステップ1014で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”の前までのデータを第2表示画面記憶部166bへ格納する。
次にステップ1015で、ワークエリア167のAの値に1を加算する。それから、ステップ1016で、ワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の全ての意味において、穴埋め問題の意味文章上の解答語句の意味と同じ意味持つ意味データを“遮蔽コード”で挟んで第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ステップ1016で、ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1006に戻り、ステップ1015でワークエリア167のAに1を加算しているため、表示データ記憶部154e上の解答語句と同じ見出し語が有する次のデータが意味であるかを判断する処理へと移行する。ステップ1006からステップ1016の処理を繰り返すことにより、解答語句と同じ見出し語が持つ表示データ記憶部154e内の全ての意味データを第2表示画面記憶部166bに格納する際に、穴埋め問題の意味文章の中の解答語句が持つ意味と同じ文字を持つ意味データを、“遮蔽コード”で挟んで、第2表示画面記憶部166bへ格納することができる。
図9における解答語句と同じ見出し語が有する意味の一部をヒントとして表示する処理と、図10における解答語句と同じ見出し語が有する意味の一部を遮蔽し、ヒントとして表示する処理の違いを簡単に説明する。
図9のステップ906から912では、図23(a)の画面2301のような穴埋め問題の場合、穴埋め問題の意味文章の中で、解答語句“enter”が持つ意味である“入る”という文字列を持つ表示データ記憶部154e上の意味データは、表示しないように、ヒント表示の為の記憶部である第2表示画面記憶部166bには格納しないようにしている。すなわち、“入る”という意味をもつ意味データ以外が、第2表示画面記憶部166bに格納される。しかし、図10の1006から1016では、穴埋め問題の意味文章の中で、解答語句“enter”が持つ意味である“入る”という文字列を持つ表示データ記憶部154e上の意味データは、図24(b)の画面2402のように、黒く塗りつぶされ、遮蔽して表示される。ここで、ヒント画面の一部の意味を見えなくするような遮蔽して表示する方法としては、黒く塗りつぶす以外に、遮蔽する部分の文字を空白や記号で表示したり、文字を見難くする様なモザイクをかけたりすることが考えられる。
図10のステップ1006からステップ1016までの処理について、図3と図24にて、具体的に更に詳細に説明する。
ステップ1006からステップ1008は、図9のステップ906からステップ908と同様の処理であり、図24の穴埋め問題の解答語句“enter”の意味データを探す為に、まず、図3のデータ情報テーブル154cにおいて、“000452”番目以降に、意味データの情報番号である“0002”が格納されているデータを、ステップ1006で検索する。“0002”を検索したならば、ステップ1007とステップ1008で、“0002”を持つデータの表示データ記憶部154e上の意味データを、“区切りコード”まで取り出し、その中に、Eに格納されている解答語句“enter”の意味である“入る”という文字列が存在するかどうか検索を行っている。つまり“enter”の全ての意味データ、“−動”、“−他”、“1.に入る、入り込む、に浮ぶ”等に対して、“入る”という文字が存在するかどうか検索している。
1つ目と2つ目の意味の“−動”と“−他”には、“入る”は存在しないので、ステップ1009からステップ1014に行き、それぞれの意味データを、“区切りコード”まで第2表示画面記憶166bに格納する。これにより、“−動”“区切りコード”と“−他”“区切りコード”が第2表示画面記憶166bに格納される。
3つ目の意味の“1.に入る、入り込む、に浮ぶ”には、“入る”が存在するので、ステップ1009からステップ1010に行き、“1.に入る、入り込む、に浮ぶ”の“1.”を第2表示画面記憶部166bに格納する。次に、ステップ1011では、ステップ1010で格納したデータ“1.”の後に、“遮蔽コード”を第2表示画面記憶部166bに格納する。さらにステップ1012で、“1.に入る、入り込む、に浮ぶ”の意味データ中の“1.”以降の“に入る、入り込む、に浮ぶ”が、第2表示画面記憶部166bに、ステップ1011で格納されたデータに続けて格納される。次のステップ1013では、“遮蔽コード”と“区切りコード”が、第2表示画面記憶部166bに、ステップ1012で格納されたデータに続けて格納される。ステップ1010から1013までの処理で、第2表示画面記憶部166bには、“1.”、“遮蔽コード”、“に入る、入り込む、に浮ぶ”、“遮蔽コード”、“区切りコード”の順でデータが格納される。
1つ目から3つ目の意味データを上記のように第2表示画面記憶部166bに格納することにより、ヒント画面を表示するときは、1つ目と2つ目の意味の“−動”と“−他”はそのままヒント画面に表示され、3つ目の意味の“1.に入る、入り込む、に浮ぶ”は、“遮蔽コード”で挟まれている“に入る、入り込む、に浮ぶ”が、図24(b)の画面2402のように、黒く遮蔽されて表示される。
ステップ1015とステップ1016は、図9のステップ911とステップ912と同様の処理であり、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”が持つ全てのデータに関して、ステップ1006からステップ1014までの処理を繰り返している。このことにより、“enter”の全ての意味データの中で、“入る”を持つ意味データを“遮蔽コード”で挟み、それ以外の意味データは、そのまま第2表示画面記憶部166bに格納する処理を行っている。
図6のステップ606で、上記図10の説明どおりに、穴埋め問題の意味文章中で使用されている解答語句の意味と同じ意味を“遮蔽コード”で挟んだデータを、第2表示画面記憶部166bに格納後、ステップ607で、第2表示画面記憶部166bに格納されているデータ中に、“遮蔽コード”が存在するかどうかを検索する。“遮蔽コード”は、図6のステップ606の意味削除データ格納処理で、第2表示画面記憶部166bに格納されているため、ステップ608からステップ609に行き、第2表示画面記憶部166bの表示を行う。このとき、“遮蔽コード”で挟まれた文字は、図24(b)の画面2402のように遮蔽されて表示される。さらに、ステップ611で、第1表示画面記憶部166aの表示を行い、図24(b)の画面2401に示すような穴埋め問題の表示を行う。
上記のように、解答語句の穴埋め問題文上で使用されている意味を遮蔽して、穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、解答語句の穴埋め問題文上で使用されている意味以外の他の意味を知ることができるので、ユーザーは、解答語句に関する知識を増やすことができる。また、ヒント表示画面には、解答語句を表示していないため、先に説明した全ての意味、及び一部の意味を表示するヒントの場合と同様に、簡単に解答語句を知ることが出来ないようになっている効果は同じである。さらに、ここで説明した図24(b)の画面2402で示すようなヒント表示では、穴埋め問題文上で使用されている意味を遮蔽して見えないようにしており、穴埋め問題上で使用されている意味とは関係のない意味から解答語句を予測することが必要であり、より難易度の高いヒントとなっており、さらにレベルの高い学習シーンでの利用が可能となる。しかも、遮蔽される部分が、問題の解答語句に最も関係する意味であることが理解でき、有益な学習を行える。
(解答語句の例文をヒントとして表示する処理)
解答語句と同じ見出し語が持つ意味の一部を遮蔽してヒントとして表示する処理については、上記に説明した通りだが、このようなヒントでなく、次に、解答語句の例文をヒントとして表示する処理を、以下に説明する。
ステップ605で意味遮蔽フラグ165cに“1”が格納されていないならば、ステップ612のヒント表示処理(2)へ進む。ヒント表示処理(2)は、図7に示すとおりである。
図7は、図6でヒント表示処理を行う際に、意味全部フラグ165a、意味削除フラグ165b、意味遮蔽フラグ165cのいずれにも“1”が設定されていないときのヒントを表示する処理のフローチャートである。
まず、ステップ701で、例文フラグ165dに“1”が格納されているかどうか判断する。例文フラグ165dに“1”が格納されているならば、ステップ702で例文データ格納処理を行う。
例文データ格納処理は、図25(b)の画面2502のように、解答語句“enter”の例文をヒントとして表示するためのヒントデータ格納処理であり、図11のフローチャートで説明を行う。
図11は、例文フラグ165dに“1”が格納され、解答語句の例文をヒントとして表示する設定になっているとき、解答語句と同じ見出し語が持つ表示データ記憶部154e上の例文を、第2表示画面記憶部166bに格納する処理のフローチャートである。
まず、ステップ1101で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図25(a)の画面2501のような穴埋め問題の場合は、解答語句“enter”が検索語句記憶部168に格納される。
次に、ステップ1102〜ステップ1104までの処理を実行することになる。この処理は、先に説明した図8のフローチャートにおけるステップ802〜ステップ804の処理と同様の処理が実行される。その処理により、図3に示した辞書データにおいて、ワークエリア167のAには“000452”が、ワークエリア167のBには“00052A”が格納される。
次に、ステップ1105では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、例文のデータ情報番号である“0003”と同じ値であるかどうか判断する。異なる値ならば、ステップ1110へ進む。同じ値ならば、ステップ1106で、オフセットテーブル154dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1107で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。次に、ステップ1108において、第2表示画面記憶部166bに格納されている解答語句と同じ見出し語が持つ例文の中で、検索語句記憶部168に格納されている解答語句と同じ語句を検索する。次に、ステップ1109では、第2表示画面記憶部166bにおいて、ステップ1108で検索した解答語句と同じ語句の先頭と最後に“空欄コード”を挿入する。これは、解答語句のヒントとしてより適切なものを表示するために、ヒント表示画面中に存在する解答語句を表示しないようにする処理であり、“空欄コード”で挟まれた文字は、図11の例文データ格納処理後の図7のステップ719の処理において、図25(b)の画面2502のヒント表示で示したように、空欄で表示される。
次に、ステップ1110で、ワークエリア167のAに1を加算する。それから、ステップ1111でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の全ての例文を、第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1105に戻り、ステップ1110でワークエリア167のAに1を加算しているため、表示データ記憶部154e上の解答語句と同じ見出し語が有する次のデータが例文であるかを判断する処理へと移行する。ステップ1105からステッ1111の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の全ての例文を取り出し、第2表示画面記憶部166bへ格納することが可能となる。
図11のステップ1105からステップ1111までの処理について、図3と図25にて、具体的に更に詳細に説明する。
図8のステップ805では、解答語句“enter”の意味データを取り出すために、意味データの情報番号である“0002”をデータ情報テーブル154cから検索していたが、図11のステップ1105では、解答語句“enter”の例文データを取り出すために、例文データの情報番号である“0003”をデータ情報テーブル154cから検索している。図3では、“0003”は、データ情報テーブル154cの452番目の“0000”から見て、457番目に格納されていて、そのときのワークエリア167のAの値は、“000457”である。次に、ステップ1106にて、オフセットテーブル154dの“A”番目すなわち457番目の値である“000939”をワークエリア167のCに格納する。更に、ステップ1107で、ワークエリア167のCの値“000939”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”までのデータ、つまり、“enter the dining room from the recreation hall 娯楽室から食堂へ入る”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。次に、ステップ1108では、第2表示画面記憶部166bの“enter the dining room from the recreation hall 娯楽室から食堂へ入る”の中で、検索語句記憶部168に格納されている解答語句の“enter”を検索する。次に、ステップ1109で、ステップ1108での検索結果として、“enter”と同じ語句の先頭と最後に“空欄コード”を挿入する。つまり、第2表示画面記憶部166bには“空欄コード”、“enter”、“空欄コード”、“ the dining room from the recreation hall 娯楽室から食堂へ入る”、“区切りコード”の順でデータが格納される。“enter”を“空欄コード”で挟んだデータを第2表示画面記憶部166bに格納することにより、図25(b)の画面2502の1つ目の例文のような、例文中の解答語句“enter”が空欄文字“_”となっている“____ the dining room from the recreation hal 娯楽室から食堂へ入る”が表示されるようになる。
ステップ1110とステップ1111は、図8のステップ808とステップ809と同様の処理であり、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”が持つ全てのデータに関して、ステップ1105からステップ1109までを繰り返す為の処理である。これにより、図25(b)の画面2502のように、1つ目の例文だけでなく、2つ目の例文についても、“enter” を“空欄コード”で挟んだデータが、“The nursery can be ”、“空欄コード”、“enter”、“空欄コード”、“ed through the living room.子供部屋は居間から入れる。” 、“区切りコード”の順で、第2表示画面記憶部166bに格納される。3つ目以降の“enter”の他の全ての例文についても、例文中の“enter”が“空欄コード”で挟まれた形で、第2表示画面記憶部166bに格納される。
図7に戻り、ステップ702で、上記図11の説明どおりに、解答語句と同じ見出し語が有する全ての例文を、例文中の解答語句を“空欄コード”で挟んだ形式で、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。ステップ702の例文データ格納処理で、“空欄コード”は、例文中の解答語句の前後に存在しているので、ステップ717の“空欄コード”が存在するかどうかの判断で、ステップ719へ行く。ステップ719では、第2表示画面記憶部166bに格納されているデータを表示するが、このとき、“空欄コード”で挟まれた文字については、空欄文字で表示するようにする。ここでの空欄文字とは、“_”として、説明を行う。この処理により、図25(b)の画面2502のように、解答語句“enter”が空欄文字“_”で表示され、“____the dining room from the recreation hal 娯楽室から食堂へ入る”や“The nursery can be ________ed through the living room.子供部屋は居間から入れる。”が表示される。
ステップ719で、第2表示画面記憶部166bの表示が終了すると、ステップ720で、第1表示画面記憶部166aの表示処理を行い、図25(b)の画面2501のような穴埋め問題が、図25(b)の画面2502の上方に表示される。ステップ720の処理後は、穴埋め問題の表示と、解答語句の例文をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
上記のように、解答語句の例文を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、解答語句の文章中での使い方を知る学習を行える。また、ユーザーは、解答語句に関する問題文とは違った他の例文の知識を増やすことができる。また、ヒント表示画面には、解答語句を表示していないため、簡単に解答語句を知ることが出来ないようになっており、ヒントとしての有用性が高く、有益な学習を行える。
(解答語句の熟語をヒントとして表示する処理)
解答語句の例文をヒントとして表示する処理は、上記に説明したとおりだが、このようなヒントでなく、次に、解答語句の熟語をヒントとして表示する際の処理を、図7のステップ703以降で、説明する。
ステップ701で例文フラグ165dに“1”が格納されていないならば、ステップ703で、熟語フラグ165eに“1”が格納されているかどうか判断する。熟語フラグ165eに“1”が格納されているならば、ステップ704で熟語データ格納処理を行う。
熟語データ格納処理は、図26(b)の画面2602のように、解答語句“enter”の熟語をヒントとして表示するためのヒントデータ格納処理であり、図12のフローチャートで説明を行う。
図12は、熟語フラグ165eに“1”が格納され、解答語句の熟語をヒントとして表示する設定になっているとき、解答語句と同じ見出し語が持つ表示データ記憶部154e上の熟語を、第2表示画面記憶部166bに格納する処理のフローチャートである。
まず、ステップ1201で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図26(a)の画面2601のような穴埋め問題の場合は、解答語句“enter”が検索語句記憶部168に格納される。
次に、ステップ1202〜ステップ1204までの処理を実行することになる。この処理は、先に説明した図8のフローチャートにおけるステップ802〜ステップ804の処理と同様の処理が実行される。その処理により、図3に示した辞書データにおいて、ワークエリア167のAには“000452”が、ワークエリア167のBには“00052A”が格納される。
次に、ステップ1205では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、熟語のデータ情報番号である“0004”と同じ値であるかどうか判断する。異なる値ならば、ステップ1210へ進む。同じ値ならば、ステップ1206で、オフセットテーブル154dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1207で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。次に、ステップ1208において、第2表示画面記憶部166bに格納されている解答語句と同じ見出し語が持つ熟語の中で、検索語句記憶部168に格納されている解答語句と同じ語句を検索する。次に、ステップ1209では、第2表示画面記憶部166bにおいて、ステップ1208で検索した解答語句と同じ語句の先頭と最後に“空欄コード”を挿入する。これは、解答語句のヒントとしてより適切なものを表示するために、ヒント表示画面中に存在する解答語句を表示しないようにする処理であり、“空欄コード”で挟まれた文字は、図12の熟語データ格納処理後の図7のステップ719の処理において、図26(b)の画面2602のヒント画面で示したように、空欄で表示される。
次に、ステップ1210で、ワークエリア167のAに1を加算する。それから、ステップ1211でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の全ての熟語を第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1205に戻り、ステップ1210でワークエリア167のAに1を加算しているため、表示データ記憶部154e上の解答語句と同じ見出し語が有する次のデータが熟語であるかを判断する処理へと移行する。ステップ1205からステッ1211の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の全ての熟語を取り出し、第2表示画面記憶部166bへ格納する。
図12のステップ1205からステップ1211までの処理について、図3と図26にて、具体的に更に詳細に説明する。
図11のステップ1105では、解答語句“enter”の例文データを取り出すために、例文データの情報番号である“0003”をデータ情報テーブル154cから検索していたが、図12のステップ1205では、解答語句“enter”の熟語データを取り出すために、熟語データの情報番号である“0004”をデータ情報テーブル154cから検索している。図3では、“0004”は、データ情報テーブル154cの452番目の“0000”から見て、461番目に格納されていて、そのときのワークエリア167のAの値は、“000461”である。次に、ステップ1206にて、オフセットテーブル154dの“A”番目すなわち461番目の値である“0009B0”をワークエリア167のCに格納する。更に、ステップ1207で、ワークエリア167のCの値“0009B0”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”までのデータ、つまり、“enter into <交渉・事業などに>入る、・・・を始める”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。次に、ステップ1208では、第2表示画面記憶部166bの“enter into <交渉・事業などに>入る、・・・を始める”の中で、検索語句記憶部168に格納されている解答語句の“enter”を検索する。次に、ステップ1209で、ステップ1208での検索結果として、“enter”と同じ語句の先頭と最後に“空欄コード”を挿入する。つまり、第2表示画面記憶部166bには“空欄コード”、“enter”、“空欄コード”、“ into <交渉・事業などに>入る、・・・を始める”、“区切りコード”の順でデータが格納される。“enter”を“空欄コード”で挟んだデータを第2表示画面記憶部166bに格納することにより、図26(b)の画面2602の1つ目の熟語のような、熟語中の“enter”が空欄で表示されている“____ into <交渉・事業などに>入る、・・・を始める”が表示されるようになる。
ステップ1210とステップ1211は、解答語句の例文をヒントとして表示するフローチャートである図11のステップ1110とステップ1111と同様の処理であり、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”が持つ全てのデータに関して、ステップ1205からステップ1209までを繰り返す為の処理である。これにより、図26(b)の画面2602のように、1つ目の熟語だけでなく、2つ目の熟語についても、“enter”を“空欄コード”で挟んだデータが、“空欄コード”、“enter”、“空欄コード”、“ on [upon] を開始する、を取り上げる 、・・・の不動産権を得る”、“区切りコード”の順で、第2表示画面記憶部166bに格納される。3つ目以降の“enter”の他の全ての熟語についても、熟語中の“enter”が“空欄コード”で挟まれた形で、第2表示画面記憶部166bに格納される。
図7に戻り、ステップ704で、上記図12の説明どおりに、解答語句と同じ見出し語が有する全ての熟語を、熟語中の解答語句を“空欄コード”で挟んだ形式で、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。ステップ704の熟語データ格納処理で、“空欄コード”は、熟語中の解答語句の前後に存在しているので、ステップ717の“空欄コード”が存在するかどうかの判断で、ステップ719へ行く。ステップ719では、第2表示画面記憶部166bに格納されているデータを表示するが、このとき、“空欄コード”で挟まれた文字については、空欄文字で表示するようにする。ここでの空欄文字とは、“_”として、説明を行う。この処理により、図26(b)の画面2602のように、熟語中の解答語句“enter”が空欄文字“_”となっている“ into <交渉・事業などに>入る、・・・を始める”や“ on [upon] を開始する、を取り上げる 、・・・の不動産権を得る”が表示される。
ステップ719で、第2表示画面記憶部166bの表示が終了すると、ステップ720で、第1表示画面記憶部166aの表示処理を行い、図26(b)の画面2601のような穴埋め問題が、図26(b)の画面2602の上方に表示される。ステップ720の処理後は、穴埋め問題の表示と、解答語句の熟語をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
上記のように、解答語句の熟語を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、問題文に対する解答語句の学習と同時に、解答語句を含む熟語を知ることによる違った学習を行える。つまり、ユーザーは、解答語句に関するその他の知識を増やすことができる。また、ヒント表示画面には、解答語句を表示していないため、簡単に解答語句を知ることが出来ないようになっており、ヒントとしての有用性が高く、有益な学習を行える。
(解答語句の発音記号をヒントとして表示する処理)
解答語句の熟語をヒントとして表示する処理は、上記に説明したとおりだが、このようなヒントでなく、次に、解答語句の発音記号をヒントとして表示する際の処理を、図7のステップ705以降で、説明する。
ステップ703で、熟語フラグ165aに“1”が格納されていないならば、ステップ705で、発音記号フラグ165fに“1”が格納されているかどうか判断する。発音記号フラグ165fに“1”が格納されているならば、ステップ706で発音記号データ格納処理を行う。
発音記号データ格納処理は、図27(b)の画面2702のように、解答語句“enter”の発音記号をヒントとして表示するためのヒントデータ格納処理であり、図13のフローチャートで説明を行う。
図13は、発音記号フラグ165fに“1”が格納され、解答語句が持つ発音記号をヒントとして表示する設定になっているとき、解答語句と同じ見出し語が持つ表示データ記憶部154e上の発音記号を、第2表示画面記憶部166bに格納する処理のフローチャートである。
まず、ステップ1301で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図27(a)の画面2701のような穴埋め問題の場合は、解答語句“fail”が検索語句記憶部168に格納される。次に、ステップ1302で、検索語句記憶部168と同じ見出し語を、第1辞書151aの検索インデックス154aから検索する。次に、ステップ1303で、検索した語句のワードテーブル154b上のデータを取り出し、ワークエリア167のAに格納する。図27(a)の画面2701のように、解答語句として“fail”を持つ穴埋め問題が表示されている場合、“fail”が持つワードテーブル154b上のデータをワークエリア167のAに格納することになる。
次に、ステップ1304で、ステップ1303で取り出したワードテーブル154b上のデータの次のデータをワークエリア167のBに格納する。これは、検索インデックス154a上で、“fail”の次の見出し語のワードテーブル154b上のデータをワークエリア167のBに格納することになる。
図13のステップ1301からステップ1304は、図11のステップ1101からステップ1104までの処理、及び、図12のステップ1201からステップ1204までの処理と同じ処理であり、解答語句と同じ見出し語が持つワードテーブル154b上のデータをワークエリア167のAに、解答語句と同じ見出し語の次の見出し語が持つワードテーブル154b上のデータをワークエリア167のBに格納する処理である。
次にステップ1305では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、発音記号のデータ情報番号である“0001”と同じ値であるかどうか判断する。異なる値ならば、ステップ1308へ進む。同じ値ならば、ステップ1306で、オフセットテーブル154dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1307で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。次に、ステップ1308で、ワークエリア167のAに1を加算する。それから、ステップ1309でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の発音記号を、第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1305に戻り、ステップ1308でワークエリア167のAに1を加算しているため、表示データ記憶部154e上の解答語句と同じ見出し語が有する次のデータが発音記号であるかを判断する処理へと移行する。ステップ1305からステップ1309の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の発音記号を取り出し、第2表示画面記憶部166bへ格納することが可能となる。
図13の1305から1307までの処理で、図27(b)の画面2702のように、解答語句“fail”の発音記号データである“/feil/”が第2表示画面記憶部166bに格納される。
図7に戻り、ステップ706で、上記図13の説明どおりに、解答語句と同じ見出し語が有する全ての発音記号を、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。発音記号をヒントとして表示する場合は、第2表示画面記憶部166bには、“空欄コード”は存在しないので、ステップ718へ進み、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行う。ステップ718の処理により、図27(b)の画面2701に示すような穴埋め問題の表示と、図27(b)の画面2702に示すような解答語句“fail”の発音記号の表示が行われる。
ステップ718で、穴埋め問題の表示と、解答語句の発音記号をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
上記のように、解答語句の発音記号を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、解答語句の発音記号を知る学習を行える。しかも、その発音記号による発音の学習も期待でき、その発音による解答語句の綴りを知る学習にもつながる。そのため、ユーザーは、解答語句に関する多くの知識を増やすことができる。また、ヒント表示画面には、解答語句を表示していないため、簡単に解答語句を知ることが出来ないようになっており、ヒントとしての有用性を高め、有益な学習を行える。
(解答語句の反対語をヒントとして表示する処理)
解答語句の発音記号をヒントとして表示する処理は、上記に説明したとおりだが、このようなヒントでなく、次に、解答語句の反対語をヒントとして表示する際の処理を、図7のステップ707以降で、説明する。
ステップ705で、発音記号フラグ165fに“1”が格納されていないならば、ステップ707で反対語フラグ165gに“1”が格納されているかどうか判断する。反対語フラグ165gに“1”が格納されているならば、ステップ708で、反対語データ格納処理を行う。
反対語データ格納処理は、図28(b)の画面2802のように、解答語句“enter”の反対語をヒントとして表示するためのヒントデータ格納処理であり、図14のフローチャートで説明を行う。
図14は、反対語フラグ165gに“1”が格納され、解答語句が持つ反対語をヒントとして表示する設定になっているとき、解答語句と同じ見出し語が持つ表示データ記憶部154e上の反対語を、第2表示画面記憶部166bに格納する処理のフローチャートである。
まず、ステップ1401で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図28(a)の画面2801のような穴埋め問題の場合は、解答語句“enter”が検索語句記憶部168に格納される。
次に、ステップ1402〜ステップ1404までの処理を実行することになる。この処理は、先に説明した図8のフローチャートにおけるステップ802〜ステップ804の処理と同様の処理が実行される。その処理により、図3に示した辞書データにおいて、ワークエリア167のAには“000452”が、ワークエリア167のBには“00052A”が格納される。
次にステップ1405では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、反対語のデータ情報番号である“0005”と同じ値であるかどうか判断する。異なる値ならば、ステップ1408へ進む。同じ値ならば、ステップ1406で、オフセットテーブル154dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1407で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。
次に、ステップ1408で、ワークエリア167のAに1を加算する。それから、ステップ1409でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の反対語を、第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1405に戻り、ステップ1408でワークエリア167のAに1を加算しているため、表示データ記憶部154e上の解答語句と同じ見出し語が有する次のデータが反対語であるかを判断する処理へと移行する。ステップ1405からステップ1409の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の反対語を取り出し、第2表示画面記憶部166bへ格納することができる。
図14のステップ1405からステップ1409までの処理について、図3と図28にて、具体的に更に詳細に説明する。
図13のステップ1305では、解答語句“enter”の発音記号データを取り出すために、発音記号データの情報番号である“0001”をデータ情報テーブル154cから検索していたが、図14のステップ1405では、解答語句“enter”の反対語データを取り出すために、反対語データの情報番号である“0005”をデータ情報テーブル154cから検索している。
図3では、“0005”は、データ情報テーブル154cの452番目の“0000”から見て、462番目に格納されていて、そのときのワークエリア167のAの値は、“000462”である。次に、ステップ1406にて、オフセットテーブル154dの“A”番目すなわち462番目の値である“0009CF”をワークエリア167のCに格納する。更に、ステップ1407で、ワークエリア167のCの値“0009CF”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”までのデータ、つまり、“[反対語]exit”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。
ステップ1408とステップ1409は、解答語句の熟語をヒントとして表示するフローチャートである図12のステップ1210とステップ1211と同様の処理であり、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”が持つ全てのデータに関して、ステップ1405からステップ1409までを繰り返す為の処理である。これにより、図28(b)の画面2802のように、1つ目の反対語だけでなく、図3のデータ情報テーブル154cの463番目のデータが指している2つ目の反対語についても、“[反対語]leave”と“区切りコード”が、第2表示画面記憶部166bに格納される。3つ目以降の“enter”の他の全ての反対語についても、第2表示画面記憶部166bに格納される。
図7に戻り、ステップ708で、上記図14の説明どおりに、解答語句と同じ見出し語が有する全ての反対語を、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。反対語をヒントとして表示する場合は、第2表示画面記憶部166bには、“空欄コード”は存在しないので、ステップ718へ進み、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行う。ステップ718の処理により、図28(b)の画面2801における穴埋め問題の表示と、図28(b)の画面2802における解答語句“enter”の反対語の表示を行うことができる。
ステップ718で、穴埋め問題の表示と、解答語句の反対語をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
上記のように、解答語句の反対語を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、問題文に対する解答語句の学習を行える。また、解答語句の反対語を知ることができるので、ユーザーは、解答語句に関する知識を増やすことができる。また、ヒント表示画面には、解答語句は含まれていないため、簡単に解答語句を知ることが出来ないようになっており、ヒントとしての有用性が高く、有益な学習を行える。
(解答語句の英和辞書上の同意語をヒントとして表示する処理)
解答語句の反対語をヒントとして表示する処理は、上記に説明したとおりだが、このようなヒントでなく、次に、英和辞書から検索した解答語句の同意語を、ヒントとして表示する際の処理を、図7のステップ709以降で、説明する。
ステップ707で、反対語フラグ165gに“1”が格納されていないならば、ステップ709で英和同意語フラグ165hに“1”が格納されているかどうかの判断を行う。英和同意語フラグ165hに“1”が格納されているならば、ステップ710で、英和同意語データ格納処理を行う。
英和同意語データ格納処理は、図29(b)の画面2902のように、解答語句“enter”の同意語を英和辞書から検索し、その検索した同意語をヒントとして表示するためのヒントデータ格納処理であり、図15のフローチャートで説明を行う。
図15は、英和同意語フラグ165hに“1”が格納され、解答語句が持つ同意語を英和辞書から検索し、その検索した同意語をヒントとして表示する設定になっているとき、解答語句と同じ見出し語が持つ表示データ記憶部154e上の同意語を、第2表示画面記憶部166bに格納する処理のフローチャートである。
まず、ステップ1501で、穴埋め文データ記憶部158aの“空欄コード”で挟まれた解答語句を取り出し、その語句を検索語句記憶部168に格納する。図29(a)の画面2901のような穴埋め問題の場合は、解答語句“enter”が検索語句記憶部168に格納される。
次に、ステップ1502〜ステップ1504までの処理を実行することになる。この処理は、先に説明した図8のフローチャートにおけるステップ802〜ステップ804の処理と同様の処理が実行される。その処理により、図3に示した辞書データにおいて、ワークエリア167のAには“000452”が、ワークエリア167のBには“00052A”が格納される。
次にステップ1505では、データ情報テーブル154cのデータの中で、“A”番目に格納されているデータが、同意語のデータ情報番号である“0006”と同じ値であるかどうか判断する。異なる値ならば、ステップ1508へ進む。同じ値ならば、ステップ1506で、オフセットテーブル154dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1507で、ワークエリア167のCに格納されている値を表示データ記憶部154e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。
次に、ステップ1508で、ワークエリア167のAに1を加算する。それから、ステップ1509でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句と同じ見出し語が有する表示データ記憶部154e上の同意語を、第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1505に戻り、ステップ1508でワークエリア167のAに1を加算しているため、表示データ記憶部154e上の解答語句と同じ見出し語が有する次のデータが同意語であるかを判断する処理へと移行する。ステップ1505からステップ1509の処理を繰り返すことにより、解答語句と同じ見出し語の持つ表示データ記憶部154e内の同意語を取り出し、第2表示画面記憶部166bへ格納することが可能となる。
図15のステップ1505からステップ1509までの処理について、図3と図29にて、具体的に更に詳細に説明する。
図14のステップ1405では、解答語句“enter”の反対語データを取り出すために、反対語データの情報番号である“0005”をデータ情報テーブル154cから検索していたが、図15のステップ1505では、解答語句“enter”の同意語データを取り出すために、同意語データの情報番号である“0006”をデータ情報テーブル154cから検索している。
図3では、“0006”は、データ情報テーブル154cの452番目の“0000”から見て、464番目に格納されていて、そのときのワークエリア167のAの値は、“000464”である。次に、ステップ1506にて、オフセットテーブル154dの“A”番目すなわち464番目の値である“0009D8”をワークエリア167のCに格納する。更に、ステップ1507で、ワークエリア167のCの値“0009D8”のアドレス以降に格納されている表示データ記憶部154e上のデータから、”区切りコード”までのデータ、つまり、“[同意語]join”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。
ステップ1508とステップ1509は、解答語句の反対語をヒントとして表示するフローチャートである図14のステップ1410とステップ1411と同様の処理であり、“enter”の次の見出し語である“enteric”のデータの直前までのデータ、つまり、“enter”が持つ全てのデータに関して、ステップ1505からステップ1509までを繰り返す為の処理である。しかし、図29(a)の画面2901の解答語句”enter“の場合、同意語は、2つ以上なかったので、同意語が1つだけが表示されている。もし、2つ以上同意語が存在する場合は、他の全ての同意語についても、第2表示画面記憶部166bに格納される。
図7に戻り、ステップ710で、上記図15の説明どおりに、解答語句と同じ見出し語が有する全ての同意語を、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。同意語をヒントとして表示する場合は、第2表示画面記憶部166bには、“空欄コード”は存在しないので、ステップ718へ進み、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行う。ステップ718の処理により、図29(b)の画面2901における穴埋め問題の表示と、図29(b)の画面2902における解答語句“enter”の同意語の表示を行うことができる。
ステップ718で、穴埋め問題の表示と、解答語句の同意語をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
上記のように、解答語句の英和辞書上の同意語を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、問題文に対する解答語句の学習と同時に、解答語句の同意語を知る学習になり、ユーザーは、解答語句に関する知識を増やすことができる。また、ヒント表示画面には、解答語句は含まれていないため、簡単に解答語句を知ることが出来ないようになっており、ヒントとしての有用性が高く、有益な学習を行える。
(解答語句の和英辞書上の同意語をヒントとして表示する処理)
解答語句の同意語を英和辞書から検索し、その同意語をヒントとして表示する処理は、上記に説明したとおりだが、このようなヒントでなく、次に、和英辞書から検索した解答語句の同意語を、ヒントとして表示する際の処理を、図7のステップ711以降で説明する。
ステップ709で、英和同意語フラグ165hに“1”が格納されていないならば、ステップ711で和英同意語フラグ165iに“1”が格納されているかどうかの判断を行う。和英同意語フラグ165iに“1”が格納されているならば、ステップ712で、和英同意語データ格納処理を行う。
和英同意語データ格納処理は、図30(b)の画面3002のように、解答語句“enter”の同意語を和英辞書から検索し、その検索した同意語をヒントとして表示するためのヒントデータ格納処理であり、図17のフローチャートで説明を行う。
図17は、和英同意語フラグ165iに“1”が格納され、解答語句が持つ同意語を和英辞書から検索し、その検索した同意語をヒントとして表示する設定になっているとき、解答語句と同じ見出し語が持つ表示データ記憶部154e上の同意語を、第2表示画面記憶部166bに格納する処理のフローチャートである。
図17の説明の前に、和英辞書は、図1のブロック図では、ROM15の辞書データ記憶部151上の第2辞書151bに該当し、その構造を図16に図示しており、まず、図16の和英辞書のデータ構造を説明する。
和英辞書の第2辞書151bは、英和辞書の第1辞書151aと同様の構造を持ち、検索インデックス155a、ワードテーブル155b、データ情報テーブル155c、オフセットテーブル155d、表示データ記憶部155eから構成されている。それぞれの役割は、図2、図3で説明した英和辞書と同様であるが、データ情報テーブル155cのデータ情報番号のみが英和辞書と和英辞書では異なっている。和英辞書の見出し語が検索インデックス155aに格納されているが、その1つ1つの見出し語が持つ英語語句のデータ情報番号として“0010”、例文のデータ情報番号として“0020”が、データ情報テーブル155cに格納されている。
もし、“入る”という見出し語が持つ英語語句を、表示データ記憶部155eから取り出す場合は、以下の手順で処理を行う。まず、“入る”を検索インデックス155aから検索し、検索インデックス155aの900番目に“入る”を見つけ出す。
次に、ワードテーブル155bの900番目のデータ“000540”を取り出す。“000540”は、データ情報テーブル155cとオフセットテーブル155dの“000540”番目以降に、“入る”が持つ全てのデータに関するデータ情報番号と、表示データ記憶部155e上でのアドレスが格納されていることを表している。
英語語句のデータ情報番号は、“0010”であり、データ情報テーブル155cの540番目以降に、“入る”が持つ全てのデータのデータ情報番号が格納されているので、540番目から順番に“0010”を検索する。
データ情報テーブル155cの541番目に“0010”が存在するため、次に、オフセットテーブル155dの500番目のデータ“000712”を取り出す。
オフセットテーブル155dの“000712”は、表示データ記憶部155e上のアドレスを示しており、そのアドレス上のデータから、次の“区切りコード”までを取り出すと、表示データ記憶部155eに格納されている“入る”の1つ目の英語語句である“come in 入る、入ってくる”を取り出すことができる。
更に、2つ目以降の英語語句を取り出すときは、再びデータ情報テーブル155c上で、“0010”を検索し、それに対応したオフセットテーブル155d上のデータを取り出し、そのデータを、表示データ記憶部155e上のアドレスとして扱い、そのアドレスが示す表示データ記憶部155e上のデータを参照すればよい。
以上が、和英辞書のデータ構造を説明したものであり、以下の図17により、和英辞書から同意語を検索し、その検索した同意語をヒントのデータとして格納する処理を説明する。
まず、ステップ1701で、解答語句データ記憶部158cに記憶されている解答語句の意味を検索語句記憶部168に格納する。解答語句データ記憶部158cには、解答語句の穴埋め問題文の意味文章中での意味が格納されている。例えば、図30(a)の画面3001のような穴埋め問題の場合は、解答語句は“enter”であり、“enter”は、穴埋め問題の意味文章“私は母が台所に入るのを見た”の中では、“入る”として使用されているので、解答語句データ記憶部158cには“入る”が格納されているので、ステップ1701では、“入る”が検索語句記憶部168に格納される。
次に、ステップ1702では、検索語句記憶部168と同じ見出し語を、和英辞書である第2辞書151bの検索インデックス155aから検索する。
次に、ステップ1703で、検索した語句のワードテーブル155b上のデータを取り出し、ワークエリア167のAに格納する。図30(a)の画面3001のように、解答語句として“enter”を持つ穴埋め問題が表示されている場合、図16に示した和英辞書データにおいて、解答語句“enter”の意味“入る”が持つワードテーブル155b上のデータ“000549”をワークエリア167のAに格納することになる。
次に、ステップ1704で、ステップ1703で取り出したワードテーブル155b上のデータの次のデータをワークエリア167のBに格納する。これは、図16で示されている和英辞書データにおいては、検索インデックス155a上で、“入る”の次の見出し語である“配列”のワードテーブル155b上のデータ“000569”をワークエリア167のBに格納することになる。
次に、ステップ1705では、検索語句記憶部168の文字を第2表示画面記憶部166bへ格納する。これは、図30(a)の画面3001のような穴埋め問題の場合、解答語句“enter”の意味である“入る”と“区切りコード”が、第2表示画面記憶部166bに格納される。“区切りコード”は、第2表示画面記憶部166bの表示時には、改行として認識されるものとして説明を行う。ステップ1705の処理により、第2表示画面記憶部166bの内容を表示するときは、図30(b)の画面3002のように、ヒント画面1行目の“入る”と、次の行への改行として認識されて表示される。
次に、ステップ1706では、データ情報テーブル155cのデータの中で、“A”番目に格納されているデータが、英語語句のデータ情報番号である“0010”と同じ値であるかどうか判断する。異なる値ならば、ステップ1709へ進む。同じ値ならば、ステップ1707で、オフセットテーブル155dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1708で、ワークエリア167のCに格納されている値を表示データ記憶部155e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。
次に、ステップ1709で、ワークエリア167のAに1を加算する。それから、ステップ1710でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句が持つ意味と同じ見出し語が有する表示データ記憶部155e上の英語語句を、第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1706に戻り、ステップ1709でワークエリア167のAに1を加算しているため、表示データ記憶部155e上の解答語句の意味と同じ見出し語が有する次のデータが、英語語句であるかを判断する処理へと移行する。ステップ1706からステップ1710の処理を繰り返すことにより、解答語句の意味と同じ見出し語の持つ表示データ記憶部155e内の英語語句を取り出し、第2表示画面記憶部166bへ格納することが可能となる。
図17のステップ1706からステップ1710までの処理について、図16と図30にて、さらに具体的に説明する。
図17のステップ1706では、解答語句“enter”の意味である“入る”を見出し語として持つ和英辞書の英語語句を取り出すために、和英辞書上の英語語句データの情報番号である“0010”をデータ情報テーブル155cから検索している。
図16では、“0010”は、データ情報テーブル155cの540番目の“0000”から見て、541番目に格納されていて、そのときのワークエリア167のAの値は、“000541”である。
次に、ステップ1707にて、オフセットテーブル155dの“A”番目すなわち541番目の値である“000712”をワークエリア167のCに格納する。更に、ステップ1708で、ワークエリア167のCの値“000712”のアドレス以降に格納されている表示データ記憶部155e上のデータから、”区切りコード”までのデータ、つまり、“come in 入る、入ってくる”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。
ステップ1709とステップ1710は、和英辞書上において、解答語句“enter”の意味である“入る”の次の見出し語である“配列”のデータの直前までのデータ、つまり、“入る”が持つ全てのデータに関して、ステップ1706からステップ1710までを繰り返す為の処理である。これにより、図30(b)の画面3002のように、“入る”が持つ1つ目の英語語句だけでなく、図16のデータ情報テーブル155cの542番目のデータが指している2つ目の英語語句についても、“join 加入する”と“区切りコード”が、第2表示画面記憶部166bに格納される。更に、ステップ1706からステップ1710を繰り返し、3つ目以降の“入る”が持つ他の全ての英語語句についても、第2表示画面記憶部166bに格納される。
図7に戻り、ステップ712で、上記図17の説明どおりに、解答語句の意味と同じ見出し語が有する全ての英語語句を、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。和英辞書から検索した解答語句の同意語をヒントとして表示する場合は、第2表示画面記憶部166bには、“空欄コード”は存在しないので、ステップ718へ進み、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行う。ステップ718の処理により、図30(b)の画面3001における穴埋め問題の表示と、図30(b)の画面3002における解答語句“enter”の同意語を和英辞書から検索し、その検索した英語語句の表示を行うことができる。
ステップ718で、穴埋め問題の表示と、和英辞書から検索した解答語句の同意語をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
上記のように、解答語句の和英辞書上の同意語を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、解答語句の同意語を知ることができるので、ユーザーは、解答語句に関する知識を増やすことができる。また、図29(b)の2902に示すような解答語句と同じ見出し語が持つ英和辞書上の同意語をヒントとして表示する場合、英和辞書上の同意語は、解答語句と全く同じ意味と同じ用法を有する語句であり、一般的に、英和辞書上での、その同意語の語数は多くない。しかし、上記に説明した図30(b)の3002に示すようなヒントを表示する場合は、解答語句の意味と同じ見出し語が持つ和英辞書上の英語語句を同意語として表示しており、解答語句と同じ意味であっても、異なる用法を持つ語句と、解答語句そのものが、解答語句の候補として、ヒント画面に表示される。そのため、英和辞書上の同意語をヒント表示するより、和英辞書上の同意語をヒント表示したほうが、より多くの語句を解答語句の候補としてヒント表示することができ、様々な解答選択肢の語句の中から解答語句を選択するような学習シーンでのヒントの有用性が高くなる。これにより、さらに有益な学習が期待できる。
(解答語句の同音異義語をヒントとして表示する処理)
解答語句の同意語を和英辞書から検索し、その同意語をヒントとして表示する処理は、上記に説明したとおりだが、このようなヒントでなく、次に、国語辞書から検索した解答語句の同音異義語を、ヒントとして表示する際の処理を、図7のステップ713以降で説明する。
ステップ711で、和英同意語フラグ165iに“1”が格納されていないならば、ステップ713で同音異義語フラグ167aに“1”が格納されているかどうかの判断を行う。同音異義語フラグ167aに“1”が格納されているならば、ステップ714で、同音異義語データ格納処理を行う。
同音異義語データ格納処理は、図31(b)の画面3102のように、解答語句の読み“はかる”の同音異義語を国語辞書から検索し、その検索した同音異義語をヒントとして表示するためのヒントデータ格納処理であり、図19のフローチャートで説明を行う。
図19は、解答語句の読みと同じ読みを持つ同音異義語を国語辞書から検索し、その検索した同音異義語をヒントとして表示させるために、図33(a)の画面3301で示したような、国語に関する穴埋め問題のヒントの種類を決定するヒント選択肢画面において、入力部13における数値キーの[1]キーを押下することにより、同音異義語フラグ167aに“1”が格納されたときに、解答語句の読みと同じ見出し語が持つ表示データ記憶部156e上の漢字語句を、第2表示画面記憶部166bに格納する処理のフローチャートである。
図19の説明の前に、国語辞書は、図1のブロック図では、ROM15の辞書データ記憶部151上の第3辞書151cに該当し、その構造を図18に図示しており、まず、図18の国語辞書のデータ構造を説明する。
国語辞書の第3辞書151cは、英和辞書の第1辞書151aと和英辞書の第2辞書151bと同様の構造を持ち、検索インデックス156a、ワードテーブル156b、データ情報テーブル156c、オフセットテーブル156d、表示データ記憶部156eから構成されている。それぞれの役割は、図2、図3で説明した英和辞書、及び、図16で説明した和英辞書と同様であるが、データ情報テーブル156cのデータ情報番号のみが、英和辞書と和英辞書とは異なっている。国語辞書の見出し語が検索インデックス156aに格納されているが、その1つ1つの見出し語が持つ漢字語句のデータ情報番号として“0100”、意味のデータ情報番号として“0200”が、データ情報テーブル155cに格納されている。
もし、“はかる”という見出し語が持つ漢字語句を、表示データ記憶部156eから取り出す場合は、以下の手順で処理を行う。まず、“はかる”を検索インデックス156aから検索し、検索インデックス156aの2000番目に“はかる”を見つけ出す。
次に、ワードテーブル156bの2000番目のデータ“007130”を取り出す。“007130”は、データ情報テーブル156cとオフセットテーブル156dの“007130”番目以降に、“はかる”が持つ全てのデータに関するデータ情報番号と、表示データ記憶部156e上でのアドレスが格納されていることを表している。
漢字語句のデータ情報番号は、“0100”であり、データ情報テーブル156cの7130番目以降に、“はかる”が持つ全てのデータのデータ情報番号が格納されているので、7130番目から順番に“0100”を検索する。
データ情報テーブル156cの7131番目に“0100”が存在するため、次に、オフセットテーブル156dの7131番目のデータ“010703”を取り出す。
オフセットテーブル156dの“010703”は、表示データ記憶部156e上のアドレスを示しており、そのアドレス上のデータから、次の“区切りコード”までを取り出すと、表示データ記憶部156eに格納されている“はかる”の1つ目の漢字語句である“計る”を取り出すことができる。
更に、2つ目以降の漢字語句を取り出すときは、再びデータ情報テーブル156c上で、“0100”を検索し、それに対応したオフセットテーブル156d上のデータを取り出し、そのデータを、表示データ記憶部156e上のアドレスとして扱い、そのアドレスが示す表示データ記憶部156e上のデータを参照すればよい。
以上が、国語辞書のデータ構造を説明したものであり、以下の図19により、国語辞書から同音異義語を検索し、その検索した同音異義語をヒントのデータとして格納する処理を説明する。
まず、ステップ1901で、解答語句データ記憶部159bに記憶されている解答語句の読みを検索語句記憶部168に格納する。解答語句データ記憶部159bには、解答語句の読みが格納されている。例えば、図31(a)の画面3101のような穴埋め問題の場合は、解答語句は“図る”であり、“図る”の読みである“はかる”が、解答語句データ記憶部159bに格納されているので、ステップ1901では、“はかる”が検索語句記憶部168に格納される。
次に、ステップ1902では、検索語句記憶部168と同じ見出し語を、国語辞書である第3辞書151cの検索インデックス156aから検索する。
次に、ステップ1903で、検索した語句のワードテーブル156b上のデータを取り出し、ワークエリア167のAに格納する。図31(a)の画面3101のように、解答語句“図る”を持つ穴埋め問題が表示されている場合、図18に示した国語辞書データにおいて、解答語句“図る”の読み“はかる”が持つワードテーブル156b上のデータ“007130”をワークエリア167のAに格納することになる。
次に、ステップ1904で、ステップ1903で取り出したワードテーブル156b上のデータの次のデータをワークエリア167のBに格納する。これは、図18で示されている国語辞書データにおいては、検索インデックス156a上で、“はかる”の次の見出し語である“はかん”のワードテーブル156b上のデータ“007141”をワークエリア167のBに格納することになる。
次に、ステップ1705では、検索語句記憶部168の文字を第2表示画面記憶部166bへ格納する。これは、図31(a)の画面3101のような穴埋め問題の場合、解答語句“図る”の読みである“はかる”と“区切りコード”が、第2表示画面記憶部166bに格納される。“区切りコード”は、第2表示画面記憶部166bの表示時には、改行として認識されるものとして説明を行う。ステップ1905の処理により、第2表示画面記憶部166bの内容を表示するときは、図31(b)の画面3102のように、ヒント画面1行目の“はかる”と、次の行への改行として認識されて表示される。
次に、ステップ1906では、データ情報テーブル156cのデータの中で、“A”番目に格納されているデータが、漢字語句のデータ情報番号である“0100”と同じ値であるかどうか判断する。異なる値ならば、ステップ1909へ進む。同じ値ならば、ステップ1907で、オフセットテーブル156dの“A”番目に記憶しているデータをワークエリア167のCに格納する。次に、ステップ1908で、ワークエリア167のCに格納されている値を表示データ記憶部156e上のアドレスとして、そのアドレスの指し示すデータから“区切りコード”までのデータを第2表示画面記憶部166bへ格納する。
次に、ステップ1909で、ワークエリア167のAに1を加算する。それから、ステップ1910でワークエリア167のAの値が、ワークエリア167のBの値と同じであるかどうか判断する。もし、同じならば、穴埋め問題の解答語句が持つ読みと同じ見出し語が有する表示データ記憶部156e上の漢字語句を、第2表示画面記憶部166bへ格納する処理が終了したことになるので、ヒントを表示するための画面データの作成を終了する。ワークエリア167のAの値が、ワークエリア167のBの値と異なるならば、ステップ1906に戻り、ステップ1909でワークエリア167のAに1を加算しているため、表示データ記憶部156e上の解答語句の意味と同じ見出し語が有する次のデータが、漢字語句であるかを判断する処理へと移行する。ステップ1906からステップ1910の処理を繰り返すことにより、解答語句の読みと同じ見出し語の持つ表示データ記憶部156e内の漢字語句を取り出し、第2表示画面記憶部166bへ格納することが可能となる。
図19のステップ1906からステップ1910までの処理について、図18と図31にて、具体的に更に詳細に説明する。
図19のステップ1906では、解答語句の意味である“はかる”を見出し語として持つ国語辞書の漢字語句を取り出すために、国語辞書上の漢字語句データの情報番号である“0100”をデータ情報テーブル156cから検索している。
図16では、“0100”は、データ情報テーブル156cの7130番目の“0000”から見て、7131番目に格納されていて、そのときのワークエリア167のAの値は、“007131”である。
次に、ステップ1907にて、オフセットテーブル156dの“A”番目すなわち7131番目の値である“010703”をワークエリア167のCに格納する。更に、ステップ1908で、ワークエリア167のCの値“010703”のアドレス以降に格納されている表示データ記憶部156e上のデータから、”区切りコード”までのデータ、つまり、“計る”と“区切りコード”を、ヒント表示用の画面記憶部である第2表示画面記憶部166bに格納する。
ステップ1909とステップ1910は、国語辞書上において、解答語句の読みである“はかる”の次の見出し語である“はかん”のデータの直前までのデータ、つまり、“はかる”が持つ全てのデータに関して、ステップ1906からステップ1910までを繰り返す為の処理である。これにより、図31(b)の画面3102のように、“はかる”が持つ1つ目の漢字語句だけでなく、図18のデータ情報テーブル156cの7131番目のデータが指している2つ目の漢字語句についても、“測る”と“区切りコード”が、第2表示画面記憶部166bに格納される。更に、ステップ1906からステップ1910を繰り返し、3つ目以降の“はかる”が持つ他の全ての漢字語句についても、第2表示画面記憶部166bに格納される。
図7に戻り、ステップ714で、上記図19の説明どおりに、解答語句の読みと同じ見出し語が有する全ての漢字語句を、第2表示画面記憶部166bに格納終了後、ステップ716で、第2表示画面記憶部166bに格納されているデータ中に、“空欄コード”が存在するかどうかを検索する。国語辞書から検索した解答語句の読みの漢字語句をヒントとして表示する場合は、第2表示画面記憶部166bには、“空欄コード”は存在しないので、ステップ718へ進み、第1表示画面記憶部166aと第2表示画面記憶部166bの表示を行う。ステップ718の処理により、図31(b)の画面3101における穴埋め問題の表示と、図31(b)の画面3102における、解答語句の読みと同じ見出し語を和英辞書から検索し、その検索した漢字語句の表示を行うことができる。
ステップ718で、穴埋め問題の表示と、国語辞書から検索した解答語句の同音異義語をヒントとして表示する処理が全て終了したので、ヒント表示処理(2)での処理を終了する。
ステップ713で同音異義語フラグ167aに“1”が格納されているかどうかの判断を行い、同音異義語フラグ167aに“1”が格納されていないならば、ステップ715で、その他の処理を行う。これは、図6、図7で説明したヒント用フラグ163以外のフラグが立っている場合の処理であり、それぞれのフラグに見合ったヒントを格納、表示するための処理を行うものである。
上記のように、解答語句の同音異義語を穴埋め問題と同一画面上に表示することにより、穴埋め問題を解答する際のヒントとなるだけでなく、問題に対する解答を行う学習と共に、解答語句の同音異義語を知ることができるので、ユーザーは、解答語句に関する知識を増やすことができる。また、解答語句の同音異義語を解答語句の候補としてヒント表示することができるので、様々な解答選択肢の語句の中から解答語句を選択するような学習シーンでのヒントの有用性が高く、有益な学習を行える。
(ヒント表示、解答表示、ヒント選択肢画面の実施例の説明)
以上は、ヒントデータの格納処理、表示処理及び、穴埋め問題の解答処理を詳細に説明したものであり、以下に、図22〜図31の表示例を本発明の問題文表示、ヒント表示、解答語句表示について説明する。これにより、さらに本発明がより明確になるものと確信する。
まず、図22は、ヒントとして解答語句の全ての意味を表示し、解答を行うときの表示画面である。図22(a)の画面2201では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の画面2201の下に、解答語句の全ての意味をヒントとして表示する(図22(b)の画面2202)。この問題の場合は、解答が“enter”となるので、“enter”の辞書データ上の意味が全て表示されている。“enter”の全ての意味は、画面2202の表示画面内に収まらないので、他の意味があることを示す“↓”で示すシンボルが点灯している。もし、入力部13の[↓]キー等を入力し、画面2202の画面をスクロールすれば、隠れている意味を見ることができる。このスクロール処理は、周知のことであり、その構成をそのまま利用できるため、詳細に説明する必要はない。
次に、[検索/決定]キーを入力すると、穴埋め問題の穴に解答語句を表示した画面2203がヒント表示の画面2202の上方に表示される。これは、先に説明した通りであり、図4によるステップ406、407を経て、ステップ408の処理による。更に、この表示状態で[検索/決定]キーを入力すると、既に、画面2203で、穴埋め問題の穴に解答語句が入り、ヒント画面には、解答語句の全ての意味が表示されていて、画面2201の穴埋め問題に関する情報は、全て表示されているので、次の問題表示を行う(図22(d)の画面2204)。これは、先に説明した通りであり、図4によるステップ406、407、412、414を経て、ステップ402の処理による。
図23は、ヒントとして、解答語句の全ての意味の中で、解答語句の穴埋め問題で使用されている意味以外の意味を表示し、解答を行うときの表示画面である。図23(a)の画面2301では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図24(b)の画面2301の下に、解答語句の一部の意味をヒントとして表示する(図23(b)の画面2302)。ここでは、解答語句“enter”の穴埋め問題中での意味である“入る”を持つ1つ目の意味の“1. に入る、入り込む、に浮ぶ”は表示されず、2つ目の意味の“2. …に加わる、…の一員となる”から表示しているため、図23(b)の画面2302のように2つ目と3つ目の意味が表示される。次に、図23(b)の画面2301と画面2302が表示されているときに、[検索/決定]キーを入力すると、図23(c)の画面2303のように、穴埋め問題の穴に解答語句が表示され、画面2303の下方のヒント表示は変更されずに、解答語句の一部の意味のみの表示の画面2302が表示されている。更に、[検索/決定]キーを入力すると、図23(d)の画面2303の下方に、解答語句の全ての意味が表示された画面2304が表示される。この表示は、図4におけるステップ406、407、412を経て、ステップ413の処理による。
図24は、ヒントとして、解答語句の全ての意味の中で、解答語句の穴埋め問題で使用されている意味を遮蔽して表示し、解答を行うときの表示画面である。図24(a)の画面2401では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図24(b)の画面2401の下に、解答語句の意味を一部遮蔽して表示する(図24(b)の画面2402)。ここでは、解答語句“enter”の穴埋め問題中での意味である“入る”を持つ1つ目の意味の“1. に入る、入り込む、に浮ぶ”を黒く塗りつぶして見えないようにして、2つ目の意味の“2. …に加わる、…の一員となる”から表示している。図24(b)の画面2402の表示では、黒く塗りつぶしているが、ヒント表示のデータの中の“遮蔽コード”で挟まれている部分に対して、他の文字、例えば、白く塗りつぶしたり、絵文字で隠したりすることも可能である。図24(b)の画面2401と画面2402が表示されているときに、[検索/決定]キーを入力すると、図24(c)の画面2403のように、穴埋め問題の穴に解答語句が表示され、画面2403の下方のヒント表示は変更されずに、解答語句の一部の意味が黒く塗りつぶされて、図24(c)の画面2402のように表示されている。更に、[検索/決定]キーを入力すると、図24(d)の画面2403の下方に、解答語句の全ての意味が表示された画面2404が表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図25は、ヒントとして、解答語句の例文を表示し、更に例文中の解答語句を見えないように空欄として表示し、解答を行うときの表示画面である。図25(a)の画面2501では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図25(b)の画面2501の下に、解答語句の例文中の解答語句を見えないように空欄にして表示する(図25(b)の画面2502)。図25(b)の画面2502のように、解答語句を見えないように、穴埋め問題の穴と同じような表示をすることに限らず、例文中の解答語句を黒く塗りつぶしたりして見えないようにする手段も可能である。“enter”の全ての例文は、図25(b)の画面2502内に収まらないので、他の例文があることを示す“↓”シンボルが点灯している。もし、[↓]キー等を入力し、図25(b)の画面2502をスクロールすれば、隠れている例文を見ることができる。図25(b)の画面2501と画面2502が表示されているときに、[検索/決定]キーを入力すると、図25(c)の画面2503のように、穴埋め問題の穴に解答語句が表示され、図25(c)の画面2503の下方のヒント表示は、変更されずに、例文中の解答語句は見えないように空欄にして、図25(c)の画面2502のように表示されている。更に、[検索/決定]キーを入力すると、図25(d)の2503の下方に、解答語句を表示した例文が、図25(d)の画面2504のように表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図26は、ヒントとして、解答語句の熟語を表示し、更に熟語中の解答語句を見えないように空欄として表示し、解答を行うときの表示画面である。図26(a)の画面2601では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図26(b)の画面2601の下に、解答語句の熟語中の解答語句を見えないように空欄にして表示する(図26(b)の画面2602)。図26(b)の画面2602のように、解答語句を見えないように、穴埋め問題の穴と同じような表示をすることに限らず、熟語中の解答語句を黒く塗りつぶしたりして見えないようにする手段も可能である。“enter”の全ての熟語は、図26(b)の画面2602内に収まらないので、他の熟語があることを示す“↓”シンボルが点灯している。もし、[↓]キー等を入力し、図26(b)の画面2602をスクロールすれば、隠れている熟語を見ることができる。図26(b)の画面2601と画面2602が表示されているときに、[検索/決定]キーを入力すると、図26(c)の画面2603のように、穴埋め問題の穴に解答語句が表示され、図26(c)の画面2603の下方のヒント表示は変更されずに、熟語中の解答語句は見えないように空欄にして、図26(c)の画面2602のように表示されている。更に、[検索/決定]キーを入力すると、図26(d)の画面2603の下方に、解答語句を表示した熟語が、図26(d)の画面2604のように表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図27は、ヒントとして解答語句の発音記号を表示し、解答を行うときの表示画面である。図27(a)の画面2701では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図27(b)の画面2701の下に、解答語句の発音記号をヒントとして表示する(図27(b)の画面2702)。次に、[検索/決定]キーを入力すると、穴埋め問題の穴に解答語句を表示した図27(c)の画面2703が、ヒント表示の図27(c)の画面2702の上方に表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図28は、ヒントとして解答語句の反対語を表示し、解答を行うときの表示画面である。図28(a)の画面2801では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図28(b)の画面2801の下に、解答語句の反対語をヒントとして表示する(図28(b)の画面2802)。次に、[検索/決定]キーを入力すると、穴埋め問題の穴に解答語句を表示した図28(c)の画面2803が、ヒント表示の図28(c)の画面2802の上方に表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図29は、解答語句の同意語を英和辞書から検索し、その検索した語句をヒントとして表示し、解答を行うときの表示画面である。図29(a)の画面2901では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図29(b)の画面2901の下に、英和辞書から検索した解答語句の同意語をヒントとして表示する(図29(b)の画面2902)。次に、[検索/決定]キーを入力すると、穴埋め問題の穴に解答語句を表示した図29(c)の画面2903が、ヒント表示の図29(c)の画面2902の上方に表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図30は、解答語句の同意語を和英辞書から検索し、その検索した語句をヒントとして表示し、解答を行うときの表示画面である。図30(a)の画面3001では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図30(b)の画面3001の下に、和英辞書から検索した解答語句の同意語をヒントとして表示する(図30(b)の画面3002)。次に、[検索/決定]キーを入力すると、穴埋め問題の穴に解答語句を表示した図30(c)の画面3003が、ヒント表示の図30(c)の画面3002の上方に表示される。この表示状態で、[検索/決定]キーを入力すると、図22(d)の画面2204と同様に、次の問題表示を行う。
図31は、解答語句の同音異義語をヒントとして表示し、解答を行うときの表示画面である。図31(a)の画面3101では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力すると、穴埋め問題文表示の図31(b)の画面3101の下に、解答語句の同音異義語をヒントとして表示する(図31(b)の画面3102)。次に、[検索/決定]キーを入力すると、穴埋め問題の穴に解答語句を表示した図31(c)の画面3103が、ヒント表示の図31(c)の画面3102の上方に表示される。この表示状態で、[検索/決定]キーを入力すると、次の問題表示を行う。
(ヒント設定)
以上は、ヒント表示画面の表示例の説明であるが、以下に、ヒント選択肢画面の表示例に基づいてヒント設定を行う例についても説明しておく。
図32は、表示するヒントの種類を設定するときの表示画面の一例である。図において、図32(a)の画面3201では、穴埋め問題が表示されている。ここで、[ヒント]キーを入力し、もし、ヒント用フラグ163内のいずれのフラグにも“1”が格納されていない状態、すなわち、表示するヒントの種類が設定されていない場合、ヒント選択肢画面が、図32(b)の画面3202のように表示される。この場合は、英語の穴埋め問題を解答しているときであり、第1教科ヒント164aのヒント用フラグである意味全部フラグ165aから和英同意語フラグ165iのいずれのヒント用フラグにも“1”が格納されていない場合の表示画面である。ヒント選択肢画面の図32(b)の画面3202を表示中に、[1]キーを入力し、ヒントとして解答語句の全ての意味を表示することを意味する“[1]単語意味(全部)”を選択すると、穴埋め問題表示の図32(c)の画面3201の下方に、解答語句の“enter”の全ての意味が、図32(c)の画面3203のように表示される。
図32(c)で表示しているヒントは、1種類だけであるが、図32(b)のヒント選択肢画面において、複数の種類のヒントを設定することも可能である。複数の種類のヒントを設定する方法としては、例えば、図32(b)のヒント選択肢画面において、入力部13の[1]キー押下後、図32(b)の画面には、“[1]単語意味(全部)”が選択されたことを表すために、“[1]単語意味(全部)”が反転表示されたり、“[1]単語意味(全部)”表示の前に、“×”のようなチェックマークが表示された後に、入力部13の[7]キーを押下し、“[7]反対語”が選択されたことを示す反転表示やチェックマークを表示し、その後に、[検索/決定]キーを押下する方法等が考えられる。さらに、前記のように複数のヒントを設定したときは、複数の種類のヒントを同一画面に表示する方法や、ヒントの種類を切り替えることが可能な[切り替え]キー等を設け、押下することにより、表示するヒントの種類を切り替え、順に設定しているヒントを表示する手段等が考えられる。また、図32(b)のヒント選択肢画面は、図32で示したように、ヒントを設定していないときは、自動的に表示されるが、他の種類のヒントに切り替えたいときは、ヒント選択肢画面を表示させるための、例えば入力部13に設けた[ヒントメニュー]キーを押下し、いつでもヒント選択肢画面を表示することも可能である。
なお、本発明の上述したような実施形態による説明では、複数の異なるヒントの中から選択し設定するものとして説明した。しかし、本発明においては、穴埋め問題の穴の解答語句に対するヒントを辞書データ記憶部151より一部を抽出して、これをヒントとして表示する構成である。そのため、上述した複数のヒント例の中で、少なくとも一つのヒントを表示する機能を本発明の学習機能付き電子機器に備えておれば、本発明の目的を達成できることは勿論である。また、本発明は、解説データの一部を抽出する際に、穴埋め問題にかかる解答語句に直接関係する内容、また解答語句そのものを除いて抽出し、ヒントとして表示させている。
また、本発明は、穴埋め問題の解答語句と同じ見出し語を辞書データ記憶部151より検索している。その検索するための手段は、CPU14の制御により穴埋め文データ記憶部158a等に記憶された穴の解答語句を、検索語句記憶部168に記憶し、その記憶内容に基づいて、辞書データ記憶部151より見出し語を検索する処理にかかる構成であり、図8を参照に例示すれば、ステップ801、802による処理に対応する。
さらに、検索された見出し語にかかる意味や、発音記号、また例文、熟語等にかかる内容等からなる解説データの一部を抽出して、ヒントとして表示させるための処理手段は、例えば図8を参照に例示すれば、ステップ803〜809での処理に対応する。特に、CPU14の制御により、検索された見出し語の解説データより一部のデータを抽出するための手段である。
図33は、他の教科の穴埋め問題を解答する場合に、表示するヒントの種類を選択する表示画面である。図33(a)の画面3301では、漢字の穴埋め問題を解答するときに、ヒントとして、解答語句と同じ読みを有する他の語句を表示する“[1]同音異義語”が選択肢として存在する。また、社会の年号の穴埋め問題を解答するときに、ヒントとして、解答語句の年号と同じ年号を有する他の問題を表示する“[1]同年号”が選択肢として存在する(図33(b)の画面3302)。
以上に説明した様々なヒントを表示させるための制御を実行させるためのプログラムは、RAM16のプログラム記憶部153に記憶されている。また、これを記憶する記憶媒体は、CD−ROM、フロッピー(登録商標)ディスク、光磁気ディスク(MO)等の様に情報を磁気的に記録する磁気記録媒体、ROM、メモリカードのようなフラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。