一道涉及现在完成时中短暂性动词和延续性动词的题

【题文】They have made so great progress _________. 

A. three years ago

B. for three years 

C. in the past three years

D. before three years 

我想问,make progress是短暂性动词吗? 若是,那么为什么和一段时间连用?(我之前看到过make friends with 变be friends with的)

另外make是延续性动词吗?像make the cake for me我又觉得好像是延续性动词。

我很疑惑,最后改题为什么不选B,B项带入意思有不顺,但C行的话B为什么不行?

请老师帮忙。

请先 登录 后评论

最佳答案 2019-12-11 21:10

make progress 为延续性终结动词。取得进步这个动作持续若干时间后结束,主语的状态发生改变(比如英语水平由四级变成了六级)。

make progress为动态动词表示事件。现在完成时表示的事件,是发生在现在以前的一个不确切的过去时间。即有一个从过去延续到现在的时间区域(time zone), 这个时间区域通常由since,in/during the past/last +时间名词表示。该事件发生在这个时间区域中的一个不确切的时间点或时间段,并不占据整个时间区域。

如果用for时间状语,则意味着事件的实际持续的时间与时间区域完全重合。所以谓语动词通常为静态动词表示一个状态持续,或者用现在完成进行时表示一个事件持续发生到现在。

例如:

He has written only three letters to his parents in the past 2 years.

从过去到现在的时间区域为the last two years.

写三封信这个事件发生在过去二年中的不确切的时间。但并不占据二年时间。

He has lived in Beijing for 2 years.

live为静态动词表示状态,该状态迄今为止持续了二年,转态实际持续时间与而时间区域重合。

所以网友应该意识到,并非所有的现在完成时都可以和for时间状语连用。

网友这个试题中,取得进步实际所占时间小于三年。如果先要表达这三年他一直在取得进步,换句话说,取得进步所用的时间和时间区域重合,则谓语要用现在完成进行时,而不是完成时了。

They have been making great progress for three years/ in the past three years.

请先 登录 后评论

其它 1 个回答

mengxin Z

They have made (so)great progress _________. 

B. for three years 


这让我想起一句英语

He has come here for three years.

这句话初看是错的, 

再看可以是对的:他来这里是为了过上三年


同样,

have made great progress for three years 

这句话初看有点别扭

再看这句也可以对,但要表达的意思的“每年”、"连续三年”

have made great progress(yearly)for three years 

have made great progress for three years (in a row)


(我的理解是这样,不带证明)



请先 登录 后评论
  • 3 关注
  • 4 收藏,4277 浏览
  • tkdfx 提出于 2019-08-18 09:53

相似问题