forget用一般过去式和现在完成时的区别

I am sorry I _______ to bring my homework here. I _______ it  at home, I'd better go home for it.

正确答案是:forgot;forgot leaving。我们的老师解释说:这里要用一般过去时,而不能用完成时,这是因为现在完成时是指从过去持续到现在的情况,forgot to bring my homework 是指忘记带了书而现在已经记起来了,所以不能用完成时。

但是我的理解是:忘记带书就是没带书,那么在说话的当下“我”还是没带书,所以用完成时啊!我认为如果按班上老师的思维,应该是用 forget doing,才有现在记起来一说吧? 求专家们分析!

请先 登录 后评论

最佳答案 2015-05-10 22:26

老师解释说,这里要用一般过去时,而不能用完成时,这是因为现在完成时是指从过去持续到现在的情况——这个说法不正确。只有当句子含有“时间段状语”时,现在完成时才表示持续到现在。

此外,你给的句子用 forgot 和 have forgotten 都正确,都表示“在过去(在当时)忘记”。如果现在仍然忘记,就用 forget。

请比较:

1. I forgot her name.

2. I have forgotten her name.

3. I forget her name.

12句没有本质的区别:都是在过去(即便是刚才)忘记了她的名字,现在是否想起来,尚未可知。

3句指现在仍然忘记了她的名字,想不起来了。

【注意】在没有明显过去时间状语的前提下,一个一次性的动作使用一般过去时和现在完成时,都可以。实际上,现在完成时和一般过去时,没有本质上的区别,都“表示过去的动作或状态”。 使用现在完成时,只是增加了一层意思:表示对现在的影响或某种结果。

【补充】 第一个选项用 forgot 没错,用have forgotten更好;第二个选项用forgot leaving不对,应改为 remember leaving(记得留在家里)。若说 forgot leaving,意思是“忘记是否留在家里”。那么,后面的 I'd better go home for it. 讲不通。

请先 登录 后评论

其它 0 个回答

  • 2 关注
  • 4 收藏,15009 浏览
  • 春暖花开 提出于 2015-05-07 20:47

相似问题