どうも、がこないのクボタです。皆さんは英単語帳、何を使っていますか?現在は昔に比べて、ありとあらゆるジャンルの単語帳が書店に並んでますね。ちなみに私は高校時代はターゲット1900と熟語帳のターゲット1000を、3年ほど前にTOEIC910点を取得した時には、キクタンのTOEIC990点の本で学習しました。
ターゲット1900は今も昔も定番単語帳の1つ
個人的に思い入れのある単語帳となると、やはり高校時代必死に覚えこんだターゲット1900になります。
手元に当時の単語帳が残っているのですが、今も改訂版が数年おきに出され続け、2020年には待望の6訂版が発売されました。昔のバージョンと比べると、変わらずに残っている単語、古い方には入っているが、新しい方では削除された単語、逆に古い方には入っていなかったが、新たに追加された単語など様々です。中身の見出し語の収録数1900という制約の中で、今の受験に出やすい最適な語を吟味、選別して掲載されているので、共通テスト対策にはやはり最新版の単語帳を使うのがオススメです。
ターゲット1900と1400の関係を徹底比較
単語帳には、よく応用レベルと入門レベルが存在します。ターゲットの場合、1900が応用レベル、1400が入門レベルですね。
個人的には、国公立の二次試験まで英語があるなら、迷わず1900を、共通テストレベルまで、もしくは一定水準以下の私立大学までだったら、1900を中途半端に半分くらい覚えるより1400を完璧にする方が良いと思っています。
特に英語が苦手で、単語からやり直そうと思っている人にとって、
1400から順番に手をつけるべきか、いきなり1900から始めて負荷をかけるべきか悩みどころです。
では皆さん、ここで質問があります。
ターゲット1900と1400ってどれくらい単語が重複しているの?
って考えたことありませんか?個人的にはこの記事を書く前、500個くらいは被ってるんじゃない?って考えていました。
もし全く単語が被っていなかったら、2冊合計3300個の単語を覚えることになりますよね?
ただしもし単語が300個被っていたら
(1900 + 1400) - 300 = 3000
3000個の単語を覚えることになるわけです。
もちろん、ターゲット1400なら基礎レベルの単語も数多く、「もうその単語は知っていたよ」という語も多いので、実際に覚える単語はもう少し少なくなります。
しかしこの2冊の単語帳の内容の被り具合で、
ターゲット1900だけで良いかな
いやいやターゲット2冊必要だよ
ターゲット1冊と、別の会社の単語帳1冊にしようかな
などと選択肢を吟味する足がかりになるわけです。
昔からこういう単語帳比較はしてみたいと思っていたんですが、いざ同じ単語を手書きでリストアップしていくとなると、とんでもない労力になります。だから今回は、プログラミング言語であるPHPの配列に入れて、それぞれを比較することで共通する単語、しない単語の数とその例を紹介したいと思います。
PHPの配列に、全単語を入力する
今回プログラミングで行うことはごくごく初心者レベルのことですが、一応未経験者の方に説明しますと、配列とはデータの中身と順番がまとまった箱だと思ってください。
例えば、 PHP言語で、
と書くと、
fruitsという名前(変数)の箱の中に、「りんご(0番目)」「みかん(1番目)」「オレンジ(2番目)」がこの順番で入っている
ことになります。ちなみに順番は1番目、2番目、3番目となるんですが、プログラミングの世界ではこれを0番目、1番目、2番目と数えます。まあこの辺の説明は重要ではないので流します。
ではこんな感じの配列に、ターゲット1900の中身の単語を全て入れてみましょう。
全て手で入力しました。コピペできないって辛い。
著作権の関係上、全ての単語を見せることはできませんが、ずらっと並べてみると壮観です。
同じように、ターゲット1400の中身も全て配列に入れてみました。
後から誤字脱字も全て訂正しましたが、この作業が一番大変でした(まだあったらごめんなさい)。
これからやりたいことのイメージ
今から、2つの配列を比較していきます。イメージはこんな感じです。
この2つの円の重なっている部分が、共通している単語だと思ってください。
この部分を人力で確認していくのは非常に骨の折れる作業です。ここでコンピューターに頑張ってもらいましょう。
PHPには、複数の配列を比較する関数(機能みたいなもの)が最初から用意されています。
共通項を見つけたい時はarray_intersect関数
今回の目的は、2冊の単語帳に被っている語をカウントし、抜き出すことです。数学で言えば、共通項をくくりだすイメージです。そんな時に使えるのが、array_intersect関数です。使い方はこんな感じ。
array_intersect( 比較元の配列 , 比較対象の配列);
array_intersect()の()のなかに、2つの配列をコンマで区切って入れるイメージです。
ちなみに、$valという新しい配列名の箱に、共通項は全部入っていることになります。
ではこの新しい共通項の箱には、何個の単語が入っているのでしょうか?
配列の中の要素数を数えたい時はcount関数
配列の中にいくつの要素が入っているのか、その数をカウントしたい時は、その名の通りcount関数が使えます。使い方はこんな感じ。
count(調べたい配列名);
今回、PHPのフレームワークであるLaravelを使っているので、{{ }}の部分はLaravel特有の書き方です。今回はその説明は省きます。では、いよいよブラウザ上で数を表示させてみましょう。
はい、今回知りたかった、ターゲット1900と1400どちらにも掲載されている単語数は、1027個でした。皆さんの予想は当たりましたか?
個人的には思ったより多いなあという印象です。
一応この1027個の単語を、ブラウザ上でリスト番号付きで表示させてみましょう。
ここで使用したHTML言語の説明と、PHPのforeach構文の詳細は省略します。foreach文とは、配列の中の全要素を1つずつ取り出して、順番に表記してくれるものだと思ってください。それではブラウザ上で表示させてみましょう。
はい、著作権の関係上全ての単語は載せられないので、最初と最後の数個ずつ見てもらっています。ちなみに、配列の中身をアルファベット順且つ、文字数の少ない順にする関数も使用していますが、今回その説明は省きます。
これを見て、皆さんはどう思いましたか?
私はターゲット1400に対してかなり入門レベルの先入観を持っていたので、
意外に長いスペルの単語も1400には載せてくれてるんだな
というのが、私の印象です。
もちろん長いスペル = 難しいとは限りません。
しかしこの単語を見て、
「簡単じゃん、全部もう知ってるよ」
って思った方はいきなりターゲット1900から買うのがオススメです。ここに載っていない800〜900個の単語が、あなたの英語力をさらに向上させてくれるでしょう。
ターゲット1400にしか載っていない単語はどのレベル?
今回の目的は一応達成したのですが、最後に気になったことがあります。
ターゲット1900にしか載っていない、
(1900 - 1027 = 873)個
の単語がある程度の難易度を保証してくれるのは、簡単に想像できますよね?
でもターゲット1400にしか載ってない、
(1400 - 1027 = 373)個
の単語ってどんなレベルだと思いますか?もしこの単語がそこそこ難しいレベルなら、これを無視していきなりターゲット1900から入るのは不安じゃないですか?
というわけで、今度はターゲット1400と1900の共通項ではなく、差分を見ていきましょう。
違いを見つけたい時はarray_diff関数
PHPにおいて、配列同士の共通項ではなく、差分(異なる部分)だけを抜き出してくれるのがarray_diff関数です。使い方はこんな感じ。
array_diff( 比較元の配列 , 比較対象の配列);
今回の配列で当てはめると、
省略しますが、count関数で数を確認したら、きちんと373個と表示されました。では先ほどと同じように、短いスペル順にリスト表示してみます。
はい、これらがターゲット1400にしか載っていない単語の一例になります。言い換えると、ターゲット1900だけを勉強していたなら巡り合わなかった単語になります。
短いスペルのものは、やはり非常に基本的な単語ばかりですが、大事なのは長いスペルの単語類です。やはり基本的なものも多い印象ですが、なかなか侮れないものもあります。(実際は同じ単語の派生語としてターゲット1900に載っているものもあるので、実際はこれより少なくなります。)
上にあるfurthermore(その上)は、受験レベルではやはり知っておきたい単語です。それ以外でも個人的に侮れない単語を挙げると、modest(控えめな), litter(ゴミ), secretary(秘書)などが含まれます。
もちろん単語帳以外でも高校の英語の授業で触れる単語は多く、それでカバーできるレベルのものばかりです。しかしそれらを完全にサボってきた生徒は、ターゲット1400→1900の順で2冊買うのがベストかなと思います。難しい単語ばかり覚えて基礎単語が抜けている、というのは共通テストではかなり不利に働くことになるからです。
今回のまとめ
今回のまとめはこんな感じです。最後に補足ですが、この図の中央部分を見てください。
2冊どちらにも載っている単語は1027個あると言いましたが、その表記内容には若干の差があります。それはターゲット1900の方が派生語のバリエーションが多く載せられているという点です。
単語帳を完璧にするとは、派生語まで完璧にするという意味を含む場合も多い(私の場合はそうでした)ので、この点が気になる方は、ターゲット1400だけで終わるのは少し不安かもしれません。
ただし、英語にそこまで比重をかける必要がない人は、あえて細かいところまで極めるよりも、シンプルなものを何周もして完璧にするのが良いのかもしれません。
ではどういった単語帳の選び方をすればいいのか、やはり冒頭で言った結論は変わりません。
繰り返しになりますが、国公立の二次試験まで英語があるなら、迷わず1900を、共通テストレベルまで、もしくは一定水準以下の私立大学までだったら、1900を中途半端に半分くらい覚えるより1400を完璧にする方が良いと考えます。
2冊買うべきかどうかは、ターゲット1400にしか載っていない373単語をどう判断するかで決めてください。偏差値レベルにもよりますが、学校の定期テストでコツコツ真面目に英語をやって来た生徒は、いきなりターゲット1900からでも問題ないかなと思います。
今回の配列比較で、ターゲット1400を完璧に覚えれば、ターゲット1900うち1027個を完璧に覚えたのと同じということが分かりました。
この結果から分かる重要ポイントは、
ターゲット1900で半分以下で挫折 < ターゲット1400を極める
という点です。さらにターゲット1900で挫折するレベルだと、ターゲット1400にしか載っていない373個すら怪しいと思われるので、なおさら差がつきますね?
今回は英語が最重要科目(最も時間をかけられる科目)ではないんだけど、無視はできない人にとって、ある程度の道筋になったのではないかなと思います。
今後も比較する単語帳を増やして、面白い検証をしていきたいなと思います。それではまた!