首先if條件從句知識溫故而知新:
(1)一般普通假設,不屬于虛擬語氣。If you study hard now, you will be a successful man.
if 引導從句為一般現在時,主句為將來時。
(2)與現在事實相反的假設,虛擬語氣。If I were you, I would join them.
if 引導從句為一般過去式,主句為would/could/should/might+動詞原形。
(3)與過去事實相反的假設,虛擬語氣。If I had got there earlier, I should have met her.
if 引導從句為過去完成時,主句為would/could/should/might+ have +動詞過去分詞。
我們今天著重學習的內容是if 引導從句為過去完成時,表示與過去事實相反的假設,虛擬語氣;主句為would/could/should/might+ have +動詞過去分詞。
【什么是與過去事實的相反虛擬語假設呢?】
有一件事發生在過去,這件事已經成為事實,現在我們假設在過去的時候,又另外一種情況出現的話,又會有什么樣的結果。那么由if引導的從句就是這種與過去事實相反的虛擬或假設。
if 從句是一種虛擬的條件或假設,和過去事實相反的。
主從句的時態具體如下:
從句: had + 動詞過去分詞
主句:would/could/should/might+ have +動詞過去分詞
(1)If I had remembered the answer, I should have got better grade.
譯文:如果我記得答案,我應該會得到一個更好的分數。
從句:If I had remembered the answer,過去完成時(had + 動詞過去分詞),had +remembered ~
主句: I should have got better grade,would +現在完成時(have + 動詞過去分詞),would have got~
分析:首先考試這件事情發生在過去,并且我的成績考得不好也是事實。這里對過去進行假設,假設另外一種情況——我記得那個答案,推測假設的結果——得到更高一點的分數。if 引導的對過去事實假設的虛擬語氣。
(2)If he had taken my advice, he would not have made such a mistake.
譯文:如果他采納了我的建議,他就不會犯這樣的錯誤。
從句:If he had taken my advice,過去完成時(had + 動詞過去分詞),had +taken ~
主句: he would not have made such a mistake,would +現在完成時(have + 動詞過去分詞),would have made ~
分析:事情發生在過去,事實上他沒有采取我的建議。現在假設另外一種情況——他采取了我的建議,那么結果——他不會犯這樣的錯誤。對過去客觀存在的事實一種假設,以及推測其可能發生的結果。if 引導的對過去事實假設的虛擬語氣。
練習(答案在文末)
If he ____ ( study ) harder, he might have passed the exam.
If there ____ (be ) a heavy snow, we ____ (not go )skating.
If I ____ (get ) there earlier , I ____ (meet ) her.
經典例句:
If I were you, Mrs Gretchen, I just wouldn’t worry about it
要是我是你,格蕾琴夫人,我一點都不會擔心。
If you went into town, you’d notice all the pubs have loud jukeboxes
如果你進了城,你會注意到所有的酒吧都有音量很大的自動點唱機。
If he improved his IT skills, he’d (= he would) easily get a job.
他如果提高了自己的信息技術技能,就會容易找到工作。
You would know what was going on if you’d (= you had) listened.
你若是注意聽了,就會知道發生什么事了。
They would have been here by now if they’d caught the early train.
假若他們趕上了早班火車,現在就該到這里了。
If only you had told me that some time ago
要是你早些時候告訴我該多好啊!(直接對過去的事情進行虛擬或假設)
《柯林斯高階英漢雙解學習詞典》
答案:
had studied,如果他學習努力一點,他就有可能通過這個考試。
had been , should not have gone ,如果這里有雪,我們就不應該在這里滑雪。
had got , would have not,如果我早一點到那里,我可能會遇到她。