现在完成时与一般过去时的用法、区别及练习题!

一般过去时和现在完成时的共同点是事情都发生在过去,不同点是是否对现在(说话时间)造成影响,造成影响的用现在完成时,否则就用一般过去时;一般过去时常见的标志词有 ago 等,而现在完成时常见的标志词有 since 或 for 等。
一、用所给动词的正确形式完成以下句子
1. A: Did you like the movie "Star Wars?"
B: I don't know. I (see, never) _____ that movie.
2. Sam (arrive) _____ in San Diego a week ago.
3. My best friend and I (know) _____ each other for over fifteen years. We still get together once a week.
4. Stinson is a fantastic writer. He (write) _____ ten very creative short stories in the last year. One day, he'll be as famous as Hemingway.
5. I (have, not) haven't had this much fun since I (be) _____ a kid.
6. Things (change) _____ a great deal at this company. When we first (start) _____ working here three years ago, the company (have, only) _____ six employees. Since then, we (expand) _____ to include more than 2000 full-time workers.
7. I (tell) _____ him to stay on the path while he was hiking, but he (wander) _____ off into the forest and (be) _____ bitten by a snake.
8. Listen Donna, I don't care if you (miss) _____ the bus this morning. You (be) _____ late to work too many times. You are fired!
9. Sam is from Colorado, which is hundreds of miles from the coast, so he (see, never) _____ the ocean. He should come with us to Miami.
10. How sad! George (dream) _____ of going to California before he died, but he didn't make it. He (see, never) _____ the ocean.
11. In the last hundred years, traveling (become) _____ much easier and very comfortable. In the 19th century, it (take) _____ two or three months to cross North America by covered wagon. The trip (be) _____ very rough and often dangerous. Things (change) _____ a great deal in the last hundred and fifty years. Now you can fly from New York to Los Angeles in a matter of hours.
12. John, I can't believe how much you (change) _____ since the last time I (see) saw you. You (grow) _____ at least a foot!
13. This tree (be) _____ planted by the settlers who (found) _____ our city over four hundred years ago.
14. This mountain (be, never) _____ climbed by anyone. Several mountaineers (try) _____ to reach the top, but nobody (succeed, ever) _____ . The climb is extremely difficult and many people (die) _____ trying to reach the summit.
15. I (visit, never) _____ Africa, but I (travel) _____ to South America several times. The last time I (go) _____ to South America, I (visit) _____ Brazil and Peru. I (spend) _____ two weeks in the Amazon, (hike) _____ for a week near Machu Picchu, and (fly) _____ over the Nazca Lines.
二、答案、参考翻译及解析
1. have never seen
A: 你喜欢《星球大战》这部电影吗
B: 我不知道。我从未看过那部电影。
解析:从 did 和 see(说话时的动作) 这两个发生在不同时间的动作来判断,应该用 have never seen,表示从过去到现在都没看过。
2. arrived
萨姆一周前到达圣地亚哥。
解析:一般过去时的标志词 ago,看到它要头也不回地用一般过去时,其他的时态跟它不合。
3. have known
我和我最好的朋友已经认识超过十五年了。我们仍然每周聚会一次。
解析:从后半句用一般现在时的 get 和标志词来判断,应该用现在完成时 have known,或者换句话理解就是这句没有任何地方包含过去的信号。
4. has written
斯汀森是一位了不起的作家。去年他写了十篇很有创意的短篇小说。总有一天,他会和海明威一样出名。
解析:考点是 last year 和 in the last year 的区别,last year 是一个纯粹的表示过去的且确定的时间,所以它跟一般过去时连用,而 in the last year 指的是今天之前的365天,所以它不是一个具体的时间,它表示从过去365天中的某个时间点到现在的一个时间段,所以它跟现在完成时连用,其他的时间也是类似的道理。
5. haven't had, was
我小时候就没这么开心过。
解析:完成时的标志词 since,它后面可以接时间点或事件,但无论哪个它都跟完成时连用,因此前面用现在完成时 haven't had,后面用一般过去时 was.
6. have changed, started, only had, have expanded
这家的情况发生了很大的变化。三年前我们刚开始在这里工作时,公司只有六名员工。从那时起,我们的规模扩大到2000多名全职员工。
解析:
a. 第一个用现在完成时,讨论随时间变化的事情,如果用一般过去时,也就是一个时间点,就没有比较的对象,没有比较的对象何谈变化大呢,因此第一个用现在完成时。
b. 第二三个都用一般过去时 started 和 only had,因为有标志词 ago.
c. 第四格用现在完成时 have expanded,因为有标志词 since.
7. told, wandered, was
我告诉他徒步旅行时留在小路上,但他溜进了森林,被蛇咬了。
解析:while 引导的时间状语从句,从句用的是一般过去时,所以主句用一般过去时 told;后面是用并列连词 but 连接的,因此动作跟前面主句的动作都用一般过去时 wandered 和 was.
8. missed, have been
听着,唐娜,我不管你今天早上是否误了车。你上班迟到太多了。你被解雇了!
解析:
a. 因为句中 this morning 表示的是已经过去的时间,因此这里不用现在完成时,而用一般过去时 missed.
b. 这里用现在完成时 have been,谈论在不同时间发生的许多事情,也即多次。
9. has never seen
萨姆来自科罗拉多州,那里离海岸数百英里,所以他从未见过大海。他应该和我们一起去迈阿密。
解析:这里用现在完成时 has never seen,谈论没有发生但被期待发生的事情。
10. dreamt, never saw
多么悲哀啊!乔治生前曾梦想去加利福尼亚,但他没有成功。他从未见过大海。
解析:从 before 引导的时间状语从句来看,从句用一般过去时,故主句也用过去时,后半句并列的成分是一般过去时,所以前半句也用一般过去时 dreamt.
11. has become, took, was, have changed
在过去的一百年里,旅行变得更加容易和舒适。在19世纪,乘有篷货车穿越北美需要两三个月。旅行非常艰难,而且常常很危险。在过去的一百五十年里,情况发生了很大的变化。现在你只需几分钟就可以从纽约飞往洛杉矶f小时。
解析:
a. 同题4,第一格应该用现在完成时 has become.
b. 从过去的时间 In the 19th century 来判断,第二三格都用一般过去时 took 和 was.
c. 从以上分析来看,in the last hundred and fifty years 用现在完成时 have changed.
12. have changed, saw, have grown
约翰,我真不敢相信自从上次见到你以来你变了这么多你至少长了一英尺!
解析:完成时标志词 since,故用现在完成时 have changed 和 have grown.
13. was, founded
这棵树是四百多年前建立我们城市的定居者种植的。
解析:看到 ago 就应该想到一般过去时,因此用 was 和 founded.
这棵树是四百多年前建立我们城市的定居者种植的。
解析:看到 ago 就应该想到一般过去时,因此用 was 和 founded.
14. has never been, have tried, has ever succeeded, have died
这座山从来没有人攀登过。有几个登山者试图登上山顶,但没有人成功。攀登极其困难,许多人在试图登上山顶时丧生。
解析:第一格用现在完成时 has never been,谈论没有发生但被期待发生的事情,后面的都是紧接着前面的一连串叙述,故都用现在完成时 have tried,has ever succeeded 和 have died.
15. have never visited, have travelled, went, visited, spent, hiked, flew
我从未去过非洲,但我去过南美洲好几次。上次我去南美洲时,我访问了巴西和秘鲁。我在亚马逊河上呆了两周,在马丘比丘附近徒步旅行了一周,飞越了纳斯卡防线。
解析:
a. 第一二格用现在完成时 have never visited 和 have travelled,分别谈论没有发生但被期待发生的事情和在不同时间发生的许多事情。
b. the last time 是一个过去时间点,因此后面几格都用一般过去时,阐述的是那次的经历,也就是说跟现在没有半毛钱关系。
【句型转换】
1. The old man died four years ago.那位老人四年前去世了. (一般过去时)
The old man has been dead for four years.那位老人去世已有四年了.
(现在完成时,将die变为 be dead)
The old man has been dead since four years ago.(现在完成时,since跟过去的时间点)
2. I borrowed the book five days ago.
I have kept the book for five days.
I have kept the book since five days ago.
3. He bought the bike three years ago.
He has had the bike for three years.
He has had the bike since three years ago.
4. She went to school two days ago.
She has been in school for two days.
She has been in school since two days ago.
5. My sister became a nurse one year ago.
My sister has been a nurse for one year.
My sister has been a nurse since one year.