英文法ノート㉚ 現在完了2・未来完了・過去完了
<1>現在完了の用法2
ⅰ)「have been to ~」は、
「~に行ったことがある(今、ここにいる)」という経験、
「~に行って戻ってきたところだ(今、ここにいる)」という完了の意味になる。
She has been to China.
→彼女は中国に行ったことがある。(今、彼女はここにいる)
I have just been to the post office.
→私はちょうど郵便局に行ってきたところだ。(今、私はここにいる)
ⅱ)「have gone to ~」は、
「~へ行ってしまった(今、ここにはいない)」という結果の意味になる。
She has gone to China.
→彼女は中国に行ってしまった。(今彼女はここにはいない)
ⅲ)「経験」を尋ねるときは、疑問文では、ever=「これまでに」を伴う場合が多い。
また、否定文で「これまで一度も~したことがない」というときは、notではなくnever=「(これまでに)一度も~したことがない」を使う場合が多い。
Have you ever seen this film?
→あなたは、これまでにこの映画を見たことがありますか。
I have never seen this movie.
→私はこれまで一度もこの映画を見たことはない。
ⅳ)「何回~したことがありますか」と回数を尋ねるときは、
「How many times ~?」を使う。
How many times have you seen this movie?
→あなたは何回この映画を見たことがありますか。
「どのくらいの頻度で~したことがありますか」と頻度を尋ねるときは、
「How often ~?」を使う。
How often have you seen Mary?
→あなたはどのくらいの頻度でメアリーに会ったことがありますか?
ⅴ)yetは「完了」の意味の疑問文・否定文でよく使われる。
疑問文ではyet=「もう」、否定文ではyet=「まだ」と訳を使い分ける。
yetは、文の最後に置く。
Have you read the magazine yet?
→あなたはもうその雑誌を読みましたか?
I haven’t read the magazine yet.
→私はまだその雑誌を読んでいない。(今もその状態だ)
ⅵ)「継続」する期間を尋ねるには、「How long ~?」を使う。
How long have you studied Japanese?
→あなたはどれくらい日本語を勉強していますか?
For three years. →3年間です。
ⅶ)現在完了は時制としては「過去ではない」ので、
過去のある時点や期間を表す表現と共には使えない。
つまり、「yesterday(昨日)」、「last week(先週)/ last month(先月)/ last year(昨年)」、「~ago(~前)」、「when + 主語 + 過去形~(・・・が~だったとき)」など、明らかに過去を表す表現の語句と共に使うときは、
常に過去形が使われる。(現在完了形と共に使えない)
現在を含むようなもの「lately(最近)」「since yesterday(昨日以来ずっと)」などは、現在完了形とともに使える。
I haven’t talked to her lately.
→私は最近、彼女と話していない。(今もその状態が続いている)
John was sick in bed yesterday. →ジョンは、昨日病気で寝ていた。
→「昨日」という過去の時点について述べているので過去形を使う。
現在、ジョンがどのような状態なのかはわからない。
John has been sick in bed since yesterday.
→ジョンは、昨日からずっと病気で寝ている。(今もその状態だ)
<2>過去完了
過去完了 : 基準となる時点は、過去のある一点。
関係するのは、「その過去のある一点」と「それよりも古いこと」。
He had already left Tokyo when I visited him.
→私が彼を訪問したとき、彼はすでに東京を出発してしまっていた。
※「私が訪問した」時点が基準。
「彼が東京を出発した」のは、「その基準よりも古い」出来事。
基準⇒過去形 基準よりも古い⇒had + 過去分詞
I had already finished the work when he came.
→彼が来たとき私はすでにその仕事を終えてしまっていた。
※「彼が来た」時点が基準。
「仕事を終えた」のは、「その基準よりも古い」出来事。
基準⇒過去形 基準よりも古い⇒had + 過去分詞
<3>未来完了
未来完了 : 基準となる時点は、未来のある一点。
関係するのは、「その未来のある一点」と「それよりも古いこと」。
I will have finished this homework by next week.
→来週までには、この宿題を終えてしまっているだろう。
※「来週」が基準。
「宿題を終える」のは、「その基準よりも古い」出来事。
基準⇒未来の一点 基準よりも古い⇒will have + 過去分詞
I will have been to Singapore ten times if I go there again.
→もし私がもう一度そこに行ったら、私はシンガポールに10回行ったことになるだろう。
※「私が再び行ったとき」が基準。
「10回行ったことになる」のは、「その基準よりも古い」出来事。
基準⇒未来の一点 基準よりも古い⇒will have + 過去分詞
<4>完了進行形
ⅰ)現在完了進行形
現在完了進行形は、現在完了(いままでずっと~してきた)=「have+過去分詞」と、進行形(~ている)=「be動詞+~-ing」がくっついたもの。
「have been ~ing」の形で、「今までずっと~ているところだ」と、
現在を基準にし、現在までの動作の継続を表している
I have been reading this book since this morning.
→私は朝からずっとこの本を(ずっと)読んでいる。(今も読んでいる)
※「進行形」だけの場合、ある時点で動作が進行していることしか表せない。
She was looking for her ring this morning. 過去の一点だけ。
She is looking for her ring now. 現在の一点だけ。
ⅱ)過去完了進行形
過去完了進行形の形は「had + been + ~-ing」で、「(過去のある時点まで)~し(続け)ていた」と、過去のある時点までの動作の継続を表す。
I had been reading the book for three hours before he called me.
→彼が私に電話をかけてくる前に、3時間その本をずっと読んでいた。
※「彼が電話をかけてきた」時点が基準。
「本を読んでいた」のは、「その基準よりも古い」出来事。
基準⇒過去形 基準よりも古い⇒had + 過去分詞
ⅲ)未来完了進行形
未来完了進行形=「will have + been + ~-ing」で「(未来のある時点まで)~し続けているだろう」、「(未来のある時点まで)~し続けることになるだろう」と未来のある時点までの動作の継続を表す。
She will have been studying for four hours until I call her.
→私が彼女に電話をするまで、彼女は4時間ずっと勉強し続けているだろう。
〔30〕 現在完了Ⅱ・過去完了・未来完了
重要ポイント㉚ ⇒ここをクリック!