Ngữ pháp tiếng Anh

Thì quá khứ hoàn thành (Past perfect): Lý thuyết và bài tập

Thì quá khứ hoàn thành là 1 trong 12 thì cơ bản được sử dụng nhiều trong tiếng Anh. Để thuận tiện cho các bạn tìm hiểu và ôn tập thì quá khứ hoàn thành, bài viết dưới đây sẽ tổng hợp tất cả các kiến thức trọng tâm và bài tập giúp bạn khắc sâu kiến thức

Khái niệm thì quá khứ hoàn thành (Past perfect)

Thì quá khứ hoàn thành (hay thì tiền quá khứ) dùng để diễn tả 1 hành động xảy ra trước 1 hành động trong quá khứ. 

Chúng ta thường dùng thì quá khứ đơn để diễn tả 1 hành động trong trong quá khứ. Động từ khi đó sẽ ở dạng quá khứ (V2)

Ví dụ: Sarah arrived at the party yesterday (Sarah đã đến bữa tiệc)

Nếu lấy đây là dấu mốc, thì những hành động xảy ra trước đó chúng ta sử dụng thì quá khứ hoàn thành. Động từ khi đó sẽ được chuyển về dạng quá khứ phân từ (V3), đi kèm với trợ động từ had

Ví dụ: Yesterday, Paul had already gone home when Sarah arrived at the party. (Hôm qua, Paul đã về nhà trước khi Sarah đến bữa tiệc)

Tips: Các thì hoàn thành thường dùng để diễn tả những hành động xảy ra trước thời điểm bạn lấy làm mốc. Thời điểm lấy làm mốc là hiện tại, thì sẽ dùng hiện tại hoàn thành. Thời điểm lấy làm mốc là quá khứ thì dùng quá khứ hoàn thành. Bạn có thể dựa vào đặc điểm chung này để sử dụng chính xác các thì trong giao tiếp và diễn đạt. 

quá khứ hoàn thành tiếng anh

Cấu trúc thì quá khứ hoàn thành

Cấu trúc chung nhất của động từ ở thì quá khứ hoàn thành là:

S + had + V3 (past participle – quá khứ phân từ)

Để đưa 1 động từ về quá khứ phân từ đa số chỉ cần thêm -ed vào sau động từ nguyên thể. Tuy nhiên, có 1 số động từ có quá khứ phân từ không tuân theo quy tắc biến đổi này, gọi là động từ bất quy tắc. Để biết động từ nào là động từ bất quy tắc, bạn có thể tra cứu trong từ điển. Các từ điển uy tín như Cambridge, Oxford, Từ điển Mochi đều có phần word forms với đầy đủ các dạng quá khứ, quá khứ phân từ,.. của một động từ. 

Tra cứu tại từ điển Mochi

Bạn nên ghi nhớ tất cả các động từ bất quy tắc này để phản xạ nhanh. Tiếng Anh có khoảng 600 động từ bất quy tắc. Để có thể ghi nhớ hết tất cả chúng nhanh và lâu nhất, bạn có thể sử dụng app MochiVocab để học theo phương pháp Spaced Repetition. App có tính năng “Thời điểm vàng” sẽ tính toán thời điểm bạn chuẩn bị quên đi một từ và gửi thông báo bạn ôn tập vào thời điểm đó. App cũng sẽ giúp bạn tập trung hơn vào các từ khó mà bạn hay quên bằng cách phân chia những từ vựng đã học theo mức độ ghi nhớ, mỗi mức độ ghi nhớ sẽ có tần suất học thích hợp. 

app mochivocab
mochivocab 5 cấp độ ghi nhớ
mochi thông báo

Thể khẳng định

Cấu trúc:

S + had + V3 

Ví dụ: Ly didn’t come to the cinema with us. She had already seen the movie (Ly đã không đi xem phim với chúng tôi. Cô ấy đã xem bộ bộ phim trước đó rồi)

Thể phủ định

Cấu trúc:

S + hadn’t/had not + V3 

Ví dụ: The house was dirty. They hadn’t cleaned it for weeks (Nhà rất bẩn. Họ đã không dọn dẹp nhà mấy tuần rồi)

Thể nghi vấn

Cấu trúc:

Yes/no question: Had/Hadn’t + S + V3?

Wh-question: Wh + had + S + V3 (+ O)?

Ví dụ:

Had the restaurant closed when you got there? (Lúc bạn đến cửa hàng đã đóng rồi à)

Where had he put his book? (Anh ấy đã để cuốn sách ở đâu vậy)

quá khứ hoàn thành tiếng anh

Cách dùng và ví dụ thì quá khứ hoàn thành

Dưới đây là 1 số cách dùng phổ biến của thì quá khứ hoàn thành và 1 số ví dụ.

Thì quá khứ hoàn thành được dùng:

Diễn tả hành động đã xảy ra và đã kết thúc trước 1 thời điểm trong quá khứ

Ví dụ:

We had lived in Saigon before 2001. (Chúng tôi sống tại Sài Gòn trước năm 2001)

The film had finished before 10 o’clock last night. (Bộ phim đã kết thúc khi chúng tôi đến rạp chiếu phim)

Diễn tả hành động đã xảy ra và đã kết thúc trước một hành động quá khứ khác. Hành động xảy ra trước dùng quá khứ hoàn thành (past perfect), hành động xảy ra sau dùng quá khứ đơn (past simple)

Ví dụ:

When I got up this morning, my friend had already left. (Khi tôi thức dậy sáng nay thì bố tôi đã đi rồi)

After I had finished my assignment, I went to bed. (Sau khi hoàn thành bài tập, tôi đi ngủ)

Diễn tả hành động đã xảy ra và kéo dài đến một thời điểm nào đó trong quá khứ

Ví dụ: By the time I met you I had worked in that company for 4 years.  

Diễn tả hành động không có thật trong quá khứ trong câu điều kiện loại 3

Ví dụ:

If I had enough money, I could have bought a new laptop. (Nếu có đủ tiền, tôi đã có thể mua laptop mới)

If I studied harder, I wouldn’t have failed my test. (Nếu tôi học chăm chỉ hơn, tôi sẽ không trượt bài kiểm tra) 

Sử dụng trong một số cấu trúc đặc biệt như:

  • Câu ước ở quá khứ

Ví dụ: I wished I hadn’t gone to that terrible party. (Tôi đã ước mình đừng đến bữa tiệc kinh khủng đó)

  • Câu đảo ngữ Hardly/Scarcely/Barely …. when … và No sooner…than…

Ví dụ:

Hardly had I arrive at home when it pouring rained. (Ngay khi tôi vừa về đến nhà thì trời mưa to)

No sooner had we opened the shop than a customers came into

  • Câu tường thuật cho một sự việc ở thì hiện tại hoàn thành

Ví dụ: She said that he had already eaten dinner. (Cô ấy nói cô ấy đã ăn bữa tối rồi)


Dấu hiệu nhận biết của thì quá khứ hoàn thành

Các bạn có thể nhận biết khi nào sử dụng thì quá khứ hoàn thành khi nhìn thấy một số dấu hiệu sau:

  • Before/after

Ví dụ:

Before I got up, my mother had already made breakfast for me. (Trước khi tôi thức dậy, mẹ đã làm xong bữa sáng cho tôi.)

I watched my favorite movie after I had done housework. (Tôi đã xem bộ phim yêu thích của mình sau khi làm xong việc nhà.)

  • Until 

Ví dụ: I hadn’t believed in love until I found you. (Tôi không tin vào tình yêu cho đến khi gặp em.)

  • By the time

Ví dụ: By the time I had come in classroom, the bell rang. (Chuông reo ngay khi tôi vừa bước vào lớp.)

  • As soon as

Ví dụ: As soon as I had gone out, my mother called me. (Tôi vừa mới rời khỏi nhà thì mẹ tôi gọi)

  • By the end of + time in past

Ví dụ: By the end of last night concert, I had been exhausted. 

Tips: Thay vì phải ghi nhớ máy móc thì quá khứ hoàn thành sẽ dùng trước hay sau những liên từ này, bạn hãy xác định thứ tự diễn ra của các hành động trong ngữ cảnh đang được đề cập để tránh nhầm lẫn. Hành động xảy ra trước sẽ dùng thì quá khứ hoàn thành, hành động xảy ra sau dùng thì quá khứ đơn. 

  • For/since: đây là dấu hiệu chung của các thì hoàn thành

Ví dụ: I had lived in this city for 12 years. (Tôi đã sống ở thành phố này 12 năm rồi.)


Phân biệt quá khứ đơn và quá khứ hoàn thành

Thì quá khứ đơn và quá khứ hoàn thành thường hay bị nhầm lẫn với nhau. Để giúp các bạn dùng chính xác 2 thì này, cùng MochiMochi phân biệt sự khác nhau của chúng.

Tiêu chíQuá khứ đơnQuá khứ hoàn thành
Cấu trúcS + V2 (+O)S + had + V3 (+O)
Cách dùng (xem hình minh hoạ để thấy rõ sự khác biệt)Diễn tả 1 hành động xảy ra hoàn toàn trong quá khứ 

Đã chấm dứt ở hiện tại.

Ví dụ: Paul wasn’t at the party when I arrived at 9p.m yesterday.
Diễn tả 1 hành động xảy ra trước 1 hành động, thời điểm trong quá khứ 

Đã chấm dứt ở quá khứ.

Ví dụ: He had gone home at 8 p.m
quá khứ hoàn thành tiếng anh

Bài tập thì quá khứ hoàn thành

Bài 1: Chia động từ đã gợi ý theo dạng đúng thì quá khứ hoàn thành

  1. The tornado destroyed the tent that we (build) ____________.
  2. She (not / be) ____________ to Hanoi before 2018.
  3. When he went out to play, he (do / already) ____________ his homework.
  4. My sister ate all of the cake that our mum (make) ____________ .
  5. The nurse took off the plaster that she (put on) ____________ six weeks before.
  6. The waitress brought a drink that I (not / order) ____________ .
  7. I could not remember the song we (learn) ____________ three week before.
  8. The children collected mangos that (fall) ____________ from the tree.
  9. (she / phone) ____________ Nam before she went to see him in Laos?
  10. He (not / ride) __ a elephants before that day.
  1. had built
  2. had not been
  3. had already done
  4. had made
  5. had put on
  6. had not ordered
  7. had learned
  8. had fallen
  9. had she phoned
  10. had not ridden

Bài 2: Chia dạng đúng của động từ trong ngoặc, sử dụng quá khứ hoàn thành hoặc quá khứ đơn.

1. Paul wasn’t at the party when I arrived. He’d gone (He / go) home. 
2. I felt very tired when I got home, so (I / go) straight to bed. 
3. The house was very quiet when I got home. Everybody (go) to bed. 
4. Mark travels a lot. When I first met him, (he / already / travel) around the world. 
5. Sorry I’m late. The car (break) down on my way here. 
6 We were driving along the road when (we / see) a car which (break) down, so (we / stop) to help. 

  1. He had gone
  2. I went 
  3. had gone 
  4. he’d already travelled / he had already travelled 
  5. broke 
  6. we saw … had broken … we stopped 

Bài 3. Viết lại câu dựa vào những từ cho sẵn, kết hợp thì quá khứ đơn và quá khứ hoàn thành

  1. David had gone home before we arrived. (After)
  2. We had lunch then we took a look around the shops. (Before)
  3. The light had gone out before we got out of the office. (When)
  4. After she had explained everything clearly, we started our work. (By the time)
  5. My father had watered all the plants in the garden by the time my mother came home. (Before)

Đáp án

  1. After David had gone home, we arrived.
  2. Before we took a look around the shops, we had had lunch.
  3. When we got out of the office, the light had gone out.
  4. By the time we started our work, she had explained everything clearly.
  5. Before my mother came home, my father had watered all the plants in the garden.