(57)【特許請求の範囲】
【請求項１】
穴埋め問題からなる複数の問題文と各前記問題文の解答語句とを記憶した問題文記憶手段より、問題文データを読み出して、表示手段に表示させる学習機能を備えた電子機器において、
複数の見出し語と、各前記見出し語に対応する解説データとを記憶する辞書データ記憶手段と、
前記電子機器が第１の設定状態にある場合には、前記解説データの内容が前記表示手段に表示される問題文の前記解答語句と所定の関係にある見出し語を前記辞書データ記憶手段から検索し、前記電子機器が前記第１の設定状態とは異なる第２の設定状態にある場合には、前記問題文記憶手段から、前記表示手段に表示される問題文の前記解答語句と同じ語句を解答語句とする他の問題文を検索する検索手段と、
前記検索手段により検索された見出し語または問題文を前記表示手段にヒントとして表示させる表示制御手段とを備えることを特徴とする学習機能付き電子機器。
【請求項２】
前記検索手段は、前記辞書データ記憶手段から、前記解答語句と所定の関係にある見出し語として、前記解答語句の一部と同じ文字を含み、かつ、前記解答語句と同じ文字数からなる見出し語を検索することを特徴とする請求項１に記載の学習機能付き電子機器。
【請求項３】
前記辞書データ記憶手段は、各前記見出し語の発音記号をさらに記憶し、
前記検索手段は、前記辞書データ記憶手段から、前記解答語句と所定の関係にある見出し語として、前記解答語句の発音記号の少なくとも一部と同じ発音記号を有する見出し語を検索することを特徴とする請求項１に記載の学習機能付き電子機器。
【請求項４】
前記辞書データ記憶手段は、各前記見出し語の音声データをさらに記憶し、
前記検索手段により検索した見出し語の音声データを出力する音声出力手段をさらに含む、請求項３に記載の学習機能付き電子機器。
【請求項５】
前記検索手段は、前記辞書データ記憶手段から、前記穴埋め問題文の任意の語句と同じ意味を有する見出し語を検索することを特徴とする請求項１に記載の学習機能付き電子機器。
【請求項６】
外部からの操作を受け付ける入力手段をさらに含み、
前記表示制御手段は、問題文を表示させた後に、前記入力手段に対して操作がなされたことに応じて、前記表示手段に対する表示制御を実行する、請求項１〜請求項５のいずれかに記載の学習機能付き電子機器。
【請求項７】
穴埋め問題からなる複数の問題文を記憶した問題文記憶手段より問題文データを読み出して表示手段に表示させ、複数の見出し語と各前記見出し語に対応する解説データとを記憶する辞書データ記憶手段とプロセッサとを備える電子機器において実行されるヒント表示用プログラムであって、
前記プロセッサに、
前記表示手段に穴埋め問題文を表示させるステップと、
前記電子機器が第１の設定状態にある場合には、前記解説データの内容が前記表示手段に表示される問題文の前記解答語句と所定の関係にある見出し語を前記辞書データ記憶手段から検索し、前記電子機器が前記第１の設定状態とは異なる第２の設定状態にある場合には、前記問題文記憶手段から、前記表示手段に表示される問題文の前記解答語句と同じ語句を解答語句とする他の問題文を検索するステップと、
前記検索された見出し語または問題文を前記表示手段にヒントとして表示させるステップとを実行させる、ヒント表示用プログラム。
【請求項８】
請求項７に記載のヒント表示用プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習機能付き電子機器およびヒント表示用プログラムに関し、特に、穴埋め問題文を提示することのできる機器において、当該穴埋め問題文の解答語句に関するヒントを表示する機能を有する学習機能付き電子機器、ヒント表示用プログラム、および、記録媒体に関する。
【背景技術】
【０００２】
従来から、穴埋め問題文を表示することのできる学習用電子機器に関する技術が、種々、開示されてきた。
【０００３】
たとえば、特許文献１では、語学の学習等に利用される電子学習機において、問題を表示し、さらに、解答語句に類似した綴りの単語を解答選択肢として表示させる技術が開示されている。
【０００４】
また、特許文献２では、学習装置において、問題を表示し、さらに、当該問題の解答語句に関し、所定のキー操作がなされるたびに、１文字ずつ、解答語句を表示させる技術が開示されている。
【０００５】
また、特許文献３には、問題作成装置において、問題文に対して穴埋め問題の穴にヒントを表示させることができる技術が開示されている。
【０００６】
また、特許文献４には、電子辞書において、単語に関する種々の問題を表示し、さらに、問題を音声によって提示する技術が開示されている。
【０００７】
また、特許文献５には、コンピュータを利用した学習システムにおいて、英単語の意味を問う問題を出題する際に、当該英単語を音声で出力したり、当該英単語の発音記号を表示したり、また、当該英単語を構成するアルファベットを表示してユーザにそれらの並べ替えをさせることにより回答させたりする技術が開示されている。
【特許文献１】特開平９−３３００１１号公報
【特許文献２】特開昭６３−２２９４８２号公報
【特許文献３】特開２０００−２６７５５３号公報
【特許文献４】特開平１１−２０２７５１号公報
【特許文献５】特開平８−５０４４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
なお、このような電子機器において、よりユーザの学習意欲を向上させるように構成されることが常に望まれている。
【０００９】
本発明は、上述の問題点を解決するためになされたものであって、よりユーザの学習意欲を向上させるこがができるような態様でヒントを出すことができる学習機能付き電子機器、ヒント表示用プログラムおよび記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明に従った学習機能付き電子機器は、穴埋め問題からなる複数の問題文と各問題文の解答語句とを記憶した問題文記憶手段より、問題文データを読み出して、表示手段に表示させる学習機能を備えた電子機器において、複数の見出し語と、各見出し語に対応する解説データとを記憶する辞書データ記憶手段と、電子機器が第１の設定状態にある場合には、解説データの内容が表示手段に表示される問題文の解答語句と所定の関係にある見出し語を辞書データ記憶手段から検索し、電子機器が第１の設定状態とは異なる第２の設定状態にある場合には、問題文記憶手段から、表示手段に表示される問題文の解答語句と同じ語句を解答語句とする他の問題文を検索する検索手段と、検索手段により検索された見出し語または問題文を表示手段にヒントとして表示させる表示制御手段とを備えることを特徴とする。
【００１１】
また、本発明に従ったヒント表示用プログラムは、穴埋め問題からなる複数の問題文を記憶した問題文記憶手段より問題文データを読み出して表示手段に表示させ、複数の見出し語と各見出し語に対応する解説データとを記憶する辞書データ記憶手段とプロセッサとを備える電子機器において実行されるヒント表示用プログラムであって、プロセッサに、表示手段に穴埋め問題文を表示させるステップと、電子機器が第１の設定状態にある場合には、解説データの内容が表示手段に表示される問題文の解答語句と所定の関係にある見出し語を辞書データ記憶手段から検索し、電子機器が第１の設定状態とは異なる第２の設定状態にある場合には、問題文記憶手段から、表示手段に表示される問題文の解答語句と同じ語句を解答語句とする他の問題文を検索するステップと、検索された見出し語または問題文を表示手段にヒントとして表示させるステップとを実行させることを特徴とする。
【００１２】
また、本発明に従ったプログラムを記録した記録媒体は、上記したヒント表示用プログラムを記録することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、電子機器においてヒント用のデータを改めて持つ必要がなくなる。これにより、電子機器が記憶することを必要とされるデータ量を削減することができる。
【００１４】
また、本発明によれば、ヒントとして表示する内容の中に、解答語句が含まれる場合、解答語句を見えないようにしてヒントの表示を行なうことができる。そして、解答語句を含まないようにヒントが表示されることにより、ヒントとしての有効性を高めることができる。
【００１５】
また、本発明によれば、解答語句と所定の関係にある見出し語がヒントとして表示されるため、ユーザが期待するヒントを表示させることができる。
また、本発明によれば、解答語句と同じ語句を解答語句とする他の問題文がヒントとして表示させることができる。
【発明を実施するための最良の形態】
【００１６】
（本発明の全体構成）
図１は、本発明の学習用電子機器の一実施の形態である電子機器のシステム構成を示すブロック図である。図１において、このシステムは、表示部１１と、入力部１３と、ＣＰＵ（中央演算処理装置）１４と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６とを含む構成である。入力部１３は、文字入力や制御コマンドの入力などを行なうために操作される入力手段であり、ヒントの表示をするための［ヒント］キー、解答を表示させるための［検索／決定］キー、電源キー、カーソルキーなどがこれに含まれる。また、入力手段としては、タッチパネル上で入力するタッチキーやＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のようにキーボード上で入力するキー等が考えられる。
【００１７】
表示部１１は、入力部１３に対してなされたキー操作等に応じて、文字、絵、データ等をＣＰＵ１４の制御により表示する。ＣＰＵ１４は、入力部１３からのキー入力による文字列、制御コマンドのキー操作による入力処理、ＲＯＭ１５に記憶される辞書データや問題データを検索する検索処理、および問題表示画面やヒント画面などを表示部１１に表示させる表示処理、ヒント用の関連情報をＲＡＭ１６に格納する記憶処理などを実行し、電子機器全体の制御を行なう。ＲＯＭ１５は、辞書データ記憶領域１５１、問題データ領域１５２、プログラム領域１５３を有する。
【００１８】
辞書データ記憶部１５１には、ｎ個の辞書データ（第１辞書１５１ａ、・・・、第ｎ辞書１５１ｎ）が記憶される。辞書データとは、英和辞書や和英辞書や広辞苑といった国語辞書の内容を電子化したものである。なお、本実施の形態では、第１辞書１５１ａは、英和辞書のデータであるものとする。第１辞書１５１ａは、検索インデックス１５４ａ、ワードテーブル１５４ｂ、データ情報テーブル１５４ｃ、オフセットテーブル１５４ｄ、および、表示データ記憶部１５４ｅから構成される。また、辞書データ記憶領域１５１内の各辞書データは、それぞれ同様に、検索インデックス、ワードテーブル、データ情報テーブル、オフセットテーブル、および、表示データ記憶部から構成される。
【００１９】
問題データ記憶部１５２には、英語、国語等のｎ個の教科について、教科毎の問題データ（第１教科１５２ａ・・・第ｎ教科１５２ｎ）が記憶されている。本実施の形態では、第１教科１５２ａとして、英語の問題データが記憶されているものとする。なお、問題データは、各教科の、複数の穴埋め問題文に関するデータと、各問題文の解答語句に関するデータを電子化したものである。
【００２０】
第１教科１５２ａは、穴埋め問題の問題文のデータが格納されている穴埋め文データ記憶部１５９ａ、穴埋め問題文の意味が格納されている問題文意味データ記憶部１５９ｂ、解答語句の意味が格納されている解答語句データ記憶部１５９ｃ、解答語句の文字数を記憶する文字数データ記憶部１５９ｄ、および、問題文の文章の音声データを記憶する問題文音声データ１５９ｅから構成されている。なお、問題データ記憶部１５２内に記憶されている各教科の問題データには、少なくとも、穴埋め文データ記憶部、および、解答語句データ記憶部が含まれる。
【００２１】
ここで、辞書データ記憶部１５１の各辞書内の記憶内容の一例として、第１辞書１５１ａの記憶内容を図２を参照して説明する。
【００２２】
図２には、第１辞書１５１ａ内の、検索インデックス１５４ａ、ワードテーブル１５４ｂ、データ情報テーブル１５４ｃ、オフセットテーブル１５４ｄ、および、表示データ記憶部１５４ｅの詳細な構造が示されている。
【００２３】
表示データ記憶部１５４ｅには、英和辞書を構成する全ての内容が格納されている。英和辞書は、見出し語、発音記号、品詞、意味、例文、熟語、同意語、反対語、および、解説等の解説内容という項目を有している。表示データ記憶部１５４ｅでは、各項目に対応するデータは、隣接して記憶される他の内容の区別をつけるために、最後に“区切りコード”を有している。“区切りコード”は、表示データ記憶部１５４ｅ内の他の文字コードと区別をつけることが出来るものならば、何でも良い。また、“区切りコード”は、隣接して記憶される同じ種類のデータ（同じ項目に対応するデータ）の間で区別をつけるために記憶されることも可能であり、その場合は、区別をつけるデータの最後に“区切りコード”が挿入される。“区切りコード”が記憶されていることにより、ある“区切りコード”から次の“区切りコード”までのデータが、容易に、表示データ記憶部１５４ｅから取り出されることが可能となる。これにより、本実施の形態の電子機器では、表示データ記憶部１５４ｅのデータの一部をヒントとして表示する処理の高速化を図ることが可能となる。
【００２４】
図２では、表示データ記憶部１５４ｅにおいて、“ｅｎｔｅｒ”という見出し語が（図２に示された表示部データ記憶部１５４ｅの部分の最上部に）格納されている状態が示されている。その後に“区切りコード”が格納され、次行に“ｅｎｔｅｒ”の発音記号が格納されている。そして、その後に“区切りコード”が格納され、次行に“ｅｎｔｅｒ”の音声データが格納されている。さらに、音声データの最後に“区切りコード”が格納され、次行では、別のデータである“−動”という品詞（動詞）を表すデータが格納されている。そして、“−動”の後にも、“区切りコード”があり、次行には、見出し語“ｅｎｔｅｒ”の１つ目の意味の“に入る、入り込む、に浮ぶ”という文字列が、１つ目を表す“１．”という文字列とともに格納されている。１つ目の意味の後には、“区切りコード”があり、次の３行には、“ｅｎｔｅｒ  ｔｈｅ  ｒｏｏｍ  ｆｒｏｍ  ｔｈｅ  ｒｅｃｒｅａｔｉｏｎ  ｈａｌｌ  娯楽室から食堂に入る”という、見出し語の１つ目の意味での用例とそれに対応する訳文が格納されている。そして、その後に、“区切りコード”が格納されている。そして、その次の２行には、見出し語“ｅｎｔｅｒ”の２つ目の意味の“…に加わる、…の一員となる”という文字列が、２つ目を表す“２．”という文字列とともに格納され、そしてその後には、“区切りコード”が格納されている。そして、その次行には、見出し語“ｅｎｔｅｒ”の３つ目の意味の“を差し込む”という文字列が、３つ目を表す“３．”という文字列とともに格納され、そしてその後には、“区切りコード”が格納されている。そして、その次行には、見出し語“ｅｎｔｅｒ”の４つ目の意味の文字列（図２中では「・・・・・」と記載）が、４つ目を表す“４．”という文字列とともに格納され、そしてその後には、“区切りコード”が格納されている。
【００２５】
その後、数行に渡り、見出し語“ｅｎｔｅｒ”の意味に関する情報が格納されている。
そして、その後の行には、見出し語“ｅｎｔｅｒ”が含まれる熟語である“ｅｎｔｅｒ  ｉｎｔｏ”という文字列と、その意味を表す“＜交渉・事業などに＞入る，・・・を始める”という文字列が格納され、その後に、“区切りコード”が格納されている。その次行には、見出し語“ｅｎｔｅｒ”の反対の意味を有する“ｅｘｉｔ”という単語が、反対語であることをユーザに示すための文字列“［反対語］”とともに格納され、その後には“区切りコード”が格納されている。その次行には、見出し語“ｅｎｔｅｒ”の反対の意味を有する“ｌｅａｖｅ”という単語が、反対語であることをユーザに示すための文字列“［反対語］”とともに格納され、その後には“区切りコード”が格納されている。その次行には、見出し語“ｅｎｔｅｒ”と同じ意味を有する“ｊｏｉｎ”という単語が、同意語であることをユーザに示すための文字列“［同意語］”とともに格納され、その後には“区切りコード”が格納されている。
【００２６】
表示データ記憶部１５４ｅでは、以下同様にして、各見出し語に対応するデータおよび見出し語に関連した情報に対応するデータが、最後に“区切りコード”を有した態様で、記憶されている。表示データ記憶部１５４ｅに記憶された、最後に“区切りコード”を有した各データは、そのデータが存在する表示データ記憶部１５４ｅ上のアドレスを有している。そのアドレスは、オフセットテーブル１５４ｄに、表示データ記憶部１５４ｅの各データの並び順通りに格納されている。
【００２７】
また、表示データ記憶部１５４ｅ上の各データの種類に対応したデータ情報番号が、オフセットテーブル１５４ｄと同様の並び順で、データ情報テーブル１５４ｃに格納されている。たとえば、見出し語に対応したデータ情報番号は“００００”であり、発音記号に対応したデータ情報番号は“０００１”であり、音声データに対応したデータ情報番号は“０００９”であり、品詞または意味に対応したデータ情報番号は“０００２”であり、例文に対応したデータ情報番号は“０００３”であり、熟語に対応したデータ情報番号は“０００４”であり、反対語に対応したデータ情報番号は“０００５”であり、また、同意語に対応したデータ情報番号は“０００６”である。
【００２８】
また、第１辞書１５１ａの検索インデックス１５４ａには、見出し語の文字データがＡＢＣ順で格納されている。ワードテーブル１５４ｂは、各見出し語が、表示データ記憶部１５４ｅ上の“区切りコード”を有した全データ中の何番目のデータに相当するかという情報を、格納している。表示データ記憶部１５４ｅの１つ目のデータを０番目とした場合、例えば、検索インデックス１５４ａの“ｅｎｔｅｒ”という見出し語のデータは、表示データ記憶部１５４ｅでは４５２番目に格納されているため、ワードテーブル１５４ｂには“０００４５２”が格納されている。なお、本実施の形態では、ワードテーブル１５４ｂおよびオフセットテーブル１５４ｄでは、１６進数（０〜９およびＡ〜Ｆで表記する）で、情報が格納されているものとする。
【００２９】
本実施の形態では、後述するように、解答語句と同じ見出し語を有する例文が、ヒントとして表示される場合がある。このような場合には、まず、ＣＰＵ１４は、検索インデックス１５４ａの中から“ｅｎｔｅｒ”を検索する。“ｅｎｔｅｒ”が検索インデックス１５４ａの２００番目だった場合、ワードテーブル１５４ｂの２００番目の値を参照し、“０００４５２”を取り出す。“０００４５２”は、表示データ記憶部１５４ｅの“区切りコード”で区切られたデータ中の４５２番目のデータ以降に“ｅｎｔｅｒ”に関する品詞や意味、その他の解説内容にかかるデータが格納されていることを示している。つまり、データ情報テーブル１５４ｃでは、４５２番目以降に、“ｅｎｔｅｒ”に関係するデータ情報番号が格納されていることになる。そして、ＣＰＵ１４は、データ情報テーブル１５４ｃの４５２番目以降の領域において、例文のデータ情報番号である“０００３”の値が格納されているかどうかの検索を行なう。図２に示された例では、データ情報テーブル１５４ｃで、例文のデータ情報番号“０００３”は４５８番目に格納されている。このことから、ＣＰＵ１４は、４５８番目という検索結果を得る。そして、ＣＰＵ１４は、さらに、オフセットテーブル１５４ｄにおいて、この検索結果と同じ順番で格納されたデータ、つまり、データ情報テーブル１５４ｃの４５８番目のデータ（“０００９６５”）を取り出す。“０００９６５”は、表示データ記憶部１５４ｅ上のアドレス“０００９６５”以降に、“ｅｎｔｅｒ”の例文が格納されていることを意味する。そして、ＣＰＵ１４は、表示データ記憶部１５４ｅ上で、アドレス“０００９６５”から、次の“区切りコード”までのデータを、例文のデータとして、取り出す。以上の次第で、本実施の形態では、“ｅｎｔｅｒ”という単語の例文として、“ｅｎｔｅｒ  ｔｈｅ  ｄｉｎｉｎｇ  ｒｏｏｍ  ｆｒｏｍ  ｔｈｅ  ｒｅｃｒｅａｔｉｏｎ  ｈａｌｌ  娯楽室から食堂へ入る”というデータが取り出されることになる。
【００３０】
上記のような検索を“ｅｎｔｅｒ”が有する全てのデータについて行えば、全ての例文を取り出すことが可能となる。検索を行なう範囲は、“ｅｎｔｅｒ”の次の見出し語“ｅｎｔｅｒｉｃ”のワードテーブル１５４ｂ上の値“０００５２Ａ”の１つ前の５２９番目までである。
【００３１】
つまり、“ｅｎｔｅｒ”が有する全てのデータを検索する際、ＣＰＵ１４は、データ情報テーブル１５４ｃにおける検索するアドレスの範囲を決定する。具体的には、ＣＰＵ１４は、データ情報テーブル１５４ｃにおける検索するアドレスの範囲として、ワードテーブル１５４ｂにおける、検索対象となる見出し語に対応した値を開始アドレスとし、そして、検索対象となる見出し語の次の見出し語に対応した値から１減算した値を最終アドレスとする。
【００３２】
以上説明したように、本実施の形態の辞書データ記憶部１５１における各辞書では、図２に示されたような構造で、データが記憶されている。
【００３３】
たとえば、第１辞書１５１ａの英和辞書では、検索インデックス１５４ａは、辞書データにおける複数の見出し語を格納している。この見出し語は、通常アルファベット順に並べられている。
【００３４】
表示データ記憶部１５４ｅは、辞書データにおける各見出し語に関するデータの全内容を格納していて、見出し語、発音記号、音声、品詞、意味、例文、熟語、解説等の説明内容を格納している。これらの見出し語に関するデータを総称して解説データと呼ぶ。表示データ記憶部１５４ｅの構造は、見出し語、発音記号等の各データには、後で詳細に説明するが、例えば図２を参照にすれば理解できると思うが、データの区別をつけるために、各データの最後に“区切りコード”が設けられている。この“区切りコード”で区切られた各データの表示データ記憶部１５４ｅ上でのアドレスは、“区切りコード”で区切られたデータ順に、オフセットテーブル１５４ｄに格納されている。また、“区切りコード”で区切られた各データは、見出し語や発音記号等のデータ種別に対応した固有のデータ情報番号を有しており、この固有のデータ情報番号は、オフセットテーブル１５４ｄで格納されているデータの並び順と同様に、“区切りコード”で区切られたデータ順に、データ情報テーブル１５４ｃに格納されている。
【００３５】
さらに、ワードテーブル１５４ｂには、検索インデックス１５４ａの各見出し語が、表示データ記憶部１５４ｅ上の“区切りコード”で区切られたデータの何番目に相当するデータであるかという数値情報が格納されている。
【００３６】
以上のように、第１辞書１５１ａが構成されており、辞書データ記憶部１５１に格納されたその他の辞書（第ｎ辞書１５１ｎ等）においても、第１辞書１５１ａと同様の構造を有している。
【００３７】
次に、図３を参照して、問題文意味データ記憶部１５９ｂの記憶内容を説明する。
問題文意味データ記憶部１５９ｂは、穴埋め問題の解答となる解答語句の内容も含めた文全体の意味内容を、問題文毎に記憶している。なお、問題文が記憶される順番は、穴埋め文データ記憶部１５９ａにおける問題文と、解答語句データ記憶部１５９ｃにおける解答語句が記憶される順番と同じ順番となっている。図３では、ｎ番目の問題文について記憶されるデータが、ｎ個目の意味データとして、示されている。なお、本実施の形態では、ｎ番目の問題文は、「私は母が台所に入るのを見た。」であるとする。
【００３８】
ｎ個目の意味データは、まず、何番目の問題文に対応するデータであるかを示す「番号コード」として、「ｎ」という数値データを含む。
【００３９】
また、ｎ個目の意味データでは、問題文中の名詞または動詞が、それぞれ、候補コードを付されて、格納されている。具体的には、「私」「母」「台所」「入る」「見た」という語が、それぞれ、その前に候補コードを付されて、格納されている。
【００４０】
また、候補コードを付された各語は、それぞれ、その後に、検索コード、その原形（名詞ならそのまま、動詞なら原形）、区切りコード、問題文中でその語に付された副詞、そして、区切りコード（問題文の最後にあたる場合には、「区切りコード」の代わりに「終了コード」）を付されている。
【００４１】
次に、穴埋め文データ記憶部１５９ａの記憶内容について、説明する。
穴埋め文データ記憶部１５９ａには、穴埋め問題文に対応するデータが格納されている。穴埋め問題文に対応するデータは、穴埋め問題文の穴に解答語句が格納された形式で構成されていて、その穴埋め問題文中の解答語句の前後に“空欄コード”が挿入されている。つまり、たとえば、問題文が、後述する図１７（Ａ）に示すように、“Ｉ  ｗａｔｃｈｅｄ  ｍｙ  ｍｏｔｈｅｒ  「解答用の空欄」  ｔｈｅ  ｋｉｔｃｈｅｎ．”である場合には、穴埋め問題文に対応するデータは、図２３（Ａ）に示されるように、“Ｉ”、“スペース”、“ｗａｔｃｈｅｄ”、“スペース”、“ｍｙ”、“スペース”、“ｍｏｔｈｅｒ”、“スペース”、“空欄コード”、“ｅｎｔｅｒ”、“空欄コード”、“スペース”、“ｔｈｅ”、“スペース”、“ｋｉｔｃｈｅｎ．”という順番に並んだ文字コードから、構成される。
【００４２】
このように、“空欄コード”が解答語句の前後に存在することにより、本実施の形態の電子機器では、１つの穴埋め問題文のデータを利用することにより、穴埋め問題文を表示することも、解答語句を表示することもできる。つまり、ＣＰＵ１４は、穴埋め問題文を表示する場合には、“空欄コード”で挟まれた部分を空欄として表示し、解答語句を表示する場合には、“空欄コード”で挟まれた部分の文字を表示するように、制御を実行すれば良い。さらに、解答語句に関するヒントを表示させる場合には、ＣＰＵ１４は、穴埋め文データ記憶部１５９ａ上の“空欄コード”を検索し、“空欄コード”で挟まれた語句を取り出すことにより、解答語句を得ることができ、そして、ＣＰＵ１４は、取出した解答語句に基づいて、辞書データから、ヒントとなるデータを抽出することができる。
【００４３】
なお、問題文が表示部１１に表示されている場合には、空欄コードの位置は、入力部１３の［→］キーが操作されるごとに、右方向に移動される。
【００４４】
図２３（Ａ）に示された状態から［→］キーが１回操作されると、図２３（Ｂ）に示されるように、左側にある空欄コードは、１文字分だけ、右方向に移動する。
【００４５】
また、図２３（Ｂ）に示された状態から［→］キーが１回操作されると、図２４（Ａ）に示されるように、左側にある空欄コードは、さらに１文字分だけ、右方向に移動する。
【００４６】
また、図２４（Ａ）に示された状態から［→］キーが２回操作されると、図２４（Ｂ）に示されるように、左側にある空欄コードは、さらに２文字分だけ、右方向に移動する。
【００４７】
また、図２４（Ｂ）に示された状態から［→］キーが１回操作されると、左側にある空欄コードは、右側にある空欄コードと隣接する位置まで移動されることになる。このような場合には、図２４（Ｃ）に示されるように、空欄コードは、消去される。
【００４８】
次に、解答語句データ記憶部１５９ｃの記憶内容について、説明する。
解答語句データ記憶部１５９ｃには、解答語句と同じ見出し語が辞書データ上で持つ複数の意味のうち、穴埋め問題の意味文章中で使用されている意味が格納されている。たとえば、後述する図１７（Ａ）で示される穴埋め問題文のように、解答語句が“ｅｎｔｅｒ”である場合、“ｅｎｔｅｒ”が持つ全ての意味（図２を用いて説明した、１番目、２番目、…の全ての意味）のうち、穴埋め問題文で使用されている“入る”という意味が格納されている。解答語句データ記憶部１５９ｃに、解答語句の意味の中の穴埋め問題文で使用されている解答語句の意味が格納されていることにより、解答語句と同じ見出し語を英和辞書から検索した後、その検索結果として得られた見出し語が持つ意味の中で、解答語句が問題文中で使用されている意味と同じ意味の部分を限定することができ、さらに、表示データ記憶部１５４ｅに記憶されるデータ中のその解答語句に対応するデータについて、種々の加工処理を行なうことができる。
【００４９】
種々の加工処理としては、例えば、解答語句の全ての意味のうち、穴埋め問題文で使用されている意味以外の意味をヒントとして表示したり、全ての意味をヒントとして表示させる際に穴埋め問題文で使用されている意味のみを遮蔽して表示することが可能となる。
【００５０】
以上、ＲＯＭ１５内の辞書データ記憶部１５１および問題データ記憶部１５２の構成について説明したが、ＲＯＭ１５には、本実施の形態の電子機器を制御するためのプログラムを含め、以下に詳細に説明されるような、問題文の表示、表示された問題文の穴埋め部分の解答語句のヒント等の表示、および、解答の表示等の制御を実行するプログラムを記憶している。このプログラムは、プログラム記憶領域１５３に記憶されており、入力処理を行なう入力処理用プログラム１５３ａ、検索処理を行なう検索処理用プログラム１５３ｂ、および、表示処理を行なう表示処理用プログラム１５３ｃを含む。
【００５１】
本発明にかかる穴埋め問題文の表示制御手段は、ＣＰＵ１４、ＲＯＭ１５およびＲＡＭ１６で構成される。本発明では、後述のように、穴埋め問題文の解答に関するヒントを様々な方法で辞書データから作り出し、表示することを特徴とし、ＲＡＭ１６にはこの特徴を実現するために、次のようなデータを記憶する。
【００５２】
ＲＡＭ１６は、ＣＰＵ１４によるヒント表示の制御を実行するために必要となるデータを記憶するワークエリア１６７と、本発明のヒントにかかわる内容を記憶するヒント用フラグ１６３と、検索語句を記憶する検索語句記憶部１６８および表示手段である表示部１１に表示させるデータを記憶する表示用記憶部１６６等を有し、穴埋め問題文の表示、問題のヒント表示、および、ヒント表示にかかる動作設定のためのに利用されるデータを記憶する。
【００５３】
上述したＲＡＭ１６を構成する各要素を以下に説明する。
ヒント用フラグ１６３は、教科ごとに、単数または複数のフラグを含む。第１教科のヒント（第１教科ヒント）１６４ａには、同文字数フラグ１６５ａ、類似発音フラグ１６５ｂ、候補発音フラグ１６５ｃ、および、単語候補フラグ１６５ｄが含まれる。また、第２教科のヒント（第２教科ヒント）１６４ｂには、類似問題文ヒント１６５ｅが含まれる。なお、ここで言う、第１教科、第２教科とは、問題データ記憶部１５２における第１教科等に対応する。本実施の形態では、第２教科は、歴史であるとする。
【００５４】
ヒント用フラグ１６３の各教科のフラグ（上記した同文字数フラグ１６５ａ等）は、穴埋め問題文の様々な種類のヒントの中で、それぞれのヒントを表示するか否かを判断する為、“１”または“０”という値が記憶される。
【００５５】
ＣＰＵ１４は、各フラグの値を参照したときに、“１”が記憶されていれば、そのフラグに対応したヒントを表示し、“０”が記憶されていれば、そのフラグに対応したヒントを表示しないように、制御を実行する。
【００５６】
なお、同文字数フラグ１６５ａは、解答語句と同じ文字数を有する単語をヒントとして表示する場合には、“１”の値を記憶している。
【００５７】
また、類似発音フラグ１６５ｂは、解答語句と類似する発音（たとえば、発音記号の１文字目と最後の文字とが等しい、または、単語の最初の音節と最後の音節が同じ発音）を有する単語を発音記号とともにヒントとして表示する場合には、“１”の値を記憶している。
【００５８】
また、候補発音フラグ１６５ｃは、解答語句と類似する発音（たとえば、最初の音節と最後の音節が同じ発音）を有する単語を発音記号とともにヒントとして表示し、さらに、ヒントとして表示された単語の音声を出力する場合には、“１”の値を記憶している。
【００５９】
また、単語候補フラグ１６５ｄは、問題文の任意の語句と同じ意味を有する単語をヒントとして表示する場合には、“１”の値を記憶している。
【００６０】
また、類似問題文フラグ１６５ｅは、表示している問題文の解答語句と同じ解答語句を有する別の問題文をヒントとして表示する場合には、“１”の値を記憶している。
【００６１】
表示用画面記憶部１６６は、表示部１１に表示するデータを記憶しており、穴埋め問題文を記憶している第１表示画面記憶部１６６ａとヒントを記憶している第２表示画面記憶部１６６ｂから構成されている。ＣＰＵ１４は、このエリアに格納されているデータをもとに、表示部１１に情報を表示させる。後述するように、本実施の形態では、表示部１１において、その全表示領域を１つの領域として扱って表示を行なう場合と、その全表示領域を上部と下部の２つの領域に分けて表示を行なう場合がある。そして、後者の場合、第１表示画面記憶部１６６ａは、主に、上部の表示領域に表示させる情報を記憶し、第２表示画面記憶部１６６ｂは、主に、下部の表示領域に表示させる情報を記憶する。
【００６２】
ワークエリア１６７は、辞書データからデータを取り出し、そのデータを加工し、ヒント画面を作成する際に使用するエリアであり、Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆ、ｎ、ｍ、および、Ｘと称する各領域から構成される。ワークエリア１６７内の各領域は、以下に説明するような処理が実行される際に、適宜、利用される。
【００６３】
さらに、ＲＡＭ１６には、以下に説明する処理において利用される、検索語句記憶部１６８、検索開始フラグ１６１０、ヒントキー回数記憶部１６１１、検索バッファ１６１２、音声データバッファ１６１３、および、発音記号判断情報記憶部１６１４という領域が含まれる。
【００６４】
図４は、本実施の形態の電子機器において、表示部１１に穴埋め問題文が表示された後に、ヒントが表示され、さらに、解答語句が表示されるまでの、制御手順の一例を示したフローチャートである。ここでは、第１教科１５２ａの英語の穴埋め問題文が表示された場合を例として、解答語句が表示される場合を想定し、説明を行なう。
【００６５】
まず、入力部１３に対して、ユーザから、穴埋め問題文を表示するためのキー操作入力が行なわれると、ＣＰＵ１４は、ステップ４０１へ移行する。
【００６６】
（穴埋め問題文の表示制御手順）
ステップ４０１では、ＣＰＵ１４は、ＲＡＭ１６のワークエリア１６７のＸに０を設定する。
【００６７】
次に、ステップ４０２では、ＣＰＵ１４は、第１教科１５２ａの穴埋め文データ記憶部１５９ａに格納されている穴埋め問題文の０番目、すなわち“Ｘ”番目の穴埋め問題文を第１表示画面記憶部１６６ａに格納する。ここでいう、“Ｘ”とは、ワークエリア１６７のＸという領域に格納されている値を意味しており、例えば、本明細書において、単に“Ａ”という表記がなされた場合も、ワークエリア１６７のＡという領域に格納している値を意味している。さらに、第１教科１５２ａの問題文意味データ記憶部１５９ｂに格納されている意味データの０番目、すなわち“Ｘ”番目の意味データも第１表示画面記憶部１６６ａに格納する。最初のステップでは、Ｘには０が設定されているので、先頭の穴埋め問題データと先頭の意味データを第１表示画面記憶部１６６ａに格納することになる。
【００６８】
次に、ステップ４０３では、ＣＰＵ１４は、第１表示画面記憶部１６６ａに格納されている穴埋め問題とその問題の意味を、表示部１１に表示する。なお、ここでは、表示部１１には、１つの表示領域のみが定義されている。また、問題文が英文である場合は、英文の穴埋め問題文と、その英文の意味を表示部１１に表示することになる。
【００６９】
これにより、図１７（Ａ）の画面１７０１に示すような穴埋め問題文と、その問題文の意味が、表示部１１上の１つの画面に表示される。
【００７０】
（問題表示後のヒント表示制御手順）
次に、ステップ４０４で、ＣＰＵ１４は、ヒントキー回数記憶部１６１１に記憶される値として、０をセットする。
【００７１】
次に、ステップ４０５で、キー待ち状態になる。何れかのキーが入力されれば、ＣＰＵ１４は、ステップ４０６に処理を進める。
【００７２】
ステップ４０６では、ＣＰＵ１４は、入力されたキーが［ヒント］キーかどうか判断する。もし、［ヒント］キーが入力されれば、ステップ４１０で、ヒントキー回数記憶部１６１１におけるカウント値を１加算し、更新した後、ステップ４１１に処理を進める。
【００７３】
ステップ４１１では、ＣＰＵ１４は、ヒント用フラグ１６３内のフラグ（同文字数フラグ１６５ａ等）の全てが未設定かどうか判断する。具体的には、第１教科１５２ａの問題文の表示を行なっているときは、第１教科ヒント１６４ａ内のヒントフラグ（同文字数フラグ１６５ａ、類似発音フラグ１６５ｂ、候補発音フラグ１６５ｃ、および、単語候補フラグ１６５ｄ）の何れかが“１”に設定されているかどうかを判断する。そして、対象となる問題教科のヒント用フラグが全て未設定、すなわち何れも“１”でないならば、ステップ４１３でヒント設定処理を行なう。
【００７４】
ヒント設定処理では、「ヒント選択肢画面」を表示させる処理であり、また、表示されたヒント選択肢画面の中からユーザのキー入力に基づいて、表示するヒント内容を決定する処理である。そして、ＣＰＵ１４は、ステップ４１３でのヒント設定処理の後、ステップ４１２で、設定したヒントのヒント表示処理（１）を行ない、ステップ４０５のキー待ち状態に戻る。ステップ４１２のヒント表示処理（１）は、ヒント用フラグ１６３で、“１”に設定されているフラグに対応したヒントを表示する処理であり、そのヒント表示を行なう詳細は、図５を参照して後述する。
【００７５】
一方、ステップ４１１で、ヒント用フラグが設定されていると判断すると、ＣＰＵ１４は、直接ステップ４１２に処理を進め、ヒント表示処理（１）を行なった後、再びステップ４０５のキー待ち状態に戻る。
【００７６】
また、ステップ４０６における［ヒント］キーかどうかの判断で、［ヒント］キーでないと判断した場合は、ＣＰＵ１４は、ステップ４０７で［検索／決定］キーかどうかの判断を行なう。［検索／決定］キーでない場合は、ＣＰＵ１４は、ステップ４１７で、［→］キーかどうかを判断する。そして、ＣＰＵ１４は、［→］キーではないと判断すると、ステップ４１８で、入力されたキーに対応したその他の処理を実行し、［→］キーであると判断した場合は、ステップ４１９で、表示部１１に、現在表示部１１に表示させている問題文の解答語句の全て（のスペル）を表示部１１に表示させているかどうかを判断する。全てを表示させていないと判断すると、ステップ４２０で、後述するような第１表示画面記憶部１６６ａにおける空欄コードを１つ右に移動させた後、ステップ４０５のキー待ち状態に戻る。一方、全てを表示させていると判断すると、そのまま、ステップ４０５のキー待ち状態に戻る。
【００７７】
また、ステップ４０７において［検索／決定］キーであると判断した場合は、ＣＰＵ１４は、ステップ４０８で、穴埋め問題文の穴に解答語句が表示されているかどうかの判断を行なう。なお、以下に、ステップ４０８での穴埋め問題文の穴に解答語句が表示されているかどうかの判断方法を説明する。
【００７８】
表示部１１に表示されている穴埋め問題文の表示データは、第１表示画面記憶部１６６ａに格納されており、穴埋め問題文の穴に解答語句を表示しているときは、第１表示画面記憶部１６６ａのデータ中の解答語句の前後に“空欄コード”が格納されている。表示部１１への表示処理で、“空欄コード”で挟まれた文字は“空欄文字”で表示するため、前記のような解答語句の前後に“空欄コード”が格納されている場合は、表示部１１上では、解答語句は表示されない。この場合は、図１７（Ａ）の画面１７０１に示されるように、解答語句（のすべてのスペル）が表示されていない問題文が表示される。
【００７９】
また、穴埋め問題文の穴に解答語句（のすべてのスペル）が表示されているときは、第１表示画面記憶部１６６ａの解答語句の前後に“空欄コード”は格納されておらず、表示部１１上では、解答語句が表示される。この場合は、図１７（Ｅ）の画面１７０５に示されるように、解答語句（のすべてのスペル）が表示された問題文が表示される。
【００８０】
第１表示画面記憶部１６６ａは、上記の構造を有しており、第１表示画面記憶部１６６ａの中に、“空欄コード”が存在するかどうかを検索することにより、穴埋め問題の穴に解答語句（のすべてのスペル）が表示されているかどうかの判断を行なっている。
【００８１】
ステップ４０８において、穴埋め問題文中の解答語句（のすべてのスペル）が表示されていないと判断すると（つまり、第１表示画面記憶部１６６ａに“空欄コード”が存在すると判断すると）、ＣＰＵ１４は、ステップ４０９で、問題解答処理を行ない、ステップ４０５のキー待ち状態に戻る。
【００８２】
問題解答処理は、穴埋め問題の穴に解答語句（のすべてのスペル）を表示する処理である。
【００８３】
一方、ステップ４０８の判断で、穴埋め問題の穴に解答語句（のすべてのスペル）を表示していると判断すると、ステップ４１４で、ヒント解答フラグ（図１では、図示略）が“１”かどうかの判断を行なう。ヒント解答フラグは、上記したステップ４０９の問題解答処理で“０”または“１”に設定されている。このヒント解答フラグは、穴埋め問題の穴に解答語句が表示されている状態で、更に、ヒント内容の一部が遮蔽または、一部が表示されていない場合には、“０”が設定されており、ヒント内容の全てが表示されている時には、“１”が設定されている。ヒント回答フラグに“０”が設定されている場合、すなわち、ヒントの一部が表示されていない場合に、［検索／決定］キーが入力されたときは、ヒント内容の全てを表示する動作を行ない、“１”が設定されている場合、すなわち、ヒント内容の全てが表示されている場合に、［検索／決定］キーが入力されたときは、次の問題を表示する動作を行う。これらの２つの異なった動作を行なわせるために、ヒント回答フラグは必要になる。
【００８４】
そして、ステップ４１４で、ヒント解答フラグが“１”ならば、ＣＰＵ１４は、ステップ４１６で、次の問題を表示するために、Ｘに１を加算し、ステップ４０５でキー待ち状態に戻る。また、ヒント解答フラグが“０”ならば、ステップ４１５でヒント解答処理を行なった後、ステップ４０５でキー待ち状態に戻る。ヒント解答処理とは、ヒント内容の中に、解答語句が存在し、ヒントとしての価値がなくなることを避けるため、ヒント内の解答語句を遮蔽または削除し、表示しないようにしている時に、［検索／決定］キーを入力すると、ヒント内容中の表示していない解答語句を表示する処理である。なお、ヒント内容の中で表示していない語句は、解答語句に限ったものではなく、前後を“空欄コード”等に挟まれた語句も含むため、ヒント解答処理は、“空欄コード”等で表示させていないデータを全て表示部１１に表示させる処理である。
【００８５】
次に、図５を参照して、ステップ４１２のヒント表示処理（１）の内容を詳細に説明する。
【００８６】
ヒント表示処理（１）では、ＣＰＵ１４は、まず、ステップ５０１で、類似問題文フラグ１６５ｅに“１”が格納されているかどうかを判断する。そして、格納されていると判断するとステップ５０２に処理を進め、格納されていないと判断するとステップ５０３に処理を進める。
【００８７】
ステップ５０３では、ＣＰＵ１４は、ヒント表示処理（２）に処理を移行させる。なお、ヒント表示処理（２）の内容の詳細は、図６を参照して、後述する。
【００８８】
ステップ５０２では、ＣＰＵ１４は、類似問題文データ格納処理を実行した後、ステップ５０４に処理を移行させる。なお、類似問題文データ格納処理の内容の詳細は、図１６を参照して、後述する。
【００８９】
ステップ５０４では、ＣＰＵ１４は、第２表示画面記憶部１６６ｂにおいて、“遮蔽コード”を検索する。遮蔽コードとは、本実施の形態において表示に関して利用されるコードである。具体的には、ＣＰＵ１４は、問題文等に関するデータを表示する際、２つの遮蔽コードで挟まれた間の情報は、文字に対応するマス目が黒塗りにされたような遮蔽文字に置換して、表示する。
【００９０】
次に、ステップ５０５で、ＣＰＵ１４は、第２表示画面記憶部１６６ｂに“遮蔽コード”が格納されているかどうかを判断する。そして、遮蔽コードが格納されていると判断すると、ＣＰＵ１４はステップ５０６に処理を進め、格納されていないと判断すると、ＣＰＵ１４はステップ５０７に処理を進める。
【００９１】
ステップ５０６では、ＣＰＵ１４は、第２表示画面記憶部１６６ｂに格納されている情報を、表示部１１の表示領域中の下部の領域に表示させ、ステップ５０８に処理を進める。なお、この場合、遮蔽コードに挟まれた文字は、遮蔽文字に置換して、表示させる。ステップ５０８では、ＣＰＵ１４は、第１表示画面記憶部１６６ａに格納されている情報を、表示部１１の表示領域中の上部の領域に表示させ、処理を終了させる。
【００９２】
ステップ５０７では、ＣＰＵ１４は、第１表示画面記憶部１６６ａに格納されている情報を、表示部１１の表示領域中の上部の領域に表示させ、また、第２表示画面記憶部１６６ｂに格納されている情報を、表示部１１の表示領域中の下部の領域に表示させて、処理を終了させる。
【００９３】
次に、図６を参照して、ステップ５０３のヒント表示処理（２）の内容を詳細に説明する。
【００９４】
ヒント表示処理（２）では、ＣＰＵ１４は、まず、ステップ６０１で、同文字数フラグ１６５ａに“１”が格納されているかどうか判断する。そして、ＣＰＵ１４は、同文字数フラグ１６５ａに“１”が格納されていると判断すると、ステップ６０２で同文字数データ格納処理（１）を行なった後、ステップ６１１に処理を進め、第１表示画面記憶部１６６ａと第２表示画面記憶部１６６ｂに格納されている情報を、表示部１１に表示させ、全ての処理を終了させる。なお、同文字数データ格納処理（１）の詳細な内容は、図７を参照して、後述する。一方、ＣＰＵ１４は、同文字数フラグ１６５ａに“０”が格納されていると判断すると、ステップ６０３に処理を進める。
【００９５】
ステップ６０３では、ＣＰＵ１４は、類似発音フラグ１６５ｂに“１”が格納されているかどうか判断する。そして、ＣＰＵ１４は、類似発音フラグ１６５ｂに“１”が格納されていると判断すると、ステップ６０４で類似発音データ格納処理を行なった後、ステップ６１１に処理を進める。なお、類似発音データ格納処理の詳細な内容は、図９を参照して、後述する。一方、ＣＰＵ１４は、類似発音フラグ１６５ｂに“０”が格納されていると判断すると、ステップ６０５に処理を進める。
【００９６】
ステップ６０５では、ＣＰＵ１４は、候補発音フラグ１６５ｃに“１”が格納されているかどうか判断する。そして、ＣＰＵ１４は、候補発音フラグ１６５ｃに“１”が格納されていると判断すると、ステップ６０６で候補発音ヒント処理を行なった後、処理を終了させる。なお、候補発音ヒント処理の詳細な内容は、図１０を参照して、後述する。一方、ＣＰＵ１４は、候補発音フラグ１６５ｃに“０”が格納されていると判断すると、ステップ６０７に処理を進める。
【００９７】
ステップ６０７では、ＣＰＵ１４は、単語候補フラグ１６５ｄに“１”が格納されているかどうか判断する。そして、ＣＰＵ１４は、単語候補フラグ１６５ｄに“１”が格納されていると判断すると、ステップ６０８で単語候補データ格納処理を行ない、さらに、ステップ６０９で単語候補データ表示処理を行なった後、処理を終了させる。なお、単語候補データ格納処理の詳細な内容は、図１３を参照して後述し、また、単語候補データ表示処理の詳細な内容は、図１４を参照して後述する。一方、ＣＰＵ１４は、単語候補フラグ１６５ｄに“０”が格納されていると判断すると、ステップ６１０で、その他の処理を実行する。
【００９８】
次に、図７を参照して、ステップ６０２の同文字数データ格納処理（１）の内容について説明する。
【００９９】
同文字数データ格納処理（１）では、ＣＰＵ１４は、まず、ステップ７０１で、穴埋め問題文のデータの中の解答語句を、検索語句記憶部１６８に記憶させる。
【０１００】
次に、ステップ７０２で、ＣＰＵ１４は、第１表示画面記憶部１６６ａの１つ目の空欄コードからその前のスペース文字までの文字数を、ワークエリア１６７の領域Ｅに格納する。
【０１０１】
次に、ステップ７０３で、ＣＰＵ１４は、ワークエリア１６７の領域Ｂに「１」を格納する。
【０１０２】
次に、ステップ７０４で、ＣＰＵ１４は、ワークエリア１６７の領域ｎに「１」を格納する。
【０１０３】
次に、ステップ７０５で、ＣＰＵ１４は、検索開始フラグ１６１０に「１」を格納する。
【０１０４】
次に、ステップ７０６で、ＣＰＵ１４は、第１辞書１５１ａから第ｎ辞書１５１ｎの中の現在対象となっている辞書の検索インデックス１５４ａにおいて、ワークエリア１６７の領域Ｂに格納された数字に対応する順番（つまり、Ｂ番目）に格納された見出し語を、領域Ｄに格納する。
【０１０５】
次に、ステップ７０７で、ＣＰＵ１４は、検索語句記憶部１６８において、ワークエリア１６７の領域ｎに格納された数字に対応する順番（つまり、ｎ番目）に格納された文字が、ワークエリア１６７の領域Ｄにおいてｎ番目に格納された文字と同じであるかどうかを判断する。そして、同じであると判断すると、ステップ７０８に処理を進め、異なると判断すると、ステップ７１４に処理を進める。
【０１０６】
ステップ７０８では、ＣＰＵ１４は、領域ｎに格納された数値と領域Ｅに格納された数値が同じであるかどうかを判断し、同じであると判断するとステップ７０９へ、異なると判断するとステップ７１０へ、それぞれ処理を進める。
【０１０７】
ステップ７１０では、ＣＰＵ１４は、領域ｎに格納させている数を１加算更新して、ステップ７０７に処理を戻す。
【０１０８】
ステップ７０９では、ＣＰＵ１４は、検索開始フラグ１６１０に１を格納して、処理をステップ７１１に進める。
【０１０９】
ステップ７１１では、ＣＰＵ１４は、領域Ｄに格納されている見出し語を、検索バッファ１６１２に格納して、ステップ７１２に処理を進める。
【０１１０】
ステップ７１２では、ＣＰＵ１４は、検索バッファ１６１２の中の、ステップ７１１において見出し語を格納した次の領域に、区切りコードを格納して、ステップ７１３に処理を進める。
【０１１１】
ステップ７１３では、ＣＰＵ１４は、領域ｎに「１」を格納して、ステップ７０７に処理を戻す。
【０１１２】
ステップ７１４では、検索開始フラグ１６１０に「１」が格納されているかどうかを判断し、「１」が格納されていると判断するとステップ７１５へ、「０」が格納されていると判断するとステップ７１７へ、それぞれ処理を進める。
【０１１３】
ステップ７１７では、ＣＰＵ１４は、領域Ｂに格納される数値を１加算更新して、ステップ７０６に処理を戻す。
【０１１４】
ここまでの処理では、具体的には、穴埋め問題の解答語句の一部の文字が表示されている状態で、その一部の文字と同じ文字を持つ見出し語を辞書データの中から検索し、検索した見出し語を検索バッファ１６１２に格納し、更に、格納した見出し語の後に、区切りコードを格納する処理を行っている。この処理は、穴埋め問題の解答語句の中で表示している一部の文字と同じ文字を持つ見出し語が、辞書データから検索できなくなるまで繰り返される。
【０１１５】
ステップ７１５では、穴埋め問題の解答語句の中の表示されている一部の文字と同じ文字を持つ辞書データ上の見出し語の検索、及び検索した見出し語の格納が終了したことを示す終了コードを検索バッファ１６１２の最後に格納している。
【０１１６】
次のステップ７１６では、検索バッファ１６１２に格納されている見出し語の中で、解答語句と同じ文字数を持つ語句を第２表示画面記憶部１６６ｂに格納する処理を行っている。なお、ステップ７１６の同文字数データ格納処理（２）の詳細は、図８を参照して、後述する。
【０１１７】
次に、図８を参照して、ステップ７１６の同文字数データ格納処理（２）の内容について説明する。
【０１１８】
同文字数データ格納処理（２）では、ＣＰＵ１４は、まず、ステップ８０１で、領域ｎに「０」を格納させて、ステップ８０２に処理を進める。
【０１１９】
ステップ８０２では、ＣＰＵ１４は、領域ｍに「１」を格納して、ステップ８０３に処理を進める。
【０１２０】
ステップ８０３では、ＣＰＵ１４は、文字数データ記憶部１５９ｄに格納されている数値（現在表示されている問題文の解答語句の文字数に対応する数値）をワークエリア１６７の領域Ｃに格納して、ステップ８０４に処理を進める。
【０１２１】
ステップ８０４では、ＣＰＵ１４は、検索バッファ１６１２に格納されているデータの中で、領域ｍに格納された数値と領域ｎに格納された数値との和の順番に格納されている文字、つまり、（ｍ＋ｎ）番目の文字が、区切りコードであるかどうかを判断する。そして、区切りコードであると判断するとステップ８０７へ、区切りコードではないと判断するとステップ８０５へ、それぞれ処理を進める。
【０１２２】
ステップ８０５では、ＣＰＵ１４は、検索バッファ１６１２に格納されているデータの中で、（ｍ＋ｎ）番目の文字が終了コードであるかどうかを判断する。そして、終了コードであると判断すると処理を終了させ、終了コードではないと判断するとステップ８０６で領域ｎに格納されている数値を１加算更新してステップ８０４に処理を戻す。
【０１２３】
ステップ８０７では、ＣＰＵ１４は、領域ｎに格納された数値が、領域Ｃに格納された数値と等しいかどうかを判断し、等しいと判断するとステップ８０８へ、等しくないと判断するとステップ８０９へ、それぞれ処理を進める。
【０１２４】
ステップ８０８では、ＣＰＵ１４は、検索バッファ１６１２に格納されているデータのｍ文字目から（ｍ＋ｎ−１）文字目までの語句を、第２表示画面記憶部１６６ｂに格納し、ステップ８０９に処理を進める。なお、ここで、「ｍ」と「ｎ」は、ワークエリア１６７の各領域を示すとともに、各領域に格納された数値をも示している。
【０１２５】
ステップ８０９では、ＣＰＵ１４は、領域ｍに、（ｍ＋ｎ＋１）という数値を格納させ、ステップ８１０に処理を進める。
【０１２６】
ステップ８１０では、領域ｎに格納される情報を「０」に更新して、ステップ８０４に処理を戻す。
【０１２７】
以上に説明した図８の処理により、穴埋め問題の解答語句の一部の表示されている文字と同じ文字を持つ見出し語を格納した検索バッファ１６１２の中から、解答語句と同じ文字数を持つ見出し語が検索され、第２表示画面記憶部１６６ｂに格納される。
【０１２８】
具体的には、同文字数データ格納処理（１）および同文字数データ格納処理（２）の処理内容により、図１７（Ｄ）に示されたように、解答語句（この例では、“ｅｎｔｅｒ”）の一部の表示された文字（この例では、“ｅｎ”）と同じ文字を持ち、さらに、解答語句と同じ文字数を有する語句が、ヒントとして、表示部１１の下部の領域に表示されることになる。
【０１２９】
なお、ここで、図１７（Ａ）から図１７（Ｅ）に示されたような、表示部１１における表示の変化について、説明する。
【０１３０】
本実施の形態の電子機器において、入力部１３に対し、ユーザから、穴埋め問題文を表示するためのキー操作入力が行なわれると、図１７（Ａ）に画面１７０１として示されるように、表示部１１に、穴埋め問題文（“Ｉ  ｗａｔｃｈｅｄ  ｍｙ  ｍｏｔｈｅｒ  空欄  ｔｈｅ  ｋｉｔｃｈｅｎ．”）が、その訳文（「私は母が台所に入るのを見た。」）とともに、表示される。
【０１３１】
この状態で、ユーザから、入力部１３の中の［→］キーに対してキー操作入力がなされると、ステップ４１７、ステップ４１９、および、ステップ４２０（図４参照）の処理によって、表示部１１には、図１７（Ｂ）に画面１７０２として示されるように、空欄に、解答語句の１文字目（“ｅ”）が表示されるようになる。
【０１３２】
さらに、ユーザから、入力部１３の中の［→］キーに対してキー操作入力がなされると、ステップ４１７、ステップ４１９、および、ステップ４２０（図４参照）の処理によって、表示部１１には、図１７（Ｃ）に画面１７０３として示されるように、空欄に、解答語句の１文字目（“ｅ”）および２文字目（“ｎ”）が表示されるようになる。
【０１３３】
この状態で、ユーザから、入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、ステップ４１０、ステップ４１１、および、ステップ４１２（図４参照）の処理によって、表示部１１には、さらに、図１７（Ｄ）に画面１７０４として示されるように、解答語句の一部の表示されている文字（図１７（Ｃ）の画面１７０３に示すような“ｅｎ”）を持ち、さらに、解答語句と同じ文字数を有する見出し語が、解答語句“ｅｎｔｅｒ”とともに、“Ｅｎｏｃｈ”、“ｅｎｒｏｌ（ｅｎｒｏｌｌ）”および“ｅｎｓｕｒ”が、ヒントとして、表示される。つまり、この状態では、表示部１１には、上部の領域に、画面１７０３として穴埋め問題文が表示され、そして、下部の領域に、画面１７０４として解答語句およびヒントが表示される。
【０１３４】
この状態で、ユーザから、入力部１３の中の［検索／決定］キーに対してキー操作入力がなされると、ステップ４０７、ステップ４０８、および、ステップ４０９（図４参照）の処理によって、表示部１１には、図１７（Ｅ）に画面１７０５として示されるように、穴埋め問題文において、解答語句のすべてを表示する画面が表示される。つまり、この状態では、表示部１１には、上部の領域に画面１７０５が表示され、下部の領域に画面１７０３が表示される。
【０１３５】
ここで、図２６を参照して、図８に示した処理（同文字数データ格納処理（２））において、ＣＰＵ１４が、どのように、検索バッファ１６１２に格納されたすべての見出し語から、解答語句と同じ文字数を持つ見出し語を検索するのかについて、説明する。
【０１３６】
図７に示した処理（同文字数データ格納処理（１））の中のステップ７１５が実行されたときには、検索バッファ１６１２には、表示されている解答語句の一部の文字と同じ文字を持つ見出し語が辞書データから検索されて、その検索した見出し語が格納されている。なお、ここで検索バッファ１６１２に記憶されている語句は、“解答語句と同じ文字を持つ見出し語”という観点で検索された語句であり、検索バッファ１６１２には、“解答語句と同じ文字数を持つ見出し語”のみが記憶されているわけではない。そのため、検索バッファ１６１２には、図２６に示されるように、“ｅｎ”で始まる見出し語である、６文字の“ｅｎａｂｌｅ”と５文字の“ｅｎａｃｔ”とが記憶されている。なお、図２６では、検索バッファ１６１２に記憶されている“ｅｎａｂｌｅ”と“ｅｎａｃｔ”という見出し語はそれぞれ枠内に記載されている。そして、図２６では、さらに、各枠に対して領域ｎと領域ｍに格納されている数値に対応する数が、枠外に、それぞれｎとｍとして記載されている。
【０１３７】
上記したように、図８中のステップ８０８の処理によると、図７のステップ７１１の処理によって検索バッファ１６１２に格納された“ｅｎ”で始まる見出し語の中で、解答語句“ｅｎｔｅｒ”と同じ文字数（５文字）を持つ見出し語が、第２表示画面記憶部１６６ｂに記憶される。このステップ８０８の処理を、図２６を参照して説明する。
【０１３８】
検索バッファ１６１２の中には、図７のステップ７１１の処理によって、１つまたは複数の見出し語が格納される。格納されているそれぞれの見出し語は、図２６中に「区」で示されるように、区切りコードで区切られている。検索バッファ１６１２において、ｎとは、各見出し語の文字数を表す数値となっており、ｍとは、各語句の先頭の、検索バッファ１６１２の先頭から各見出し語の先頭までの文字数を表す数値となっている。ＣＰＵ１４は、解答語句“ｅｎｔｅｒ”と同じ文字数かどうかを判断するために、ステップ８０４〜８０６の処理によって、検索バッファ１６１２に格納されている各見出し語の文字数であるｎをカウントし、そして、区切りコードが検索した時点で、ｎのカウントをストップする。次に、ステップ８０７の処理で、領域Ｃに格納されている解答語句の文字数の値と、領域ｎに格納されている見出し語の文字数の値を比較し、同じであるなら、ステップ８０８の処理で、その見出し語を第２表示画面記憶部１６６ｂに格納する。また、ＣＰＵ１４は、検索バッファ１６１２の最後に格納されている終了コードを検出すると、解答語句と同じ文字数を持つ見出し語の検索バッファ１６１２からの抽出を終了させる（ステップ８０５）。このようにして、ＣＰＵ１４は、図７の処理で、検索バッファ１６１２に格納したすべての見出し語から、解答語句と同じ文字数を持つ見出し語を検索するのである。
【０１３９】
次に、図９を参照して、ステップ６０４の類似発音データ格納処理の内容について説明する。
【０１４０】
類似発音データ格納処理では、ＣＰＵ１４は、まずステップ９０１で、穴埋め問題文のデータ内の解答語句を、検索語句記憶部１６８に格納させる。
【０１４１】
次に、ＣＰＵ１４は、ステップ９０２で、解答語句データと同じ見出し語を、現在対象となっている辞書の検索インデックス１５４ａから、検索する。
【０１４２】
次に、ＣＰＵ１４は、ステップ９０３で、ステップ９０２の検索結果である見出し語に対応するワードテーブル１５４ｂ上のデータ（数値）を、ワークエリア１６７の領域Ａに格納させる。
【０１４３】
次に、ＣＰＵ１４は、ステップ９０４で、データ情報テーブル１５４ｃの、“Ａ”番目に格納されている数値が、発音記号に対応する“０００１”であるかどうかを判断する。そして、“０００１”であると判断するとステップ９０５へ、そうではないと判断するとステップ９０７へ、それぞれ処理を進める。
【０１４４】
ステップ９０７では、ＣＰＵ１４は、領域Ａに格納される値を１加算更新して、ステップ９０４に処理を戻す。
【０１４５】
ステップ９０５では、ＣＰＵ１４は、オフセットテーブル１５４ｄの、“Ａ”番目に格納されている数値を検索し、そして、検索結果のデータに対応する表示データ記憶部１５４ｅ中のデータを、領域Ｂに格納させる。つまり、このとき、領域Ｂには、解答語句の発音記号が、格納されることになる。
【０１４６】
次に、ＣＰＵ１４は、ステップ９０６で、領域ｎに“０”を格納させ、ステップ９０８に処理を進める。
【０１４７】
ステップ９０８では、ＣＰＵ１４は、この時点での領域ｎに格納されている値に対応する順番で、ワードテーブル１５４ｂ中に格納されている値を、領域Ｃに格納させた後、ステップ９０９に処理を進める。つまり、たとえば、領域ｎに“０”が格納されている場合には、ステップ９０８では、ワードテーブル１５４ｂ中の０番目に（つまり、先頭に）格納されている値が、領域Ｃに格納される。
【０１４８】
ステップ９０９では、ＣＰＵ１４は、領域Ｃに格納されている値が、終了コードであるかどうかを判断する。そして、終了コードであると判断すると、類似発音データ格納処理を終了させ、また、終了コードではないと判断すると、ステップ９１０に処理を進める。
【０１４９】
ステップ９１０では、ＣＰＵ１４は、この時点での領域Ｃに格納されている値に対応する順番で、オフセットテーブル１５４ｄ中に格納されている値を取り出し、そして、表示データ記憶部１５４ｅにおいて、当該取り出された値に対応した順番で格納されているデータを、領域Ｄに格納する。この場合、領域Ｄには、解答語句の見出し語のデータが格納されることになる。
【０１５０】
次に、ＣＰＵ１４は、ステップ９１１で、領域Ｃに格納されている値を１加算更新して、ステップ９１２に処理を進める。
【０１５１】
ステップ９１２では、ＣＰＵ１４は、この時点での領域Ｃに格納されている値に対応する順番で、オフセットテーブル１５４ｄ中に格納されている値を取り出し、そして、表示データ記憶部１５４ｅにおいて、当該取り出された値に対応した順番で格納されているデータを、領域Ｅに格納する。この場合、領域Ｅには、解答語句の発音記号のデータが格納されることになる。
【０１５２】
次に、ＣＰＵ１４は、ステップ９１３で、データ情報テーブル１５４ｃの、“Ｃ”番目に格納されている数値が、発音記号に対応する“０００１”であるかどうかを判断する。そして、“０００１”であると判断するとステップ９１４へ処理を進め、そうではないと判断するとステップ９１１に処理を戻す。
【０１５３】
そして、ＣＰＵ１４は、ステップ９１４で、領域Ｂに格納された発音記号と、領域Ｅに格納された発音記号の比較を行なった後、ステップ９１５で、比較の結果が、類似しているかどうかを判断する。そして、比較の結果が、「類似している」であればステップ９１６へ、また、「類似していない」であればステップ９１８へ、それぞれ処理を進める。なお、ステップ９１４における比較の処理内容の詳細は、図２５を参照して後述する。
【０１５４】
ステップ９１６では、ＣＰＵ１４は、領域Ｄに格納されている文字（見出し語に対応する文字）と、“発音：”という文字と、領域Ｅに格納されている文字（発音記号に対応する文字）とに対応するデータを、第２表示画面記憶部１６６ｂに格納させる。
【０１５５】
次に、ＣＰＵ１４は、ステップ９１７で、直前で実行したステップ９１６で格納させたデータの最後に、区切りコードを格納させ、ステップ９１８に進む。
【０１５６】
ステップ９１８では、ＣＰＵ１４は、領域ｎに格納されている値を１加算更新させて、ステップ９０８に処理を戻す。ステップ９０８の処理により、辞書データ上の次の見出し語の発音記号を取り出し、解答語句の発音記号と比較し、類似していれば、その見出し語と、その見出し語の発音記号を第２表示画面記憶部１６６ｂへ格納する処理を、辞書データの上の全ての見出し語において、実施することが可能となる。
【０１５７】
ここで、図１８（Ａ）から図１８（Ｃ）に示されたような、表示部１１における表示の変化について、説明する。
【０１５８】
本実施の形態の電子機器において、入力部１３に対し、ユーザから、穴埋め問題文を表示するためのキー操作入力が行なわれると、図１８（Ａ）に画面１８０１として示されるように、表示部１１に、穴埋め問題文（“Ｅｖｅｎ  ｉｆ  ｙｏｕ  空欄  ，  ｔｈｅｒｅ’ｓ  ａｌｗａｙｓ  ａｎｏｔｈｅｒ  ｃｈａｎｃｅ．”）が、その訳文（「たとえ失敗しても、チャンスは常にあるものだ。」）とともに、表示される。
【０１５９】
この状態で、ユーザから、入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、ステップ４１２、ステップ６０３、ステップ６０４、ステップ９０１〜ステップ９１８、および、ステップ６１１等の処理によって、表示部１１には、図１８（Ｂ）に画面１８０２として示されるように、表示部１１の下部に、解答語句とその発音記号が、解答語句の発音記号が類似する発音記号を有する単語の語句とその発音記号とともに、表示される。
【０１６０】
そして、この状態で、ユーザから、入力部１３の中の［検索／決定］キーに対してキー操作入力がなされると、ステップ４０７、ステップ４０８、および、ステップ４０９（図４参照）の処理によって、表示部１１には、図１８（Ｃ）に画面１８０３として示されるように、穴埋め問題文において、解答語句のすべてを表示する画面が表示される。つまり、この状態では、表示部１１には、上部の領域に画面１８０３が表示され、下部の領域に画面１８０２が表示される。
【０１６１】
次に、図１０を参照して、ステップ６０６の候補発音ヒント処理の内容について説明する。
【０１６２】
候補発音ヒント処理では、ＣＰＵ１４は、まずステップ１００１で、ヒントキー回数記憶部１６１１に格納されている数値を、ワークアリア１６７の領域ｎに格納させる。
【０１６３】
次に、ＣＰＵ１４は、ステップ１００２において、領域ｎに格納されている値が１であるかどうかを判断し、そうであればステップ１００３へ、そうでなければステップ１００５へ、それぞれ処理を進める。
【０１６４】
ステップ１００３では、ＣＰＵ１４は、第１表示画面記憶部１６６ａ内に記憶されているデータにおいて、番号コードの次に記憶されている値を、領域Ａに格納させる。
【０１６５】
次に、ＣＰＵ１４は、ステップ１００４で、第１教科１５２ａ〜第ｎ教科１５２ｎの中の現在問題文を表示させている教科において、領域Ａに現在格納されている値と同じ順番の問題文に対応した問題文音声データ記憶部１５９ｅに格納されている音声データ（つまり、現在表示されている穴埋め問題文に対応した音声データ）を再生させ、処理を終了させる。
【０１６６】
一方、ステップ１００５では、ＣＰＵ１４は、領域ｎに格納されている値が２であるか否かを判断し、そうであればステップ１００６へ、そうでなければステップ１００８へ、それぞれ処理を移行させる。
【０１６７】
ステップ１００６では、ＣＰＵ１４は、候補発音データ格納処理を実行し、ステップ１００７に処理を進める。なお、候補発音データ格納処理の詳細については、図１１を参照して後述する。
【０１６８】
ステップ１００７では、ＣＰＵ１４は、第１表示画面記憶部１６６ａと第２表示画面記憶部１６６ｂに記憶された情報を表示部１１に表示させて、処理を終了させる。
【０１６９】
一方、ステップ１００８では、ＣＰＵ１４は、領域ｎに格納された値が３であるどうかを判断し、そうであると判断すると、ステップ１００９で、音声データバッファ内の音声データを再生させて処理を終了させ、３ではないと判断すると、そのまま、処理を終了させる。
【０１７０】
次に、図１１を参照して、ステップ１００６の候補発音データ格納処理の内容について説明する。
【０１７１】
候補発音データ格納処理では、ＣＰＵ１４は、まずステップ１１０１で、穴埋め問題文のデータ内の解答語句を、検索語句記憶部１６８に格納させる。
【０１７２】
次に、ＣＰＵ１４は、ステップ１１０２で、ステップ１１０１において検索語句記憶部１６８に格納された解答語句データと同じ語句を、問題文の表示を行なっている辞書の検索インデックス１５４ａから検索する。
【０１７３】
次に、ＣＰＵ１４は、ステップ１１０３で、ステップ１１０２において検索結果とされた語句に対応するワードテーブル１５４ｂ上のデータを、領域Ａに格納させる。
【０１７４】
次に、ＣＰＵ１４は、ステップ１１０４で、データ情報テーブル１５４ｃの、“Ａ”番目に格納されている数値が、発音記号に対応する“０００１”であるかどうかを判断する。そして、“０００１”であると判断するとステップ１１０５へ、そうではないと判断するとステップ１１０６へ、それぞれ処理を進める。
【０１７５】
ステップ１１０６では、ＣＰＵ１４は、領域Ａに格納された値を１加算更新して、ステップ１１０４に処理を戻す。
【０１７６】
一方、ステップ１１０５では、ＣＰＵ１４は、オフセットテーブル１５４ｄの、“Ａ”番目に格納されているデータを検索し、そして、検索結果のデータに対応する表示データ記憶部１５４ｅ中のデータを、領域Ｂに格納させる。つまり、このとき、領域Ｂには、解答語句の発音記号が、格納されることになる。
【０１７７】
そして、ＣＰＵ１４は、ステップ１１０７で、候補発音データ格納処理（２）を実行する。この処理については、図１２を参照して、その内容を説明する。
【０１７８】
図１２を参照して、候補発音データ格納処理（２）では、ＣＰＵ１４は、まずステップ１２０１で、領域ｎに“０”を格納させ、ステップ１２０２に処理を進める。
【０１７９】
次に、ＣＰＵ１４は、ステップ１２０２で、ワードテーブル１５４ｂにおいて、領域ｎに格納されている数値に対応する順番で格納されているデータ（数値）を、ワークエリア１６７の領域Ｃに格納させる。
【０１８０】
次に、ＣＰＵ１４は、現在領域Ｃに格納されているデータが、終了コードに対応する数値であるかどうかを判断し、終了コードに対応する数値であると判断すると処理を終了させ、終了コードに対応する数値ではないと判断するとステップ１２０４に処理を進める。
【０１８１】
ステップ１２０４では、ＣＰＵ１４は、この時点での領域Ｃに格納されている値に対応する順番で、オフセットテーブル１５４ｄ中に格納されている値を取り出し、そして、表示データ記憶部１５４ｅにおいて、当該取り出された値に対応した順番で格納されているデータを、領域Ｄに格納する。この場合、領域Ｄには、辞書データ上の任意の見出し語のデータが格納されることになる。
【０１８２】
次に、ＣＰＵ１４は、ステップ１２０６で、領域Ｃに格納されている値を１加算更新する。
【０１８３】
次に、ＣＰＵ１４は、ステップ１２０７で、この時点での領域Ｃに格納されている値に対応する順番で、オフセットテーブル１５４ｄ中に格納されている値を取り出し、そして、表示データ記憶部１５４ｅにおいて、当該取り出された値に対応した順番で格納されているデータを、領域Ｅに格納する。この場合、領域Ｅには、辞書データ上の任意の見出し語の発音記号のデータが格納されることになる。
【０１８４】
次に、ＣＰＵ１４は、ステップ１２０８で、データ情報テーブル１５４ｃの、現在領域Ｃに格納される数値と同じ番号のデータが、発音記号に対応する“０００１”であるかどうかを判断する。そして、“０００１”であると判断するとステップ１２０９へ処理を進め、そうではないと判断するとステップ１２０６に処理を戻す。
【０１８５】
そして、ＣＰＵ１４は、ステップ１２０９で、上記したステップ９１４と同様に、領域Ｂに格納された発音記号と、領域Ｅに格納された発音記号の比較を行なった後、ステップ１２１０で、比較の結果が、類似しているかどうかを判断する。そして、比較の結果が、「類似している」であればステップ１２１１へ、また、「類似していない」であればステップ１２１８へ、それぞれ処理を進める。
【０１８６】
ステップ１２１１では、ＣＰＵ１４は、領域Ｄに格納されている文字（見出し語に対応する文字）と、“発音：”という文字と、領域Ｅに格納されている文字（発音記号に対応する文字）とに対応するデータを、第２表示画面記憶部１６６ｂに格納させる。
【０１８７】
次に、ＣＰＵ１４は、ステップ１２１２で、直前で実行したステップ１２１１で格納させたデータの最後に、区切りコードを格納させ、ステップ１２１３に進む。
【０１８８】
ステップ１２１３では、ＣＰＵ１４は、データ情報テーブル１５４ｃの、“Ｃ”番目に格納されている数値が、音声データに対応する“０００９”であるかどうかを判断する。そして、“０００９”であると判断するとステップ１２１５へ処理を進め、そうではないと判断するとステップ１２１４で領域Ｃに格納された値を１加算更新してステップ１２１３に処理を戻す。
【０１８９】
ステップ１２１５では、ＣＰＵ１４は、この時点での領域Ｃに格納されている値に対応する順番で、オフセットテーブル１５４ｄ中に格納されている値を取り出し、そして、表示データ記憶部１５４ｅにおいて、当該取り出された値に対応した順番で格納されているデータを、領域Ｆに格納する。この場合、領域Ｆには、解答語句の見出し語に対応する音声データが格納されることになる。
【０１９０】
次に、ＣＰＵ１４は、ステップ１２１６で、ステップ１２１５において領域Ｆに格納された音声データを音声データバッファ１６１３に格納させる。
【０１９１】
次に、ＣＰＵ１４は、ステップ１２１７で、ステップ１２１６で格納した音声データの最後に区切りコードを追加して格納させ、ステップ１２１８に処理を進める。
【０１９２】
ステップ１２１８では、ＣＰＵ１４は、領域ｎに格納された値を１加算更新させて、処理をステップ１２０２に戻す。
【０１９３】
以上図１２を参照して説明された処理により、解答語句の発音記号と類似した発音記号を持つ見出し語を辞書データから検索し、検索した見出し語とその発音記号を第２表示画面記憶部１６６ｂに格納し、更に、検索した見出し語を発音する音声データを、第２表示画面記憶部１６６ｂに格納した見出し語の順番に対応した順番で、音声データバッファ１６１３に格納している。これにより、図１９に示すような、ヒント表示が可能となる。
【０１９４】
ここで、図１９（Ａ）から図１９（Ｅ）に示されたような、表示部１１における表示の変化について、説明する。
【０１９５】
本実施の形態の電子機器において、入力部１３に対し、ユーザから、穴埋め問題文を表示するためのキー操作入力が行なわれると、図１９（Ａ）に画面１９０１として示されるように、表示部１１に、穴埋め問題文（“Ｅｖｅｎ  ｉｆ  ｙｏｕ  空欄  ，  ｔｈｅｒｅ’ｓ  ａｌｗａｙｓ  ａｎｏｔｈｅｒ  ｃｈａｎｃｅ．”）が、その訳文（「たとえ失敗しても、チャンスは常にあるものだ。」）とともに、表示される。
【０１９６】
この状態で、ユーザから、入力部１３の中の［ヒント」キーに対してキー操作入力がなされると、図１９（Ｂ）に示されるように、ステップ１００３およびステップ１００４の処理によって、表示部１１における表示は変更されることなく、問題文の音声が出力される。
【０１９７】
そして、この状態から、さらに、ユーザから、入力部１３の中の［ヒント」キーに対してキー操作入力がなされると、表示部１１には、図１９（Ｃ）に画面１９０２として示されるように、ステップ１００６およびステップ１００７の処理によって、表示部１１の下部に、解答語句とその発音記号が、解答語句の発音記号に類似する発音記号を有する単語の語句とその発音記号とともに、表示される。
【０１９８】
そして、この状態から、さらに、ユーザから、入力部１３の中の［ヒント」キーに対してキー操作入力がなされると、図１９（Ｄ）に示されるように、ステップ１００６およびステップ１００９の処理によって、表示部１１における表示は変更されることなく、画面１９０２に表示された各単語の音声が出力される。
【０１９９】
そして、この状態で、ユーザから、入力部１３の中の［検索／決定」キーに対してキー操作入力がなされると、ステップ４０７、ステップ４０８、および、ステップ４０９（図４参照）の処理によって、表示部１１には、図１９（Ｅ）に画面１９０３として示されるように、穴埋め問題文において、解答語句のすべてを表示する画面が表示される。つまり、この状態では、表示部１１には、上部の領域に画面１９０３が表示され、下部の領域に画面１９０２が表示される。
【０２００】
次に、図１３を参照して、ステップ６０８の単語候補データ格納処理の内容について説明する。
【０２０１】
単語候補データ格納処理では、ＣＰＵ１４は、まずステップ１３０１で、ヒントキー回数記憶部１６１１に格納されている数値を、ワークエリア１６７の領域ｎに格納させる。
【０２０２】
次に、ＣＰＵ１４は、ステップ１３０２で、ワークエリア１６７の領域ｍに“１”を格納する。
【０２０３】
次に、ＣＰＵ１４は、ステップ１３０３で、第１表示画面記憶部１６６ａにおいて、領域ｍに格納されている数値と同じ順番で格納されているデータが検索コードであるかどうかを判断する。つまり、ステップ１３０３では、たとえば領域ｍに格納されている数値がｍであるとすると、第１表示画面記憶部１６６ａにおいて、ｍ個目に格納されている検索コードがあるかどうかが判断される。そして、ＣＰＵ１４は、そのような検索コードがあると判断するとステップ１３０５に処理を進め、そのような検索コードがないと判断すると、単語候補データ格納処理を終了させる。
【０２０４】
ステップ１３０５では、ＣＰＵ１４は、領域ｍに格納されている値と領域ｎに格納されている値が等しいかどうかを判断する。そして、等しいと判断すると、ステップ１３０７に処理を進め、そうではないと判断すると、ステップ１３０６で領域ｍに格納される値を１加算更新してステップ１３０３に処理を戻す。
【０２０５】
ステップ１３０７では、ＣＰＵ１４は、上記したｍ個目に格納されている検索コードの次の文字から区切りコードまでの語句を、検索語句記憶部１６８に格納させる。
【０２０６】
ステップ１３０１〜１３０７の処理では、穴埋め問題文の意味文章中の単語において、意味文章中の先頭の単語から数えて、［ヒント］キーを入力した回数分の位置にある単語を取り出し、検索語句記憶部１６８へ格納している。図２０の実施例においては、意味文章中の単語とは、「は」や「が」のような助詞は含まない事として実施しているが、助詞を含んだ形での実施も可能である。
【０２０７】
次に、ＣＰＵ１４は、ステップ１３０８で、現在表示されている問題文の解答語句と同じ語句を、（ＲＯＭ１５内の）和英辞書の、検索インデックスから検索する。なお、本実施の形態では、ＲＯＭ１５には、第１辞書以外の辞書として、和英辞書が格納されているとする。
【０２０８】
次に、ＣＰＵ１４は、ステップ１３０９で、ステップ１３０８で検索した語句に対応する（和英辞書内の）ワードテーブル上のデータを、領域Ａに格納する。
【０２０９】
次に、ＣＰＵ１４は、ステップ１３１０で、ステップ１３０８で検索した語句の（検索インデックス上の）次の語句についての、ワードテーブル上のデータを、領域Ｂに格納する。
【０２１０】
次に、ＣＰＵ１４は、ステップ１３１１で、検索語句記憶部１６８に格納されたデータを、第２表示画面記憶部１６６ｂに格納する。
【０２１１】
次に、ＣＰＵ１４は、ステップ１３１２で、ステップ１３１１で格納されたデータの最後に、改行コードを、追加して、格納する。
【０２１２】
次に、ＣＰＵ１４は、ステップ１３１３で、（和英辞書内の）データ情報テーブルの、“Ａ”番目に格納されているデータが、“００１０”であるかどうかを判断する。なお、“００１０”は、和英辞書上の日本語の見出し語に対する英語語句であることを意味する情報番号である。そして、“００１０”であると判断すると、すなわち、和英辞書上の英語語句データであると判断すると、ＣＰＵ１４は、その語句を、図２０（Ｂ）の画面２００２に示したように、解答語句のヒントとして、ヒント画面に表示するために、ステップ１３１４以降の処理を行なう。一方、そうではないと判断すると、ＣＰＵ１４は、ステップ１３１７に処理を進める。
【０２１３】
そして、ＣＰＵ１４は、ステップ１３１４で、オフセットテーブルの、“Ａ”番目に格納されているデータを検索し、領域Ｃに格納させ、さらに、ステップ１３１５で、ステップ１３１４における検索結果のデータに対応する表示データ記憶部中のデータを、領域Ｂに格納させる。
【０２１４】
次に、ＣＰＵ１４は、ステップ１３１６で、ステップ１３１５で格納させたデータの後に、区切りコードを、追加して格納する。
【０２１５】
次に、ＣＰＵ１４は、ステップ１３１７で、領域Ａに格納されている値を１加算更新して、ステップ１３１８に処理を進める。
【０２１６】
ステップ１３１８では、ＣＰＵ１４は、領域Ａに格納された値と、領域Ｂに格納された値が等しいかどうかを判断する。そして、ＣＰＵ１４は、等しくないと判断するとステップ１３１３に処理を戻し、等しいと判断すると、単語候補格納処理を終了させる。
【０２１７】
ステップ１３０８〜１３１９の処理においては、穴埋め問題文の意味文章中の単語において、意味文章中の先頭の単語から数えて、［ヒント］キーを入力した回数分の位置にある単語と同じ意味を有する見出し語を辞書データから検索し、その検索した見出し語を第２表示画面記憶部１６６ｂに格納している。これらの処理により、図２０（Ｂ）の２００２に示したように、ヒント画面に表示している１個以上の見出し語を第２表示画面記憶部１６６ｂに格納することが可能となる。
【０２１８】
次に、図１４を参照して、ステップ６０９の単語候補データ表示処理の内容を説明する。
【０２１９】
単語候補データ表示処理では、ＣＰＵ１４は、まずステップ１４０１で、第１表示画面記憶部１６６ａに格納された穴埋め問題文のデータと、第２表示画面記憶部１６６ｂに格納されたデータとに基づいて、表示部１１において、問題文とヒントとを表示させる。
【０２２０】
次に、ＣＰＵ１４は、ステップ１４０２で、ヒントキー回数記憶部１６１１に格納されている数値を、ワークアリア１６７の領域ｎに格納させる。
【０２２１】
次に、ＣＰＵ１４は、ステップ１４０３で、ワークエリア１６７の領域ｍと領域Ａに“１”を格納し、ステップ１４０４に処理を移行させる。
【０２２２】
ステップ１４０４では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値と同じ順番で格納されている問題文の意味データ中の文字データ以外の候補コード、検索コード、区切りコード及び終了コード等のコードのみを検索する。
【０２２３】
そして、ＣＰＵ１４は、ステップ１４０５で、ステップ１４０４の検索結果のコードが、候補コードであるかどうかを判断し、そうであればステップ１４０６へ、そうでなければステップ１４１１へ、処理を進める。
【０２２４】
ステップ１４１１では、ＣＰＵ１４は、ステップ１４０４の検索結果のコードが、区切りコードであるかどうかを判断し、そうであればステップ１４１２へ、そうでなければステップ１４１４へ、処理を進める。
【０２２５】
ステップ１４１４では、ＣＰＵ１４は、ステップ１４０４の検索結果のコードが、検索コードであるかどうかを判断し、そうであればステップ１４１５へ処理を進め、そうでなければステップ１４０４に処理を戻す。
【０２２６】
ステップ１４０６では、ＣＰＵ１４は、領域ｍに格納されている値と領域ｎに格納されている値が等しいかどうかを判断する。そして、等しいと判断すると、ステップ１４０９に処理を進め、そうではないと判断すると、ステップ１４０７に処理を進める。
【０２２７】
ステップ１４０７では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値と同じ順番で格納されている候補コードの次の文字から次の検索コードまでの文字を表示部１１に表示させ、ステップ１４０８に処理を進める。
【０２２８】
ステップ１４０８では、ＣＰＵ１４は、領域ｍに格納される値を１加算更新して、ステップ１４１０に処理を進める。
【０２２９】
ステップ１４０９では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値と同じ順番で格納されている候補コードの次の文字から次の検索コードまでの文字を、強調文字で、表示部１１に表示させ、ステップ１４１０に処理を進める。
【０２３０】
ステップ１４１０では、ＣＰＵ１４は、領域Ａに格納されている数値を１加算更新して、ステップ１４０４に処理を戻す。
【０２３１】
ステップ１４１２では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値に１加算した数値と同じ順番で格納されているコードが区切りコードであるかどうかを判断する。そして、区切りコードであると判断するとステップ１４１３へ、区切りコードではないと判断するとステップ１４１６へ、それぞれ処理を進める。
【０２３２】
ステップ１４１６では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値に１加算した数値と同じ順番で格納されているコードが終了コードであるかどうかを判断する。そして、終了コードであると判断するとステップ１４１７へ、終了コードではないと判断するとステップ１４１８へ、それぞれ処理を進める。
【０２３３】
ステップ１４１８では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値に１加算した数値と同じ順番で格納されているコードが候補コードであるかどうかを判断する。そして、候補コードであると判断するとステップ１４１５へ、候補コードではないと判断するとステップ１４１９へ、それぞれ処理を進める。
【０２３４】
ステップ１４１９では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値に１加算した数値と同じ順番で格納されているコードに基づいた処理を行なう。
【０２３５】
また、ステップ１４１３では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、区切りコードから次の区切りコードまでの間で格納されている文字を、表示部１１に表示させて、ステップ１４１０に処理を進める。
【０２３６】
また、ステップ１４１５では、ＣＰＵ１４は、領域Ａに格納されている値を１加算更新して、ステップ１４０４に処理を戻す。
【０２３７】
また、ステップ１４１７では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、区切りコードから次の終了コードまでの間で格納されている文字を、表示部１１に表示させて、単語候補データ表示処理を終了させる。
【０２３８】
具体的には、図１４のステップ１４０１の処理では、図２０（Ｂ）の画面２００１で示したように、穴埋め問題文（“Ｉ  ｗａｔｃｈｅｄ  ｍｙ  ｍｏｔｈｅｒ  空欄  ｔｈｅ  ｋｉｔｃｈｅｎ．”）と、画面２００２のヒント表示中の“Ｉ”、“ｍｙ”及び“ｍｅ”等が表示される。このステップでは、画面２００１に示した穴埋め問題文の訳文（「私は母が台所に入るのを見た。」）はまだ表示されていない。
【０２３９】
図１４のステップ１４０９の処理では、第１表示画面記憶部１６６ａの候補コードを数え、［ヒント］キーを入力した回数分に位置する候補コードの後に格納されている単語を強調表示している。これにより、図２０（Ｂ）の画面２００１に示したように、穴埋め問題文の訳文（「私は母が台所に入るのを見た。」）の中において、［ヒント］キーを１回押した回数に対応した、１つ目の候補コードの後に格納されている“私”が強調表示される。
【０２４０】
図１４の上記以外のステップの処理では、上記の強調表示している単語以外の文字を表示している。これにより、図２０（Ｂ）の画面２００１の穴埋め問題文の訳文（「私は母が台所に入るのを見た。」）が全て表示される。
【０２４１】
次に、図２０（Ａ）から図２０（Ｄ）および図２１（Ａ）から図２１（Ｃ）に示されたような、表示部１１における表示の変化について、説明する。
【０２４２】
本実施の形態の電子機器において、入力部１３に対し、ユーザから、穴埋め問題文を表示するためのキー操作入力が行なわれると、図２０（Ａ）に画面２００１として示されるように、表示部１１に、穴埋め問題文（“Ｉ  ｗａｔｃｈｅｄ  ｍｙ  ｍｏｔｈｅｒ  空欄  ｔｈｅ  ｋｉｔｃｈｅｎ．”）が、その訳文（「私は母が台所に入るのを見た。」）とともに、表示される。
【０２４３】
この状態で、ユーザから、入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、表示部１１には、さらに、図２０（Ｂ）に画面２００１として示されるように、問題文中で、１つ目の候補コード（図３参照）に対応した「私」という語句が強調文字で表示され、また、図２０（Ｂ）に画面２００２として示されるように、当該強調文字で表示された語句に対応する英単語および当該語句を意味として持つ英単語が、ヒントとして表示される。
【０２４４】
この状態で、ユーザから、さらに入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、表示部１１には、さらに、図２０（Ｃ）に画面２００１として示されるように、問題文中で、２つ目の候補コード（図３参照）に対応した「母」という語句が強調文字で表示され、また、図２０（Ｃ）に画面２００３として示されるように、当該強調文字で表示された語句に対応する英単語および当該語句と同じ意味を有する英単語が、ヒントとして表示される。
【０２４５】
この状態で、ユーザから、さらに入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、表示部１１には、さらに、図２０（Ｄ）に画面２００１として示されるように、問題文中で、３つ目の候補コード（図３参照）に対応した「台所」という語句が強調文字で表示され、また、図２０（Ｄ）に画面２００４として示されるように、当該強調文字で表示された語句に対応する英単語が表示される。なお、「台所」という語句には、当該語句と同じ意味を有する別の英単語が辞書に含まれていなかったため、このような「別の英単語」は表示されない。
【０２４６】
この状態で、ユーザから、さらに入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、表示部１１には、さらに、図２１（Ａ）に画面２００１として示されるように、問題文中で、４つ目の候補コード（図３参照）に対応した「入る」という語句が強調文字で表示され、また、図２１（Ａ）に画面２１０５として示されるように、当該強調文字で表示された語句に対応する英単語および当該語句と同じ意味を有する英単語が、ヒントとして表示される。
【０２４７】
この状態で、ユーザから、さらに入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、表示部１１には、さらに、図２１（Ａ）に画面２００１として示されるように、問題文中で、５つ目の（最後の）候補コード（図３参照）に対応した「見た」という語句が強調文字で表示され、また、図２１（Ｂ）に画面２１０６として示されるように、当該強調文字で表示された語句（の原型、つまり、検索コードの後に格納されている語句）に対応する英単語および当該語句と同じ意味を有する英単語が、ヒントとして表示される。
【０２４８】
この状態で、ユーザから、入力部１３の中の［検索／決定］キーに対してキー操作入力がなされると、ステップ４０７、ステップ４０８、ステップ４１４、および、ステップ４１５（図４参照）の処理によって、表示部１１には、図２１（Ｃ）に画面２００７として示されるように、穴埋め問題文において、解答語句のすべてを表示する画面が表示される。つまり、この状態では、表示部１１には、上部の領域に画面２００７が表示され、下部の領域に画面２１０６が表示される。
【０２４９】
次に、図１５を参照して、問題文が、英語の教科に関するものではなく、歴史の教科に関するものである場合の、穴埋め文データ記憶部１５９ａの記憶内容を説明する。
【０２５０】
穴埋め文データ記憶部１５９ａは、まず、総番号コードエリアを含み、当該エリアには、総番号コードが格納されている。総番号コードとは、対象となる教科の問題文の総個数である。総番号コードは、図１６のステップ１６１５の処理に利用される。なお、この処理は、具体的には、図２２（Ｂ）に示された画面２２０２（画面２２０１に表示された問題文と同じ解答語句を持つ（他の）問題文をヒントとして表示する画面）を表示部１１に表示させるための処理の中の、１つ目の問題文から最後の問題文まで、同じ解答語句を持つ問題文の検索が終了したかどうかの判断を行なう処理である。なお、当該処理において、全ての問題文を検索しても、同じ解答語句を持つ他の問題文を見つけられなかった場合は、ＣＰＵ１４は、［ヒント］キーを押されても、ヒントとなるような画面を表示させないか、または、「ヒントがありません」のようなメッセージを表示部１１に表示させる処理を実行してもよい。
【０２５１】
また、穴埋め文データ記憶部１５９ａは、問題文ごとに付された番号のデータである、番号コード（図１５では、“ｍ”または“ｎ”と記載）を有している。
【０２５２】
また、穴埋め文データ記憶部１５９ａでは、問題文ごとに、空欄コード、検索コードに続き、年号に対応する数字のデータ（図１５では、“１６００”と記載）が格納され、その後に、空欄コードが格納され、その後に、当該年号の語呂合わせの中の、年号に対応した部分の読みがな（図１５のｍ個目の穴埋め問題文に対応したものでは、“（ひとむれお）”、また、図１５のｎ個目の穴埋め問題文に対応したものでは、“（いちろおお）”と記載）が格納され、その後、空欄コードと改行コードとが格納されている。
【０２５３】
また、穴埋め文データ記憶部１５９ａでは、上記の読み仮名、空欄コードおよび改行コードの後に、空欄コードに続き、上記した語呂合わせの中の年号に対応する部分が漢字を含んで表記された文字列のデータが格納され、さらに、空欄コードの後に、上記した語呂合わせの年号に対応する部分以外の部分のデータが格納され、その後、改行コードが格納されている。
【０２５４】
そして、穴埋め文データ記憶部１５９ａでは、検索コードの後に格納されている年号において生じた歴史的事象を表す文字列（図１５のｍ個目の穴埋め問題文に対応したものでは、“●関ヶ原の合戦”、また、図１５のｎ個目の穴埋め問題文に対応したものでは、“●英、東インド会社を設立”と記載）が格納され、最後に、終了コードが格納されている。
【０２５５】
次に、図１６を参照して、ステップ５０２の類似問題文データ格納処理の内容を説明する。
【０２５６】
類似問題文データ格納処理では、ＣＰＵ１４は、まずステップ１６００で、ワークエリア１６７の領域Ａに“１”を格納して、ステップ１６０１に処理を進める。
【０２５７】
ステップ１６０１では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに現在格納されている値に対応する順番で格納されている穴埋め問題文データ中のコードを検索する。
【０２５８】
次に、ＣＰＵ１４は、ステップ１６０２で、直前に実行されたステップ１６０１において検索結果とされた穴埋め問題文の番号コードの次に格納されている値を、領域Ｂに格納する。
【０２５９】
そして、ＣＰＵ１４は、ステップ１６０３で、ステップ１６０１の検索結果のコードが、空欄コードであるかどうかを判断し、そうであればステップ１６０７へ、そうでなければステップ１６０４へ、処理を進める。
【０２６０】
ステップ１６０４では、ＣＰＵ１４は、ステップ１６０１の検索結果のコードが、終了コードであるかどうかを判断し、そうであれば類似問題文データ格納処理を終了させ、そうでなければステップ１６０６で領域Ａに格納されている値を１加算更新して、ステップ１６０１に処理を戻す。
【０２６１】
ステップ１６０７では、ＣＰＵ１４は、第１表示画面記憶部１６６ａにおいて、領域Ａに格納されている数値に１加算した数値と同じ順番で格納されているデータ中のコードが検索コードであるかどうかを判断する。そして、検索コードであると判断するとステップ１６０９へ、検索コードではないと判断するとステップ１６０８で領域Ａに格納されている値を１加算更新して、ステップ１６０１に処理を戻す。
【０２６２】
ステップ１６０９では、ＣＰＵ１４は、ステップ１６０７で格納されていると判断した検索コードの次の文字から次の空欄コードまでの語句を、検索語句記憶部１６８に格納させる。
【０２６３】
ステップ１６００〜１６０９では、表示している穴埋め問題文の解答語句を、穴埋め文データから取り出し、その語句を検索語句記憶部１６８に格納する処理を行っている。
【０２６４】
具体的には、図２２（Ａ）の画面２２０１に示すような穴埋め問題文が表示されているときは、その穴埋め文データは、図１５に示した構造をしており、検索コードの後ろに格納されている解答語句の“１６００”が検索語句記憶部１６８に格納される。
【０２６５】
次に、ＣＰＵ１４は、ステップ１６１０で、領域ｎに“１”を格納し、ステップ１６１１に処理を進める。
【０２６６】
ステップ１６１１では、ＣＰＵ１４は、現在表示対象となっている教科の穴埋め問題文のデータ上の、領域ｎに格納された値の順番で格納された穴埋め問題文のデータの中の、検索コードから空欄コードまでの文字を、領域Ａに格納する。つまり、ｎ個目の穴埋め問題文の解答語句を領域Ａに格納する処理を行っている。
【０２６７】
次に、ＣＰＵ１４は、ステップ１６１２で、領域Ａに格納された文字が、検索語句記憶部１６８に格納された文字と同じであるか否かを判断する。そして、ＣＰＵ１４は、同じであると判断すると、ステップ１６１３に処理を進め、同じではないと判断すると、ステップ１６１５に処理を進める。
【０２６８】
ステップ１６１５では、ＣＰＵ１４は、現在領域ｎに格納されている値が、総番号コード（図１５参照）の次に格納されている値より大きいかまたは等しい値となっているかどうかを判断し、そうであれば、類似問題文データ格納処理を終了させ、そうでなければ、ステップ１６１６で領域ｎに格納されている値を１加算更新して、ステップ１６１１に処理を戻す。
【０２６９】
一方、ステップ１６１３では、ＣＰＵ１４は、ステップ１６１１において処理対象とした穴埋め問題文（穴埋め文データ記憶部１５９ａにｎ番目に格納された問題文）の番号コードとステップ１６０２で領域Ｂに格納された問題文の番号コードとが等しいかどうかを判断し、等しいと判断すると、ステップ１６１４で領域ｎに格納された値を１加算更新してステップ１６１１に処理を戻す。一方、ステップ１６１３で、異なると判断すると、ＣＰＵ１４は、ステップ１６１７に処理を進める。ステップ１６１３とステップ１６１４の処理により、ステップ１６１１で処理の対象とされた問題文が現在表示対象となっている問題文と同じものであれば、穴埋め文データ記憶部１５９ａ内の別の問題文が、ステップ１６１１での処理対象とされる。
【０２７０】
そして、ステップ１６１７では、ＣＰＵ１４は、すべての穴埋め問題文データの中の、領域ｎに格納された値の順番で格納されている穴埋め問題文のデータを、第２表示画面記憶部１６６ｂに格納して、類似問題文データ格納処理を終了させる。
【０２７１】
ステップ１６１０〜１６１７では、表示している穴埋め問題文の解答語句と同じ解答語句を持つ他の穴埋め問題文を検索し、その穴埋め問題文のデータを第２表示画面記憶部１６６ｂに格納する処理を行っている。
【０２７２】
ここで、図２２（Ａ）から図２２（Ｃ）に示されたような、表示部１１における表示の変化について、説明する。
【０２７３】
本実施の形態の電子機器において、入力部１３に対し、ユーザから、穴埋め問題文を表示するためのキー操作入力が行なわれると、図２２（Ａ）に画面２２０１として示されるように、表示部１１に、穴埋め問題文が表示される。なお、ここでの穴埋め問題文としては、全部で３行の問題文が表示され、その中の１行目は、すべて空欄であり、２行目は、文頭が空欄で、その後に「めく関ヶ原」という文字が表示され、３行目には、歴史的事象である「関ヶ原の合戦」という文字が表示されている。
【０２７４】
この状態で、ユーザから、入力部１３の中の［ヒント］キーに対してキー操作入力がなされると、図１６を用いて説明した類似問題文データ格納処理によって第２表示画面記憶部１６６ｂに格納された、画面２２０１に表示された問題と同じ解答を有する問題文（以下、類似問題文と呼ぶ）が、図２２（Ｂ）に画面２２０２として示されるように、表示部１１の下部に、表示される。
【０２７５】
そして、この状態で、ユーザから、入力部１３の中の［検索／決定］キーに対してキー操作入力がなされると、図２２（Ｃ）に示されるように、表示部１１の上部には、画面２２０３として穴埋め問題文が、解答語句のすべてを表示された状態で、表示され、さらに、表示部１１の下部には、画面２２０４として、上記した類似問題文が、解答語句のすべてを表示された状態で、表示される。
【０２７６】
次に、図２５を参照して、ステップ９１４等で実行される、領域Ｂに格納された発音記号と領域Ｅに格納された発音記号を比較する処理の内容を説明する。
【０２７７】
この処理では、ＣＰＵ１４は、まずステップ２４０１で、発音記号判断情報記憶部１６１４に格納された情報を参照することにより、類似の判断のために、現在判断の対象となっている単語の発音記号の中の１文字目と最後の発音記号を使用するかどうかを判断する。なお、発音記号情報記憶部１６０４には、ユーザの設定により、または、予め設定されることにより、発音が類似しているかどうかの判断に、判断の対象となる単語の発音記号の中の何文字目を使用するか、という情報が格納されている。なお、判断のために使用する、発音記号中の文字数は、すべての単語について同じ文字数（たとえば、１文字目と最後の文字、１文字目のみ、最後の４文字、等）とされてもよいし、単語ごとに決められていてもよい。
【０２７８】
ここで、発音記号の中の文字数について、説明する。たとえば、“ｆａｉｌ”という単語の発音記号“ｆｅｉｌ”について考えると、この発音記号の１文字目は、“ｆ”であり、２文字目は、“ｅ”であり、３文字目は、“ｉ”であり、そして、４文字目は、“ｌ”である。
【０２７９】
そして、ＣＰＵ１４は、ステップ２４０１で、発音記号情報記憶部１６０４に１文字目と最後の発音記号を使用することが格納されていると判断すると、ステップ２４０２へ、そうではないと判断すると、ステップ２４０６へ、それぞれ処理を進める。
【０２８０】
ステップ２４０２では、ＣＰＵ１４は、領域Ｂと領域Ｅに格納されている発音記号の１文字目が等しいかどうかを判断し、等しいと判断すればステップ２４０３へ、異なると判断するとステップ２４０５へ、それぞれ処理を進める。
【０２８１】
ステップ２４０３では、ＣＰＵ１４は、領域Ｂと領域Ｅに格納されている発音記号の最後の文字が等しいかどうかを判断し、等しいと判断すればステップ２４０４へ、異なると判断するとステップ２４０５へ、それぞれ処理を進める。
【０２８２】
ステップ２４０４では、ＣＰＵ１４は、領域Ｂに格納された発音記号と領域Ｅに格納された発音記号とは類似であるという情報を所定のメモリ（たとえば、ＣＰＵ１４内のメモリ）に格納し、処理を終了させる。一方、ステップ２４０５では、ＣＰＵ１４は、当該所定のメモリに、領域Ｂに格納された発音記号と領域Ｅに格納された発音記号とは類似ではないという情報を格納し、処理を終了させる。なお、上記したステップ９１４のＢの発音記号とＥの発音記号の比較の処理終了後のステップ９１５等では、ＣＰＵ１４は、上記の所定のメモリに格納された、類似または類似ではない、という情報を参照することにより、類似しているかどうかの判断を行なう。
【０２８３】
一方、ステップ２４０６では、ＣＰＵ１４は、発音記号判断情報記憶部１６１４に格納された情報を参照することにより、類似の判断のために、現在判断の対象となっている単語の発音記号の中の１文字目からｎ文字目（ｎは、たとえば、単語ごとに異なった値が発音記号判断情報記憶部１６１４に格納されている）までの発音記号を使用するかどうかを判断する。そして、ＣＰＵ１４は、類似の判断に利用するのが発音記号の１文字目からｎ文字目までであると判断すると、ステップ２４０７へ、そうではないと判断すると、ステップ２４０９へ、それぞれ処理を進める。
【０２８４】
ステップ２４０７では、ＣＰＵ１４は、領域Ｂと領域Ｅに格納されている発音記号の１文字目からｎ文字目が等しいかどうかを判断し、等しいと判断すればステップ２４０８へ、異なると判断するとステップ２４０５へ、それぞれ処理を進める。
【０２８５】
ステップ２４０８では、ＣＰＵ１４は、ステップ２４０４と同様に、領域Ｂに格納された発音記号と領域Ｅに格納された発音記号とは類似であるという情報を所定のメモリに格納し、処理を終了させる。
【０２８６】
ステップ２４０９では、ＣＰＵ１４は、発音記号判断情報記憶部１６１４に格納された情報を参照することにより、類似の判断のために、現在判断の対象となっている単語の発音記号の中の最後のｍ文字（最後の１文字目からｍ文字目（ｍは、たとえば、単語ごとに異なった値が発音記号判断情報記憶部１６１４に格納されている））を使用するかどうかを判断する。そして、ＣＰＵ１４は、類似の判断に利用するのが発音記号の中の最後のｍ文字であると判断すると、ステップ２４１０へ、そうではないと判断すると、ステップ２４１２へ、それぞれ処理を進める。
【０２８７】
ステップ２４１０では、ＣＰＵ１４は、領域Ｂと領域Ｅに格納されている発音記号の最後のｍ文字が等しいかどうかを判断し、等しいと判断すればステップ２４０８へ、異なると判断するとステップ２４１１へ、それぞれ処理を進める。
【０２８８】
ステップ２４１１では、ＣＰＵ１４は、ステップ２４０５と同様に、領域Ｂに格納された発音記号と領域Ｅに格納された発音記号とは類似ではないという情報を所定のメモリに格納し、処理を終了させる。
【０２８９】
なお、ステップ２４１２では、ＣＰＵ１４は、図２５を参照して説明した方法とは別の処理で類似しているかどうかを判断するための処理を実行する。
【０２９０】
以上説明した本実施の形態の電子機器では、様々な態様でヒントを表示させるための制御を実行させるプログラムは、ＲＯＭ１５のプログラム記憶部１５３に記憶されている。なお、当該プログラムを記憶する記憶媒体は、ＣＤ−ＲＯＭ、フロッピー（登録商標）ディスク、光磁気ディスク（ＭＯ）、および、半導体メモリ（ＲＯＭ、フラッシュメモリ等）などの様々なタイプの記録媒体を用いることができる。
【０２９１】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０２９２】
穴埋め問題と解答と解答に関するヒント表示手段を有する電子辞書、学習機、ＰＤＡ、パソコン、携帯電話などの電子機器に適用可能である。
【図面の簡単な説明】
【０２９３】
【図１】本発明の学習用電子機器の一実施の形態である電子機器の構成を示すブロック図である。
【図２】英和辞書のデータ構造を示したブロック図である。
【図３】図１の問題文意味データ記憶部に記憶された内容を説明するための図である。
【図４】図１の電子機器において、表示部に穴埋め問題文が表示された後に、ヒントおよび解答語句が表示されるまでの、制御手順の一例を示したフローチャートである。
【図５】図４のヒント表示処理（１）のサブルーチンのフローチャートである。
【図６】図５のヒント表示処理（２）のサブルーチンのフローチャートである。
【図７】図６の同文字数データ格納処理（１）のサブルーチンのフローチャートである。
【図８】図７の同文字数データ格納処理（２）のサブルーチンのフローチャートである。
【図９】図６の類似発音データ格納処理のサブルーチンのフローチャートである。
【図１０】図６の候補発音ヒント処理のサブルーチンのフローチャートである。
【図１１】図１０の候補発音データ格納処理のサブルーチンのフローチャートである。
【図１２】図１１の候補発音データ格納処理（２）のサブルーチンのフローチャートである。
【図１３】図６の単語候補データ格納処理のサブルーチンのフローチャートである。
【図１４】図６の単語候補データ表示処理のサブルーチンのフローチャートである。
【図１５】図１の問題文意味データ記憶部に記憶された内容の他の例を説明するための図である。
【図１６】図５の類似問題文データ格納処理のサブルーチンのフローチャートである。
【図１７】図１の電子機器の表示部における表示内容の一例を示す図である。
【図１８】図１の電子機器の表示部における表示内容の他の例を示す図である。
【図１９】図１の電子機器の表示部における表示内容のさらに他の例を示す図である。
【図２０】図１の電子機器の表示部における表示内容の別の例を示す図である。
【図２１】図１の電子機器の表示部における表示内容の別の例を示す図である。
【図２２】図１の電子機器の表示部における表示内容のさらに別の例を示す図である。
【図２３】図１の電子機器の穴埋め文データ記憶部の記憶内容を説明するための図である。
【図２４】図１の電子機器の穴埋め文データ記憶部の記憶内容を説明するための図である。
【図２５】図１のＣＰＵが領域Ｂに格納された発音記号と領域Ｅに格納された発音記号とが類似しているかどうかを判断する処理のフローチャートである。
【図２６】図８の同文字数データ格納処理（２）において、ＣＰＵが、どのように、検索バッファに格納されたすべての語句から、解答語句と同じ文字数を持つ語句を検索するのかを説明するための図である。
【符号の説明】
【０２９４】
１１  表示部、１３  入力部、１４  ＣＰＵ、１５  ＲＯＭ、１６  ＲＡＭ、１５１  辞書データ記憶部（辞書データ記憶手段）、１５３  プログラム（表示制御手段）、１５４ａ  検索インデックス、１５４ｂ  ワードテーブル、１５４ｃ  データ情報テーブル、１５４ｄ  オフセットテーブル、１５４ｅ  表示データ記憶部、１５９ａ  穴埋め文データ記憶部、１５９ｂ  問題文意味データ記憶部、１５９ｃ  解答語句データ記憶部、１５９ｄ  文字数データ記憶部、１５９ｅ  問題文音声データ記憶部、１６３  ヒント用フラグ記憶部、１６４ａ  第１教科ヒント記憶部、１６４ｂ  第２教科ヒント記憶部、１６５ａ  同文字数フラグ、１６５ｂ  類似発音フラグ、１６５ｃ  候補発音フラグ、１６５ｄ  単語候補フラグ、１６５ｅ  類似問題文フラグ、１６６  表示用画面記憶部（格納手段）、１６６ａ  第１表示画面記憶部、１６６ｂ  第２表示画面記憶部、１６７  ワークエリア、１６８  検索語句記憶部、１６１０  検索開始フラグ、１６１１  ヒントキー回数記憶部、１６１２  検索バッファ、１６１３  音声データバッファ、１６１４  発音記号判断情報記憶部。
【図１】
0004566094.tif 000002
【図２】
0004566094.tif 000003
【図３】
0004566094.tif 000004
【図４】
0004566094.tif 000005
【図５】
0004566094.tif 000006
【図６】
0004566094.tif 000007
【図７】
0004566094.tif 000008
【図８】
0004566094.tif 000009
【図９】
0004566094.tif 000010
【図１０】
0004566094.tif 000011
【図１１】
0004566094.tif 000012
【図１２】
0004566094.tif 000013
【図１３】
0004566094.tif 000014
【図１４】
0004566094.tif 000015
【図１５】
0004566094.tif 000016
【図１６】
0004566094.tif 000017
【図１７】
0004566094.tif 000018
【図１８】
0004566094.tif 000019
【図１９】
0004566094.tif 000020
【図２０】
0004566094.tif 000021
【図２１】
0004566094.tif 000022
【図２２】
0004566094.tif 000023
【図２３】
0004566094.tif 000024
【図２４】
0004566094.tif 000025
【図２５】
0004566094.tif 000026
【図２６】
0004566094.tif 000027