Education

Chuyển câu quá khứ đơn sang hiện tại hoàn thành: 5 dạng và bài tập

5 công thức viết lại câu từ thì quá khứ đơn sang thì hiện tại hoàn thành (ago, last, the last time, It's… since, How long), cách đổi động từ, lỗi hay gặp và 23 câu bài tập có đáp án.

#B1 #thì hiện tại hoàn thành #viết lại câu
Chuyển câu quá khứ đơn sang hiện tại hoàn thành: 5 dạng và bài tập

Bài tập chuyển từ quá khứ đơn sang hiện tại hoàn thành là dạng bài quen thuộc trong các bài kiểm tra và đề thi vào lớp 10: đề cho một câu có ago, last hoặc started, bạn phải viết lại bằng for hoặc since mà không đổi nghĩa. Bài này gom lại 5 dạng viết lại câu hay gặp nhất, cách đổi động từ mà đáp án ít khi giải thích, những lỗi khiến bạn mất điểm và 23 câu bài tập có đáp án.

1.Nguyên tắc chung: "lúc nào" thành "bao lâu nay"

Thì quá khứ đơn (Past Simple) trả lời câu hỏi "lúc nào?": việc xảy ra ở một thời điểm đã qua. Thì hiện tại hoàn thành (Present Perfect) trả lời câu hỏi "bao lâu tính đến bây giờ?". Vì vậy khi viết lại câu, bạn đổi mốc thời gian theo bảng sau:

Trong câu quá khứ đơn Trong câu hiện tại hoàn thành Ví dụ
khoảng thời gian + ago for + khoảng thời gian two years ago → for two years
in / on / at + mốc thời gian since + mốc thời gian in 2020 → since 2020
last week / month / summer since last week / month / summer last Monday → since last Monday
when + mệnh đề quá khứ since + mệnh đề quá khứ when I was ten → since I was ten

Điều thứ hai cần nhớ là câu mới mang nghĩa khẳng định hay phủ định:

  • Câu gốc nói việc bắt đầu (started, began, moved, got married…): việc đó vẫn còn tiếp diễn, nên câu mới ở dạng khẳng định.
  • Câu gốc nói lần cuối cùng làm việc gì (last, the last time): từ đó đến nay không làm nữa, nên câu mới ở dạng phủ định (haven't / hasn't).

2.Bảng tóm tắt 5 dạng viết lại câu

Đây là công thức viết lại câu thì hiện tại hoàn thành cho cả 5 dạng. Mỗi dạng được giải thích kèm ví dụ ở phần bên dưới.

Dạng Câu quá khứ đơn Câu hiện tại hoàn thành
1 S + started / began + V-ing / to V + … ago S + have / has + V3 + for / since …
2 S + last + V2 + … ago S + haven't / hasn't + V3 + for / since …
3 The last time + S + V2 + was + … S + haven't / hasn't + V3 + for / since …
4 It is / It has been + khoảng thời gian + since + S + (last) + V2 S + (haven't / hasn't) + V3 + for + khoảng thời gian
5 When did + S + start…? / How long ago did + S + V…? How long have / has + S + V3…?

V2 là động từ ở dạng quá khứ, V3 là quá khứ phân từ (past participle). Với động từ bất quy tắc, hai dạng này thường khác nhau (saw / seen, went / been, wrote / written), nên hãy ôn bảng động từ bất quy tắc nếu bạn hay nhầm.

3.Dạng 1: started / began … ago → have / has + V3 + for / since

Công thức: S + started / began + V-ing / to V + … ago → S + have / has + V3 + for / since …

Câu gốc cho biết việc bắt đầu khi nào. Câu mới nói việc đó đã kéo dài bao lâu, ở dạng khẳng định:

  • I started learning English five years ago. → I have learned English for five years. (Tôi học tiếng Anh được 5 năm rồi.)
  • She began working here in 2019. → She has worked here since 2019.
  • They started to live in Da Nang when their son was born. → They have lived in Da Nang since their son was born.

Với hành động đang diễn ra liên tục, bạn có thể dùng thì hiện tại hoàn thành tiếp diễn: I have been learning English for five years. Cả hai đáp án đều đúng, xem thêm sự khác nhau ở bài Present Perfect Continuous.

4.Dạng 2: S + last + V2 … → haven't / hasn't + V3 + for / since

Công thức: S + last + V2 + … ago / in … → S + haven't / hasn't + V3 + for / since …

Last ở đây nghĩa là "lần cuối". Lần cuối là hai tháng trước, tức là hai tháng nay chưa làm lại, nên câu mới ở dạng phủ định:

  • I last saw my grandparents two months ago. → I haven't seen my grandparents for two months.
  • He last wrote to me in March. → He hasn't written to me since March.
  • We last went to the beach last summer. → We haven't been to the beach since last summer.

Chú ý câu thứ ba: went đổi thành been, không phải gone. "Have been to" nghĩa là đã đến rồi quay về, còn "have gone to" nghĩa là đã đi và vẫn đang ở đó.

5.Dạng 3: The last time … was … → haven't / hasn't + V3 + for / since

Công thức: The last time + S + V2 + was + … ago / in … → S + haven't / hasn't + V3 + for / since …

Đây là dạng 2 viết theo cách khác, cũng đổi sang phủ định:

  • The last time I ate phở was three days ago. → I haven't eaten phở for three days.
  • The last time she visited Hue was in 2021. → She hasn't visited Hue since 2021.
  • The last time it rained was a month ago. → It hasn't rained for a month.

Cách chọn for hay since vẫn theo bảng ở đầu bài: "ago" thành for, "in / on / at + mốc" thành since.

6.Dạng 4: It is … since … → for

Công thức: It is / It has been + khoảng thời gian + since + S + (last) + V2 → S + haven't / hasn't + V3 + for + khoảng thời gian

Câu gốc đã có khoảng thời gian, bạn chỉ cần đặt nó sau for. Hãy nhìn xem trong mệnh đề sau since có last hay không:

  • Có last, câu mới ở dạng phủ định: It's ten years since we last met. → We haven't met for ten years.
  • Không có last, động từ chỉ sự bắt đầu, câu mới ở dạng khẳng định: It's three months since Lan moved to Saigon. → Lan has lived in Saigon for three months.

"It is ten years since…" và "It has been ten years since…" đều đúng. Văn phong Anh dùng cả hai, còn văn phong Mỹ thường dùng "It has been". Mệnh đề sau since luôn ở thì quá khứ đơn.

7.Dạng 5: When did…? / How long ago…? → How long have…?

Công thức: When did + S + start + V-ing…? / How long ago did + S + V…? → How long have / has + S + V3…?

Dạng câu hỏi đi theo cùng logic với dạng 1: thay vì hỏi bắt đầu lúc nào, ta hỏi đã kéo dài bao lâu:

  • When did you start working for this company? → How long have you worked for this company?
  • How long ago did you buy this car? → How long have you had this car?
  • When did they get married? → How long have they been married?

Ở hai câu sau, động từ đã thay đổi: buy thành have, get married thành be married. Phần tiếp theo giải thích vì sao.

8.Đổi động từ: vì sao không viết "have bought for"

Đây là lỗi hay gặp nhất của người Việt. Tiếng Việt nói "Tôi mua chiếc xe này được ba năm rồi", nên rất dễ viết ✗ I have bought this car for three years. Nhưng buy là hành động xảy ra trong một khoảnh khắc, không thể kéo dài ba năm. Thứ kéo dài ba năm là việc sở hữu chiếc xe, nên phải viết ✓ I have had this car for three years.

Khi đi với for / since, động từ chỉ một khoảnh khắc phải đổi sang động từ chỉ trạng thái:

Câu quá khứ đơn (khoảnh khắc) Câu hiện tại hoàn thành (trạng thái kéo dài)
bought a car have had a car
got married have been married
met Hoa (lần đầu) have known Hoa
moved / came to Hanoi have lived / have been in Hanoi
got a job / started working have worked
joined the club have been a member of the club
became a teacher have been a teacher
fell asleep have been asleep
left home have been away from home
died has been dead

Ví dụ: I met Hoa at university six years ago. → I have known Hoa for six years.

Dạng 2 và dạng 3 không cần đổi động từ, vì câu phủ định "chưa làm lại từ đó" dùng được với mọi động từ: I haven't bought a car since 2020 hoàn toàn đúng.

9.Chuyển ngược: từ hiện tại hoàn thành sang quá khứ đơn

Đề thi cũng hay cho câu hiện tại hoàn thành và yêu cầu viết lại bằng quá khứ đơn. Bạn chỉ cần đi ngược các công thức trên: for thành ago, since + mốc thành in / on / at + mốc, câu phủ định thành last / the last time, câu khẳng định thành started / began.

Câu hiện tại hoàn thành Câu quá khứ đơn
I haven't seen him for a week. I last saw him a week ago. / The last time I saw him was a week ago. / It's a week since I last saw him.
She has taught here since 2015. She started teaching here in 2015.
They have been married for 20 years. They got married 20 years ago.

10.Hai dạng liên quan: the first time và ever

Hai cấu trúc này đều viết bằng thì hiện tại hoàn thành, nhưng thường nằm chung với các dạng viết lại câu ở trên trong bài kiểm tra:

  • This is the first time + S + have / has + V3 → S + have / has + never + V3 + before This is the first time I have flown. → I have never flown before.
  • So sánh nhất + ever → never … such / so / a more… It's the best phở I have ever eaten. → I have never eaten such good phở.

11.Những lỗi hay mất điểm

  1. Giữ nguyên ago. ✗ I haven't seen him two years ago. ✓ I haven't seen him for two years.
  2. Nhầm for và since. For đi với khoảng thời gian, since đi với mốc thời gian. ✗ since three weeks, for 2020. ✓ for three weeks, since 2020.
  3. Quên phủ định khi câu gốc có last. I last saw him in May. ✗ I have seen him since May. ✓ I haven't seen him since May.
  4. Dùng V2 thay cho V3. ✗ She hasn't went there. ✓ She hasn't been there.
  5. Động từ chỉ khoảnh khắc đi với for. ✗ They have got married for ten years. ✓ They have been married for ten years.
  6. Sai has / have. ✗ My sister have lived here since 2018. ✓ My sister has lived here since 2018.

12.Bài tập viết lại câu thì hiện tại hoàn thành (có đáp án)

Bài 1. Viết lại câu sao cho nghĩa không đổi

  1. I started playing the piano ten years ago. → I have ...
  2. She last called her parents a week ago. → She hasn't ...
  3. The last time we went to Ha Long Bay was in 2022. → We haven't ...
  4. It's three years since I last saw Minh. → I haven't ...
  5. They got married five years ago. → They have ...
  6. When did you start working for this company? → How long ...?
  7. My brother bought his motorbike two years ago. → My brother has ...
  8. The last time it snowed here was in 1999. → It ...
  9. Lan began to learn Japanese when she was ten. → Lan has ...
  10. We last ate out on my birthday. → We ...
  11. I met Hoa at university six years ago. → I have ...
  12. How long ago did you move to Hanoi? → How long ...?
Đáp án bài 1 (bấm để xem) 1: I have played (have been playing) the piano for ten years.
2: She hasn't called her parents for a week.
3: We haven't been to Ha Long Bay since 2022. (went → been)
4: I haven't seen Minh for three years.
5: They have been married for five years. (got married → be married)
6: How long have you worked (have you been working) for this company?
7: My brother has had his motorbike for two years. (bought → have had)
8: It hasn't snowed here since 1999.
9: Lan has learned (has been learning) Japanese since she was ten.
10: We haven't eaten out since my birthday.
11: I have known Hoa for six years. (met → have known)
12: How long have you lived (have you been) in Hanoi? (move → live / be)

Bài 2. Viết lại câu bằng thì quá khứ đơn

  1. I haven't had a holiday for two years. → I last ...
  2. She has worked as a nurse since 2018. → She started ...
  3. We haven't spoken to each other since the party. → The last time ...
  4. He hasn't smoked for six months. → It's ...
  5. They have been married for twenty years. → They got ...
Đáp án bài 2 (bấm để xem) 1: I last had a holiday two years ago.
2: She started working (to work) as a nurse in 2018.
3: The last time we spoke to each other was at the party.
4: It's six months since he last smoked.
5: They got married twenty years ago.

Bài 3. Tìm và sửa lỗi sai

  1. I haven't seen her since three weeks.
  2. He has bought this house for ten years.
  3. We haven't visited our teacher for we left school.
  4. She hasn't went to the dentist since May.
  5. My parents have married for thirty years.
  6. I last have seen him in June.
Đáp án bài 3 (bấm để xem) 1: I haven't seen her for three weeks. (three weeks là khoảng thời gian)
2: He has had this house for ten years. (buy là hành động chỉ một khoảnh khắc)
3: We haven't visited our teacher since we left school. (since + mệnh đề quá khứ)
4: She hasn't been to the dentist since May. (V3 của go là gone; "đã đến rồi về" dùng been)
5: My parents have been married for thirty years.
6: I last saw him in June. Hoặc: I haven't seen him since June. (last đi với quá khứ đơn)

13.Học tiếp

Nếu bạn sai nhiều ở bài 1, hãy quay lại bảng tóm tắt và tự hỏi hai câu: mốc thời gian đổi thành for hay since, câu mới khẳng định hay phủ định. Nếu bạn vẫn chưa chắc lúc nào dùng thì nào, bài Present Perfect vs Past Simple giải thích sự khác nhau bằng tiếng Việt, có ví dụ dịch và bài tập luyện thêm. Ôn lại từng thì ở bài Present Perfect và Past Simple.

Đọc ít hơn, luyện tập nhiều hơn

Tải ứng dụng và biến những gì bạn vừa đọc thành trò chơi, với XP, chuỗi ngày học và phản hồi tức thì.