请教英语语法 几个关于完成时与 过去时之间关系的问题

2024-11-28 10:43:44
推荐回答(2个)
回答1:

好多问题 一个一个来
1. 用haven't表示 到现在还没有找到时间告诉你 改成didn't表示 之前想告诉你的时候 当时没有找到时间告诉你

2.这句话本身有问题
用一般现在时says作谓语 对应时间状语that morning不太合适
可以改成this morning
另外 通常情况下 转述他人的话语是 通常是在他人叙述之后
所以 应当使用过去时
He said he had seen Bob this/that morning.
使用完成时 表示需要见 已经见到过了
使用过去时 表示看到了
都是可以的

3.这两句不能互换
kill是瞬间动词 没有完成时态
完成时用于延续动词 表示刚状态的一个持续性
这句话这样表示
I knew he was killed in 1970.
I knew he has been dead since 1970.

过去时与过去完成时 是绝对不能互换的
两者谓语动词表示的状态不同 意思绝非相同
每句话都是必须根据其发生的时间以及该动作的状态决定正确的动词形态

补充问题:
know这个词相当特殊
当说I knew ..时 并不是表示动作发生在过去
而是表示强调我早就知道了
所以两句话其实都不正确
从句的动作发生在主句之后
当主句使用一般过去时时 从句应当使用过去完成时 对于这句话并不适用
应当改为I knew she was killed by Bob.

如果是考试遇到know这个词 建议放弃分数
正如前述 时态必须根据动作时间与动作状态来决定

回答2:

1 可以替换,都能表示原本我是想告诉你的,可我并没有找到时间来告知。只是用HAVEN'T就强调了没告知此事的一个隐性后果,,而DIDN'T就只是单纯的没找到时间所以没告诉你这件事而已。
2 可以替换,宾语从句中主句时态为现在时时,从句可根据具体所需搭配任何时态,只是前后者强调的不同而已。
3 不可
补充问题中第二句是对的,因为此时如果想表示过去的过去,只能用过去完成时。即她的死客观的存在于我知道此事之前。而知道又给的是过去时态的范畴,所以从句应用过去完成时。。
即同第3个问题一样,,,根本不能用现在完成时。