Q&A
-
過去完了形が苦手です。
どう覚えればいいでしょうか? -
過去完了形は、done(過去分詞)の「何かをやり終えた状態」を had により、「何かをやり終えた状態」と「過去のある時点」を結びつけて表現する英文法です。
現在完了形は、have によって「何かをやり終えた状態」と「現在」を結びつけて考えるので表す時制が異なります。
要は、現在完了形を過去にスライドさせて考えればいいのです。
過去完了形は「何かをやり終えた状態を保持していた」というコアイメージから、次の3つの用法(現在完了と同じ)に派生させることができます。
3つのうちどの用法をとるかは、文脈や副詞によって変わります。完了 その時点では既に~していた 経験 その時点までに~したことがあった 継続 その時点まで~していた The train had already left when I arrived at the station.
私が駅に着いた時、電車はすでに出発していた[完了]I had visited China twice before I was 40 years old.
私は40歳になる前に、2回中国を訪れたことがあった[経験]They had known each other for three years when they got married.
彼らはお互い知り合ってから、3年経って結婚しました。[経験]
-
ネイティブは実際にどういう場面で「過去完了形」を使うのですか?
-
ネイティブの人たちが、過去完了をいつ使うか分からないと困っている人は確かに多いですね。
以下で実際にどういう状況で使われているかを説明しますので、参考にしてください。
ネイティブの人が過去完了形を使うのは、「〜だったのに〜という結果になった」というのがほとんどの場合です。
つまり、予期しなかったオチや不満を表す時に過去完了形が使われます。When I arrived, the concert had already finished.
私が到着したとき、コンサートはすでに終わっていました。回答 Fan先生 所属 PM English School[ 詳細 ] 地域 大阪府大阪市
-
(5)の問題についてなぜ、have +過去分詞じゃなくて、beになるのですか??
-
この問題は、仮定法過去完了「if条件節=過去完了」「帰結節=過去形」というパターンです。
last night と now の時制の対比に注目しましょう。
〇 If you had gone to bed early last night, you [would not be] sleepy now.
訳:昨晩は早く寝ていたら、今は眠くならなかっただろう。
時制:過去→現在
事実として:昨晩早く寝ていなかったから、(その結果)今は眠い。
【補足説明】
If you had gone=過去完了
you would not be=過去
通例過去完了は過去よりもっと昔を表現しますので、
「go to bedというのが先に行われたことを示し、sleepyがその後にやって来ることを示します。」
× If you had gone to bed early last night, you [would not have been] sleepy now.
訳:昨晩は早く寝ていたら、今は眠くなかっただろう。
時制に難あり:昨晩から今までずっと寝てないような意味になる。しかも昨夜と寝てないのと今眠いのが同時進行のようにも聞こえます。
でも、last night と now を外してしまうと、以下の文は成り立ちます。
〇 If you had gone to bed early, you [would not have been] sleepy.
訳:早く寝ていたら、眠くなかっただろうに。
時制:かなり前の過去→過去
事実として:早く寝なかったから、(その結果何かの最中に)眠くなった。
ちなみに、ここでの will は未来の表現ではなく予測や推測の will だという事にも注意して下さい。
最後に、仮定法過去完了の時制はすごくよく間違えやすいです。
慣れるまでは
過去——現在——未来
のように線を引っ張って、パターンを勉強すると覚えやすいですよ。
条件節と帰結節で時制が逆転しているパターン
もし私がそのことを知っているならば、前に君に話していただろう。
If I knew the matter, I would have told you before.
こういうのもありますよ回答 Fan先生 所属 PM English School[ 詳細 ] 地域 大阪府大阪市
-
現在形や過去進行形、現在完了など時制についてまとめるとどうなりますか?
-
[現在形:S+do]
現在形は、習慣や一般的に起こることに使います。I talk with my friend every day.
毎日友達と話してるよ[現在進行形:S+be動詞+doing]
現在進行形は、今まさにしていることをを表します。I’m talking with my friend now.
今友達と電話で話してるよ[過去形:S+did]
過去形は、その名の通り過去にしたことについて話したい時に使います。I talked with my friend last night.
昨日の夜友達と話したんだ[過去進行形:S+was/were+doing]
過去のある時点で継続中だった行動表すときに使う表現です。I was talking with my friend then.
その時は友達と話してたな[未来形:S+be going to do/will do]
未来形は、 未来に起こることについて話したい時に使いますI’m going to talk with my friend tomorrow.
明日友達と話すんだ[現在完了形:S+have+過去分詞]
現在完了形は、過去に行ったことが今続いていることを表します。I have known her for 5 years.
5年間彼女と知り合いだよ[現在完了進行形:S+have been doing]
前から続いている動作を表したいときに使う表現です。I’ve been studying English for 3 months.
3ヶ月英語勉強してる![should have 過去分詞]
〜すれば良かったと後悔していることを表現するときに使います。I should have brought my coat.
コート持ってくれば良かった[仮定法過去:If S1 過去形, S2 would/could/might ~]
今だったらいいのにと、現実には起こり得ないことを表現するときに使います。If I were a dog, I would sleep all day.
私が犬だったら、一日中寝るのに[仮定法過去完了:If+S1+had+過去分詞, S2+would have]
あの時こうだったら~だったのに、と過去の事実とは異なることを表現するときに使います。If I had known her number, I would have called her..
もし彼女の番号知ってたら電話できたのに[間接疑問:~ 疑問詞+S+V]
文の中に疑問詞を含みたい時に使える文法です。I don’t know where Yuki is.
ユキがどこにいるかわからない[使役動詞:make / have / let]
誰かにさせる / 誰かにしてもらうという意味合いを表現したい時に使います。My father made me cook dinner.
お父さんは私に夕食を作らせた