关于英语语法问题,高手请进

请分析下一段对话:A:Haveyoualreadycleanedtheroom?B:Yes,wehavedonethatalready.A:Whendidyoudoit?... 请分析下一段对话:
A:Have you already cleaned the room?
B:Yes, we have done that already.
A:When did you do it?
B:We did it an hour ago.
问题:A2中为什么不能用have而要用did?
B2中为什么不能用have done而要用did?
各位大神请帮帮忙呢~最好解析得详细点,谢谢!
展开
XPOL
2014-08-19 · 知道合伙人教育行家
XPOL
知道合伙人教育行家
采纳数:10501 获赞数:55550
毕业于海军工程大学英语系。

向TA提问 私信TA
展开全部
  现在完成时用来表示之前已发生或完成的动作或状态,其结果的确和现在有联系。动作或状态发生在过去但它的影响现在还存在;也可表示持续到现在的动作或状态。
  现在完成时用法:
  ⒈表示过去发生的动作或事情,对现在造成的影响。
  ⒉表示从过去开始发生的动作持续到现在,有可能马上结束,但也有可能继续下去。
  ⒊现在完成时的动词必须具有可持续性,至少是能重复一次以上的动作。

  一般过去时,表示过去某个时间里发生的非持续性动作或存在的状态,也表示过去习惯性、经常性的动作、行为。

  A2中,when清楚地表明了,是过去某个时间点做的事情,并没有涉及到是否持续到现在,也没有涉及那件事情对现在造成的影响;但是根据上文(上文的现在完成时清楚地说明,clean the room对现在是有影响的),clean the room是已经发生过的,所以这里需要使用过去时态。既然问句是一般过去时,回答句B2也要时态一致,故也需要使用一般过去时。
成心诚5
高粉答主

2014-08-19 · 说的都是干货,快来关注
知道大有可为答主
回答量:5.7万
采纳率:80%
帮助的人:8709万
展开全部
只是问你什么时候打扫的。并不强调对现在的影响,所以用一般过去时
前面是一般过去时问,一般过去时回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
msn461924
2014-08-19 · TA获得超过1084个赞
知道小有建树答主
回答量:273
采纳率:0%
帮助的人:77.6万
展开全部
A1B1均为现在完成时态 表示已经完成,应使用HAVE +动词-过去分词形式 译文:A:你们已经打扫完房间了吗?B:我们已经打扫完了。(已经完成了)
A2B2为一般过去时态,应使用动词的过去式,所以不用HAVE +动词-过去分词形式 译文:A:你们什么时候打扫的?B:我们一小时前打扫的。(表示过去发生的)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nice水吉洁
2014-08-19 · TA获得超过581个赞
知道小有建树答主
回答量:691
采纳率:100%
帮助的人:193万
展开全部
我觉得有必要先给你区分一下现在完成时和一般过去时:前者表示过去发生的某一动作对现在造成的影响或结果,强调的是现在的情况;而后者只表示过去的动作或状态,和现在不发生联系。A2:打扫房间只表示过去的动作,没有对现在造成影响。故用did.还有一点,现在完成时不能和表示过去的时间状语连用。an hour ago.一小时前,为过去的时间故用did.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式