現在完了
このノートの問いがそのまま復習カードになり、忘れかけたころに出題されます。
学習指導要領 中学校 エ(ウ)e。
0. どういうまとまりか
have / has + 過去分詞の形で、「過去のことが、今とつながっている」ことを表します。
日本語に同じ形が無いので、中学英文法でいちばん取り違えが起きるところです。
過去形との違いは 1 点です。過去形は過去だけの話、現在完了は今につながる話。
| 文 | 意味するもの |
|---|---|
| I lost my key.(過去形) | なくした(今見つかったかは言っていない) |
| I have lost my key.(現在完了) | なくして、今も無い |
使い方は 3 つに分かれ、一緒に使う語で見分けられます。
| 使い方 | 意味 | 一緒に使う語 |
|---|---|---|
| 経験 | 〜したことがある | ever / never / before / once / twice |
| 継続 | ずっと〜している | for ~ / since ~ |
| 完了結果 | ちょうど〜したところだ | just / already / yet |
引っかけの分かれ目は次の 3 つ。
- はっきりした過去を表す語とは一緒に使えない(× I have seen him yesterday.)
- have been to(行ったことがある)と have gone to(行ってしまった)は別
- yet は疑問文・否定文、already は肯定文
1. 経験を表す使い方
根拠: 学習指導要領 中-エ-(ウ)-e
I ____ to Kyoto twice.
私は京都へ 2 回行ったことがあります。
私は京都へ 2 回行ったことがあります。
have been
「〜したことがある」はhave / has + 過去分詞。ever・never・before・once・twice と一緒に使い、経験した回数や今までにあるかどうかを言う。
He ____ Osaka, so he isn't here now.
彼は大阪へ行ってしまったので、今ここにいません。
彼は大阪へ行ってしまったので、今ここにいません。
has gone to
has been to は「行ったことがある」、has gone to は「行ってしまって今ここにいない」。
I ____ to Kyoto twice with my family.
私は家族と京都に 2 回行ったことがあります。
私は家族と京都に 2 回行ったことがあります。
have been
twice があるので経験。
Have you ____ seen this movie before?
あなたはこの映画を以前に見たことがありますか。
あなたはこの映画を以前に見たことがありますか。
ever
疑問文で「今までに」と聞くときは ever を過去分詞の前に置く。
I have ____ eaten such delicious cake before.
私はこんなにおいしいケーキを今までに食べたことがありません。
私はこんなにおいしいケーキを今までに食べたことがありません。
never
never は not を使わずに「一度も〜ない」を表す。
2. 継続を表す使い方
根拠: 学習指導要領 中-エ-(ウ)-e
I have lived here ____ I was a child.
私は子どものころからここに住んでいます。
私は子どものころからここに住んでいます。
since
for は期間(for ten years / for a week)、since は始まった時点(since last week / since I was a child)。
I ____ in Tokyo for ten years now.
私は東京に住んでもう 10 年になります。
私は東京に住んでもう 10 年になります。
have lived
過去のある時から今まで続いているので現在完了。
She ____ busy since last week.
彼女は先週からずっと忙しいです。
彼女は先週からずっと忙しいです。
has been
主語が 3 人称単数なので has。be 動詞の過去分詞は been。
3. 完了・結果を表す使い方
根拠: 学習指導要領 中-エ-(ウ)-e
Have you done it ____?
もうそれをやりましたか。
もうそれをやりましたか。
yet
just と already は過去分詞の前(I have just finished lunch. / She has already left.)、yet は文末。yet は疑問文で「もう」、否定文で「まだ」(I haven't done it yet.)。
I have ____ finished my math homework.
私はちょうど数学の宿題を終えたところです。
私はちょうど数学の宿題を終えたところです。
just
終わった結果が今も続いている(もう宿題は無い)。
Have you read that book ____?
あなたはもうその本を読みましたか。
あなたはもうその本を読みましたか。
yet
疑問文の文末に置く yet は「もう」。
4. 現在完了進行形
根拠: 学習指導要領 中-エ-(ウ)-e
She ____ for you for an hour.
彼女は 1 時間ずっとあなたを待っています。
彼女は 1 時間ずっとあなたを待っています。
has been waiting
have / has + been + ~ing で「ずっと〜し続けている」。継続の意味を、動作について強く言う形。know / like のような状態動詞には使わない。
I ____ English for two hours.
私は 2 時間ずっと英語を勉強し続けています。
私は 2 時間ずっと英語を勉強し続けています。
have been studying
動作が今も続いていることを表す。
5. 過去形との使い分け
根拠: 学習指導要領 中-エ-(ウ)-e
I ____ him yesterday.
私は昨日、彼に会いました。
私は昨日、彼に会いました。
saw
yesterday / last week / ~ ago / When ~? は過去だけを指す語なので、今とつながる現在完了とは結び付かない(× I have seen him yesterday.)。