语法点:现在完成时 (Present Perfect)
现在完成时用来表示过去发生、但与现在有联系的动作:或者是刚刚完成、现在能看到结果(he has just bought twelve pigeons),或者是从过去持续到现在的经历和累计(up to now, he has sent a great many requests)。它关心的是“到现在为止怎么样了”,而不是“具体什么时候发生”。常与 just、already、yet、up to now、so far、ever、never 等连用;一旦出现 yesterday、last week 这类明确的过去时间,就要改用一般过去时。
结构
| 形式 | 结构 | 例句 |
|---|---|---|
| 肯定 | 主语 + have/has + 过去分词 | He has bought another garage. |
| 否定 | 主语 + have/has + not + 过去分词 | He has not bought a telephone yet. |
| 一般疑问 | Have/Has + 主语 + 过去分词? | Has he sent the message? |
| 特殊疑问 | 疑问词 + have/has + 主语 + 过去分词? | What has he bought? |
注意:第三人称单数用 has,其余用 have;过去分词规则动词加 -ed(carried),不规则动词要单独记(buy → bought,send → sent,begin → begun)。
课文中的例句
- [句 1] Now he has just bought another garage in Pinhurst. — has just bought:刚刚完成的动作,now 强调对现在的影响
- [句 2] …so he has just bought twelve pigeons. — 同样是 has + just + 过去分词,说明买鸽子是最近的事、鸽子现在还在用
- [句 5] Up to now, Mr. Scott has sent a great many requests… — up to now 是典型标志:从买鸽子到现在累计发送了很多请求
- [句 6] In this way, he has begun his own private 'telephone' service. — has begun 表示服务已经开始并延续到现在,begin 的过去分词是 begun
- [句 3] Yesterday, a pigeon carried the first message… — 对比:有 yesterday 这个明确过去时间,用一般过去时 carried
补充例句
- I have just sent an urgent message to the garage. 我刚给汽车修理厂发了一条紧急消息。
- Up to now, the pigeons have carried twenty messages. 到现在为止,鸽子们已经送了二十条消息。
- Has Mr. Scott got a telephone yet? — No, he has not got one yet. 斯科特先生有电话了吗?——还没有。
易错点
- ❌ He has just buy twelve pigeons. → ✅ He has just bought twelve pigeons. have/has 后面必须用过去分词,不能用动词原形。
- ❌ Yesterday a pigeon has carried the first message. → ✅ Yesterday a pigeon carried the first message. 有 yesterday 这类明确过去时间时用一般过去时,不能用现在完成时。
- ❌ He has began his own service. → ✅ He has begun his own service. began 是过去式,过去分词是 begun。
- ❌ Up to now, Mr. Scott sent many requests. → ✅ Up to now, Mr. Scott has sent many requests. up to now 表示“到现在为止”,要搭配现在完成时。