現在完了

解説/ 基本問題/ 標準問題/ 発展問題/

□問題

基本問題

We (  ).  [学習院高]
(1)were last night there (2)were there last night (3)have been there last night (4)have been last night there

標準問題

I have never been to the city.
= I have never (  ) the city. [京華高]

発展問題

When they reach the top of the mountain, they (  ) over five hundred meters.  [広島修大]
(1) would have climbed (2) climbed (3) will have climbed (4) had climbed

解説

現在完了で大切なことは、現在完了は、have +過去分詞という形をしていて、この have が時制を現しているということです。have だから、当然、現在です。現在なので、例えば、I have a book yesterday. という英文が間違いであるのと同じことで、last night, 〜 ago, just now などという明らかに過去を表す副詞とはいっしょに使えません。
こんな問題が出ます。

間違いのある文を1つ選びなさい。
(a)I have finished my homewrok just now.
(b)I have just finished my homework.
(c)I finished my homework just now.  [灘高]

just now = a moment ago 「たった今」は、現在のことを表しているような気がしますが、「たった今、私は本を読み終わる」という文がおかしいことからも、(a)I have finished my homewrok just now. が間違いであることがわかります。

My brother (  ) Seoul, Korea, three times last year. [新潟産業大]
(1) visited
(2) was visiting
(3) has visited
(4) has been visiting

こんな問題もあります。うっかり three times にまどわされて、日本語の意味も「3回訪れたことがある」となって合うので、(3) has visited を選んでしまうかしれませんが、やはり last year という過去の副詞に注目して、(3) has visited (4) has been visiting という現在は、不可ということになります。正解は、単純過去の (1) visited です。
あと、もう1つ、×When has she returned home? のように、when と現在完了とはいっしょに使えないというのも知っておくべきことです。これはどうしてかというと、