助动词过去式+have done 句式 时常用在虚拟语气中 但也有些情况是表推测,并非是虚拟语气,如何区分这两种?虚拟语气中一定会有条件句存在吗?
谢谢老师的回答!
你这个问题可以阅读这个解答:
Well, the site was close to the Murgab river, which they would have depended on for their water.
【问题】请问这里为什么要使用过去将来完成时?
【翻译】那地方紧靠穆尔加贝河,他们当时或许要靠这条河用水。
【讲解】would have depended 表示对过去情况的可能性推测,意为“那时或许依靠”。
would +完成时,可以表达两种情况:
1. 表示虚拟语气,与过去情况不符或相反。例如:
If we had had enough rain last year, we would have gained a good harvest. 如果去年雨水充足的话,我们会有一个好的收成。
这句话的含义是:去年雨水不足,我们粮食没有取得好收成。
She would have gone with me, but she didn't have time. 她本来会和我一起去的,可她没有时间。
2. 表示对过去发生事情的可能性推测。例如:
People are recycling many things which they would have thrown away in the past. 现在人们都在回收他们过去可能会丢弃的东西。(2014安徽高考试题)
你的句子就属这种情况。
▲一般说来,情态动词would, might, could, should 都可以跟完成时连用,表示:1. 【与过去不符的虚拟语气】和2.【对过去的推测】
might have done:
【虚拟语气】We might have arrived earlier if we had taken the other road. 如果我们当时走了另一条路,就可能到得早一些。
【对过去的推测】You were stupid to try climbing up there. You might have killed yourself. 你从那儿往上爬,太蠢了,你可能会摔死的。
could have done:
【虚拟语气】If he had known the facts, he could have told us what to do. 如果他了解事实,他可能就告诉我们怎样做的。
【对过去的推测】Tom could have taken the money; he was here alone yesterday. 有可能是汤姆把钱拿走了,昨天他单独一个人在这里呆过。
注:could 表推测时,多用于否定句或疑问句。
should have done:
【虚拟语气】(分两种情况)
①I should have answered the letter yesterday, but it went right out of my mind. 我本该昨天回信的,但我把这件事忘得一干二净。(应该做而没做)
②But for the storm, we should have arrived earlier. 要是没有碰到暴雨,我们还会早到一些的。(用于第一人称的虚拟语气,跟would同)
【对过去的推测】
The train should have already left by then. 那时火车大概已经开走了吧。
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!
助动词过去式+have done 句式 时常用在虚拟语气中 但也有些情况是表推测,并非是虚拟语气,如何区分这两种?虚拟语气中一定会有条件句存在吗?
谢谢老师的回答!
回答如下:
【1】属于助动词will+have done 表示将来完成时态
They will have finished their contract by next week.
【2】属于情态动词will+have done 表示对已完成动作推测
We worked together for a year, he won’t have forgotten me.
【3】属于情态动词would+have done 表示虚拟语气
I would have helped you if I had know of your difficulties
如果觉得我的回答对您有用,请随意打赏。你的支持将鼓励我继续创作!