【第4章 完了】の確認テストです。⇩こちらで復習してからどうぞ。
問題に入る前に、完了形とは何かを説明します。
完了形とは、ふたつの時制をまたがっている表現です。
過去完了、現在完了、未来完了の3つがあります。
過去完了(had+過去分詞)は大過去(過去から見た過去)から過去
現在完了(have/has+過去分詞)は過去から現在
未来完了(will have +過去分詞)は現在から未来
について述べています。
この3つの完了形は、共通する3つの意味があります。
①完了(2つの時制の間に完了してしまった)
②経験(2つの時制の間に経験した)
③継続(2つの時制の間ずっと継続している)
以上が完了形の基本情報です。
それでは問題にチャレンジしてみましょう。
問1
次の英文の空所に入れるのに最も適切な語句を下の①~④から一つずつ選びなさい。
1.Ann and Katie( )each other since 1996.
①know ② have known ③ have been knowing ④ knew
2. When ( )you come to Japan?
① have ② were ③ are ④ did
3. Last night I arrived so late at his house that the party ( ).
① ended ② has already ended
③ was already ended ④ had already ended
4. I couldn't open the door because I ( )the key.
① lose ② have lost ③ had lost ④ losing
5. My father ( ) for the company for 30 years next year.
①has worked ②will have worked
③has been working ④works
6. We are going to watch this DVD tonight. We ( ) it 10 times then.
①have watched ②had watched
③will have watched ④watched
7. Sam ( ) TV before her mother came home.
①watched ②had been watching
③will be watching ④has been watching
8. In Boston, it ( ) since last night.
①is raining ② has been raining
③will have rained ④had been raining
9. He brought me my watch that I ( ) at his house.
①will have left ②have left
③was leaving ④had left
10. A: Have you ever seen that movie?
B: Yes. When I was in Tokyo, I ( ) it three times.
①had seen ②have seen
③saw ④would see
【問1 解答&解説】
1.Ann and Katie ②have known each other since 1996.
訳:アンとケイティは1996年以来知り合いです。
解説:1996年(過去)から現在にいたるまでずっと継続して知っているので現在完了。
「ずっと知っている」だから、ここで解説したように現在完了進行形で③have been knowingじゃダメなの?と思った人も中にもいるかもしれませんが、ダメです。なぜなら、know「知っている」という動作は、状態を表す動詞なので、進行形にすることはできません。
2. When ④did you come to Japan?
訳:いつ日本に来たの?
解説:これはひっかけ問題です。「いつ」というのは過去のある一点を聞いているのだから過去形didが正解。
3. Last night I arrived so late at his house that the party ④had already ended
訳:昨晩私は彼の家に着くのがとても遅かったので、パーティーは既に終わってしまっていた。
解説:私が彼の家についたのが過去、それより前にパーティーが終わっていたので過去完了が正解。
ちなみにこの文章は、so 形/副 that S' V'「とても形/副なのでS'がV'する」という構文が使ってあります。
4. I couldn't open the door because I ③had lost the key.
訳:鍵をなくしてしまっていたので、ドアを開けられなかった。
解説:ドアを開けられなかったのが過去、それより前に鍵をなくしたので過去完了。
5. My father ②will have worked for the company for 30 years next year.
訳:父は来年で勤続30年になります。
解説:「来年」という未来のある時点でずっと継続して働いているであろうという意味なので、未来完了。
6. We are going to watch this DVD tonight. We ③will have watched it 10 times then.
訳:今夜このDVDを見る予定だ。これで10回見たことになるだろう。
解説:今夜DVDを見るという未来のある時点までの経験を言っているので未来完了。
7. Sam ②had been watching TV before her mother came home.
訳:サムはお母さんが帰ってくるまで、ずっとTVを見ていた。
解説:お母さんが帰ってきたという過去のある時点までずっと継続してTVを見ていたので過去完了。(ちなみにSamという名前は男だけでなくSamanthaの略で女の子でもありえます)
8. In Boston, it ②has been raining since last night.
訳:ボストンは、昨晩からずっと雨が降っている。
解説:昨晩という過去から現在まだ雨が降っているので現在完了。
9. He brought me my watch that I ④had left at his house.
訳:私が兄の家に置き忘れた時計を、兄が持ってきてくれた。
解説:兄が持ってきてくれたのが過去。それよりもっと前に置き忘れたので過去完了。
ちなみにthat I had left at his houseは関係代名詞の節で、目の前でmy watchを修飾している。
10. A: Have you ever seen that movie?
B: Yes. When I was in Tokyo, I ③saw it three times.
訳:A:あの映画観たことある?
B:うん、東京にいたとき、3回見たよ。
解説:これもひっかけです。質問が現在完了だし、three timesとあるから現在完了を選んでしまいそうですが、When I was in Tokyoは、例えばyesterdayのように過去のある一点を表す語なので過去形が正解。
問2
日本語の意味にあうように、(1)~(10)に[ ]内の動詞を適切な形に直して入れなさい。ただし、一語とは限りません。直す必要がない場合は、そのまま書きなさい。
1. 彼が医者に診てもらった時、病気になって3日たっていた。
He ( 8 ) sick for three days when he went to see a doctor. [be]
2. 私たちが結婚した時、私たちはお互いを2年間知っていた。
When we ( A ) married, we ( B ) each other for two years.
A:[get] B:[know]
3. もしもう一度そこへ行ったら、私はその動物園を3回訪れたことになる。
I ( A ) the zoo three times if I ( B ) there again.
A:[visit] B:[go]
問2【解答&解説】
1. 彼が医者に診てもらった時、病気になって3日たっていた。
He had been sick for three days when he went to see a doctor.
解説:彼が医者に診てもらったのが過去。それより前に3日間病気だったから過去完了。
2. 私たちが結婚した時、私たちはお互いを2年間知っていた。
When we got married, we had known each other for three years.
解説:私たちが結婚したのが過去、それより前に2年間知っていたので過去完了。
3. もしもう一度そこへ行ったら、私はその動物園を3回訪れたことになる。
I will have visited the zoo three times if I go there again.
解説:もしもう一度動物園に行くという未来のある時点までの経験を言っているので未来完了。
ん!?!?「もう一度動物園に行くのは未来」なのに、If I goって現在形じゃないか!?と思った人は鋭いです★これは前回もしつこく解説した「時や条件を表す副詞節の中では未来のことでも現在形」というルールがあるので、If I'll goではなく、If I goになっています。
問3
全ての文が同じような意味になるように( )に適当な語を1語ずつ入れなさい。
・It ( ) ( ) five years since he died.
・He has ( ) ( ) for five years.
・He ( ) five years ago.
・Five years ( ) ( ) since he died.
問3【解答&解説】
この「死んで〇年」の文はよく試験に狙われます!
・It has been five years since he died.
訳:彼が死んで5年になる。
解説:彼が死ぬという行為があったのが過去の出来事なので過去形。
時を表すときは主語をItにしますよね?現在のことなら、It's 2 pm.
今回の文章は過去から現在にいたるまでの時間を言っているので、現在完了になってIt has been five yearsとなっています。
・He has been dead for five years.
訳:彼は5年間ずっと死んだ状態である。
解説:過去に死んで、それ以降現在まで5年間ずっと死んだ状態なので現在完了。
・He died five years ago.
訳:彼は5年前に死んだ。
解説:「死ぬ」という行為があったのは過去のある一点なので過去形。
・Five years have passed since he died.
訳:彼が死んで以来5年間が経った。
解説:彼が死んだという行為があったのは過去かので過去形。それから現在にいたるまで、5年という年月が経ったので現在完了。
問4
日本文に合うよう( )内の語を並べかえなさい。
(文頭に来る語も小文字で示してある)
1. 待つほどもなく彼らはやってきた。
I (waited / long / before / they / had / appeared / not).
2. 彼女は、雇われて1か月もしないうちに昇進した。
She ( before / not / one month/ was promoted / been employed / she / had).1. 待つほどもなく彼らはやってきた。
問4【解答&解説】
1. I had not waited long before they appeared.
直訳:彼らが現れる前に、私は彼らを長い間待たなかった。
解説:彼らが現れたのが過去。私が彼らを長い間待たなかったのはそれよりも前なので過去完了。
2. 彼女は、雇われて1か月もしないうちに昇進した。
She had not been employed one month before she was promoted.
直訳:昇進する前に、彼女は一か月も雇われていなかった。
解説:昇進したのが過去。それより前に一か月も雇われていなかったので過去完了。