Sau bài này bạn sẽ
- dùng should / shouldn't have + V3 để tiếc nuối hoặc phê phán việc đã qua.
- dùng could have + V3 cho cơ hội bỏ lỡ và lời trách nhẹ.
- phân biệt needn't have done với didn't need to do.
Nói về việc đã qua mà không thể sửa
- should have + V3: lẽ ra nên làm nhưng đã không làm → tiếc nuối, phê phán. I should have saved more money.
- shouldn't have + V3: lẽ ra không nên làm nhưng đã làm.
- ought to have + V3: như should have, trang trọng hơn.
- could have + V3: lẽ ra đã có thể (có cơ hội nhưng không xảy ra). Nói với người khác thành lời trách: You could have called me!
- needn't have + V3: đã làm nhưng hoá ra không cần.
Công thức
| Cấu trúc | Nghĩa | Ví dụ |
|---|---|---|
| S + should have + V3 | lẽ ra nên | We should have left earlier. |
| S + shouldn't have + V3 | lẽ ra không nên | I shouldn't have eaten so much. |
| S + could have + V3 | lẽ ra đã có thể | He could have won the race. |
| S + couldn't have + V3 + so sánh hơn | không thể … hơn | The trip couldn't have been better. |
| S + needn't have + V3 | đã làm, hoá ra thừa | You needn't have waited for me. |
| S + didn't need to + V | không cần (thường không làm) | I didn't need to wait, so I went home. |
Needn't have done hay didn't need to do?
Cả hai nói việc trong quá khứ là không cần thiết, khác ở chỗ việc đó có xảy ra không:
- needn't have + V3: đã làm, sau mới biết là thừa. I needn't have booked a table — the restaurant was empty.
- didn't need to + V: thường là đã không làm. I didn't need to book, so I just walked in.
Câu cho biết người đó đã không làm → chỉ dùng didn't need to. Sau needn't have là V3, không có to.
Ví dụ
Looking back, I should have chosen a major I was really interested in.
Nhìn lại, lẽ ra tôi nên chọn ngành mình thật sự thích.tiếc nuối
I shouldn't have spent so much time on social media during my final year.
Lẽ ra năm cuối tôi không nên lướt mạng xã hội nhiều thế.đã làm, giờ hối hận
The government ought to have invested in public transport much earlier.
Lẽ ra chính phủ phải đầu tư vào giao thông công cộng sớm hơn nhiều.trang trọng
My grandfather could have studied abroad, but he stayed to look after his parents.
Ông tôi lẽ ra đã được đi du học, nhưng ông ở lại chăm bố mẹ.cơ hội bỏ lỡ
You could have told me the meeting was cancelled!
Lẽ ra bạn có thể báo tôi là cuộc họp bị huỷ chứ!lời trách nhẹ
We needn't have brought warm clothes — it was sunny the whole week.
Hoá ra chúng tôi không cần mang áo ấm — cả tuần trời nắng.đã mang, thừa
Lan's uncle met her at the airport, so she didn't need to take a taxi.
Chú của Lan ra sân bay đón nên cô ấy không cần đi taxi.không cần và không đi
Thank you for the flowers, but you really needn't have bothered.
Cảm ơn bạn tặng hoa, bạn thật không cần bận tâm thế đâu.lời cảm ơn lịch sự
Our first day in Hoi An couldn't have been more relaxing.
Ngày đầu ở Hội An thư thái không gì bằng.= tuyệt nhất
Many of these accidents could have been prevented with stricter safety rules.
Nhiều vụ tai nạn này lẽ ra đã tránh được nếu luật an toàn chặt hơn.bị động — Writing Task 2
Lỗi hay gặp
Sai: I should have went to bed earlier.
Đúng: ✓ I should have gone to bed earlier.
Sau have là V3: gone, không phải went.
Sai: You should told me about the problem.
Đúng: ✓ You should have told me about the problem.
Nói về quá khứ phải có have: should have + V3.
Sai: I must have studied harder for the test.
Đúng: ✓ I should have studied harder for the test.
Must have là suy đoán (chắc hẳn đã); “lẽ ra phải” là should have.
Sai: Nam lent me his laptop, so I needn't have bought one.
Đúng: ✓ Nam lent me his laptop, so I didn't need to buy one.
Tôi đã không mua → didn't need to; needn't have bought nghĩa là đã mua.
Bài tập có đáp án
Tự làm trước, rồi bấm “Xem đáp án” để đối chiếu và đọc giải thích.
Câu 1 · Chọn đáp án
I failed my driving test because I panicked at a roundabout. I ______ more lessons before the exam.
- A. must have taken
- B. should have taken
- C. needn't have taken
Xem đáp ánẨn đáp án
should have taken
Tiếc vì đã không học thêm → should have taken. Must have là suy đoán.
Câu 2 · Điền vào chỗ trống
We ______ (needn't / cook) so much food — half of the guests didn't come.
Xem đáp ánẨn đáp án
needn't have cooked
Đã nấu, hoá ra thừa → needn't have cooked.
Câu 3 · Chọn đáp án
The hotel was almost empty, so we ______ a room in advance. We just walked in and got one.
- A. needn't have booked
- B. shouldn't have booked
- C. didn't need to book
Xem đáp ánẨn đáp án
didn't need to book
Họ cứ thế vào nhận phòng, tức là không đặt → didn't need to book.
Câu 4 · Điền vào chỗ trống
You ______ (could / tell) me you were vegetarian! I would have cooked something different.
Xem đáp ánẨn đáp án
could have told
Trách nhẹ vì người kia đã không nói → could have told.
Câu 5 · Tìm và sửa lỗi
Tìm và sửa lỗi sai.
I should have went to the doctor when the pain started.
Xem đáp ánẨn đáp án
should have went → should have gone
Sau should have là V3: go → gone (went là quá khứ đơn).
Câu 6 · Sắp xếp thành câu
Lẽ ra bạn không nên lái xe nhanh như vậy trong mưa.
driven so fastyouin the rainshouldn't have
Xem đáp ánẨn đáp án
You shouldn't have driven so fast in the rain.
Đã làm và bị phê phán → shouldn't have + V3 (driven).
Câu 7 · Chọn đáp án
Thanks for picking me up, but you ______ to all that trouble. I could have got a bus.
- A. needn't have gone
- B. mustn't have gone
- C. couldn't have gone
Xem đáp ánẨn đáp án
needn't have gone
Người kia đã đến đón, hoá ra không cần → needn't have gone to all that trouble.
Câu 8 · Điền vào chỗ trống
Minh went to the wrong building. He ______ (ought / check) the address before he left.
Xem đáp ánẨn đáp án
ought to have checked
Ought to have + V3 = should have + V3.
Câu 9 · Chọn đáp án
Our team was unlucky. We ______ the final, but the referee disallowed our last goal.
- A. must have won
- B. could have won
- C. needn't have won
Xem đáp ánẨn đáp án
could have won
Có khả năng thắng nhưng không thắng → could have won.
Câu 10 · Tìm và sửa lỗi
Tìm và sửa lỗi sai.
The manager should have reply to the customer's complaint last week.
Xem đáp ánẨn đáp án
reply → replied
Should have + V3: reply → replied.
Làm bài kiểm tra có chấm điểm của bài này và lưu tiến độ trên Mock Test.
Kiểm tra bài học