The Real IELTS Mock Test
B2 · Động từ khuyết thiếu · Bài 9/16

Should have, needn't have, could have – tiếc nuối và phê phán về quá khứ

Should have, could have, needn't have + V3 để tiếc nuối, phê phán việc đã qua; phân biệt needn't have done với didn't need to do.

KHÓAHoàn thành bài trước để mở
  1. 1Học kiến thức
  2. 2Kiểm tra bài học

Sau bài này bạn sẽ

  • Sau bài này bạn dùng should / shouldn't have + V3 để tiếc nuối hoặc phê phán việc đã qua.
  • Sau bài này bạn dùng could have + V3 cho cơ hội bỏ lỡ và lời trách nhẹ.
  • Sau bài này bạn 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úcNghĩaVí dụ
S + should have + V3lẽ ra nênWe should have left earlier.
S + shouldn't have + V3lẽ ra không nênI shouldn't have eaten so much.
S + could have + V3lẽ ra đã có thểHe could have won the race.
S + couldn't have + V3 + so sánh hơnkhông thể … hơnThe trip couldn't have been better.
S + needn't have + V3đã làm, hoá ra thừaYou needn't have waited for me.
S + didn't need to + Vkhô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 thường gặp

  • I should have went to bed earlier.I should have gone to bed earlier.

    Sau have là V3: gone, không phải went.

  • You should told me about the problem.You should have told me about the problem.

    Nói về quá khứ phải có have: should have + V3.

  • I must have studied harder for the test.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.

  • Nam lent me his laptop, so I needn't have bought one.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.

Luyện tập (10 câu có đáp án)

Làm thử ngay — bấm Kiểm tra để chấm từng câu, Xem đáp án để đọc giải thích. Phần này không tính tiến độ.

  1. 1Chọn đáp án

    I failed my driving test because I panicked at a roundabout. I   more lessons before the exam.

    Xem đáp án

    Đáp án: should have taken

    Tiếc vì đã không học thêm → should have taken. Must have là suy đoán.

  2. 2Điền từ

    We (needn't / cook) so much food — half of the guests didn't come.

    Xem đáp án

    Đáp án: needn't have cooked / need not have cooked

    Đã nấu, hoá ra thừa → needn't have cooked.

  3. 3Chọn đáp án

    The hotel was almost empty, so we   a room in advance. We just walked in and got one.

    Xem đáp á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.

  4. 4Điền từ

    You (could / tell) me you were vegetarian! I would have cooked something different.

    Xem đáp án

    Đáp án: could have told / could've told

    Trách nhẹ vì người kia đã không nói → could have told.

  5. 5Sửa lỗi

    Chọn phần sai rồi gõ cách sửa đúng.

    Xem đáp án

    Đáp án: Phần sai: should have went → should have gone / should've gone

    Sau should have là V3: go → gone (went là quá khứ đơn).

  6. 6Sắp xếp câu

    Bấm các mảnh theo đúng thứ tự để tạo câu; bấm lại một mảnh trong câu để bỏ.

    Câu của bạn sẽ hiện ở đây
    Xem đáp á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).

  7. 7Chọn đáp án

    Thanks for picking me up, but you   to all that trouble. I could have got a bus.

    Xem đáp á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.

  8. 8Điền từ

    Minh went to the wrong building. He (ought / check) the address before he left.

    Xem đáp án

    Đáp án: ought to have checked

    Ought to have + V3 = should have + V3.

  9. 9Chọn đáp án

    Our team was unlucky. We   the final, but the referee disallowed our last goal.

    Xem đáp án

    Đáp án: could have won

    Có khả năng thắng nhưng không thắng → could have won.

  10. 10Sửa lỗi

    Chọn phần sai rồi gõ cách sửa đúng.

    Xem đáp án

    Đáp án: Phần sai: reply → replied

    Should have + V3: reply → replied.

Kiểm tra bài học

Liên quan

Cùng chủ điểm ở chặng khác

Từ vựng chủ đề gợi ý

Câu hỏi thường gặp

Should have và could have khác nhau thế nào?

Should have là đánh giá (đúng ra nên làm). Could have là khả năng, cơ hội đã không thành. Khi trách người khác, could have nghe nhẹ hơn.

Needn't have done và didn't need to do có thay nhau được không?

Không phải lúc nào cũng được. Việc đã không xảy ra thì chỉ dùng didn't need to; needn't have done ngầm hiểu việc đã làm.