高中英语语法时态问题!达人进!

many years ago , Jane ________ in the flat with her grandma for a long period of time
A. had been living
B. lived
既然有for a long period of time,为什么不能选A,表示在这一段时间·····这一意思呢?有for出现也可以用一般现在时吗?详解,谢啊!

many years ago , Jane ________ in the flat with her grandma for a long period of time
A. had been living
B. lived
既然有for a long period of time,为什么不能选A,表示在这一段时间·····这一意思呢?有for出现也可以用一般现在时吗?详解,谢啊!
答:因为句子中有明显的表示过去时间的时间状语:many years ago, 表示的是过去某段时间内发生的情况,所以用一般过去时,而不用过去完成时。
for+一段时间,不仅可以用于完成时态,也可以用于一般时态。它表示某个延续性的动作或状态持续的时间长度。如:Thomas Edison(1847-1931)was the world leading inventor for sixty years. 就是来自高中教材的一个句子。自这个句子出现后,for 加一段时间与一般过去时连用的考题成了某些考官的最爱,如:北师大版高一unit 2 lesson 1 练习_试卷_备课_当知网
It is said in the book that Thomas Edison (1847-1931) _____ the world leading
inventor for sixty years. A. would be B. has been C. had been D. was
这题相信选BC的不在少数,然而“正确”的答案一定是D! 因为,选B,则表示爱迪生还活着,且当仍是当今世界上处于领先地位的发明家,与事实不符。选C,则应有一过去的时间作参照,表示到那个时间为止,他领军世界发明已经有40年了,但句子中并没有提供这个时间。如果将主句改为it was said in 1931 that.... 则C正确。
楼主这题与这题是同一类型,但更有迷惑性!
因为句子中有一个过去的时间状语:many years ago, 而A是过去完成进行时!
要注意的是:many years ago 与many years before 的区别! ago是从现在算起的“以前”,before通常是以过去某个特定的时间算起的“以前”。如用A,则句子中还是缺少了一个作为参照的过去时间,如改为:Before she moved to the city (/went abroad, etc), Jane had been living in the flat with her grandmother for a long period of time. 就对了。当然,如改为many years before ...., 也可以,只是many years 与a long period of time 重复了!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-01
我来给你解释这问题,首先你翻一下是这样的:许多年以前我和外祖母平担的地方住了很长时间
A的是表示从过去的某一时间起,一直延续到现在的动作或状态,还有可能持续下去。就这道题分析,因为是许多年以前了所以阐述的不应是到现在应该是在过去的某一时间(因为根据句意现在应该不在那里住了)所以理由是这件事应该是发正在过的某一动作或状态,用一般现在时
即如果many years ago 有这个的话就选A
你的第二个问题在口中可以,但是在语法角度一般不用
第2个回答  2011-10-01
这个句子就是一般过去时的句子。后面的for什么是短语,不起作用
第3个回答  2011-10-01
B. lived 为正确选项。祥解要50分。
祝你进步!