Здесь собраны past perfect и present perfect задания с ответами: сначала короткое напоминание правила, затем пять блоков упражнений. Первые два блока отрабатывают каждое время отдельно, третий и четвёртый учат выбирать между ними, пятый смешанный.

Ответ к каждому заданию открывается вместе с пояснением: какой маркер подсказал время и почему другое время не подходит. Если ошибаетесь в каком-то типе предложений, вернитесь к таблице маркеров.

Present Perfect и Past Perfect: формулы в одной таблице

Оба времени строятся из вспомогательного глагола have и третьей формы глагола (V3). Разница только в форме have: в Present Perfect — have/has, в Past Perfect — had для всех лиц.

Present PerfectPast Perfect
УтверждениеI/you/we/they have + V3; he/she/it has + V3все лица: had + V3
Отрицаниеhaven’t / hasn’t + V3hadn’t + V3
ВопросHave/Has + подлежащее + V3?Had + подлежащее + V3?
ПримерShe has finished. — Она закончила.She had finished. — Она (уже) закончила к тому моменту.

Сокращения: I’ve, she’s, we’d. Сокращение ’s может означать и is, и has, а ’d — и had, и would: смотрите на слово после него. Если дальше стоит третья форма (V3), это has или had; если после ’d стоит инфинитив, это would. She’s gone. — Она ушла (has gone). She’d gone. — Она ушла (had gone).

Как выбрать время: точка отсчёта — сейчас или в прошлом

Главный вопрос: с каким моментом связано действие. Если результат важен сейчас — Present Perfect. Если действие произошло раньше другого прошлого события или момента — Past Perfect.

СитуацияВремяПример
Результат виден сейчасPresent PerfectI have broken my pen. — Я сломал ручку (писать нечем).
Раньше другого события в прошломPast PerfectWhen I got to school, I realised I had broken my pen. — Когда я пришёл в школу, я понял, что сломал ручку.
Опыт до настоящего моментаPresent PerfectI have never been to Italy. — Я никогда не был в Италии.
Опыт до момента в прошломPast PerfectI had never been to Italy before 2022. — До 2022 года я никогда не был в Италии.

Полезная проверка: в предложении с Past Perfect почти всегда есть второе прошлое действие или точка в прошлом (by 5 o’clock, before the lesson, when we arrived). Если такой точки нет и речь о сегодняшнем дне — скорее всего, нужен Present Perfect.

Маркеры Present Perfect и Past Perfect

Маркеры подсказывают время, но не решают всё сами: already и just встречаются в обоих временах. Смотрите на второй глагол в предложении.

Present PerfectPast Perfect
just, already, yet, ever, neverjust, already, ever, never — рядом с прошедшим временем
since, for (до сих пор)for (до момента в прошлом)
so far, recently, latelyby the time, by + время в прошлом
this week / today / this yearbefore, after, when + Past Simple
It’s the first time…It was the first time…
the best… I have ever…the best… I had ever…

We have just had lunch, so we aren’t hungry. — Мы только что пообедали, поэтому не голодны.

We had just had lunch, so we weren’t hungry. — Мы только что пообедали, поэтому не были голодны.

В этих двух предложениях одинаковые маркеры, а время меняется из-за aren’t / weren’t.

Past perfect и present perfect задания

Начните с блоков на каждое время по отдельности, чтобы уверенно строить формы. Потом переходите к выбору времени.

Блок 1. Present Perfect: раскройте скобки

Поставьте глагол в Present Perfect. Слова в скобках расставьте в правильном порядке.

  1. I ___ (finish) my homework. Can I go out now?
    Ответhave finished (также: 've finished) — Результат важен сейчас: домашка готова, можно гулять. С I — have.
  2. She ___ (lose) her keys, so she can’t open the door.
    Ответhas lost (также: 's lost) — Последствие в настоящем: can’t open сейчас. С she — has.
  3. We ___ (never / be) to London.
    Ответhave never been (также: 've never been) — Опыт за всю жизнь до сейчас; never ставится между have и V3.
  4. ___ (you / ever / try) sushi?
    ОтветHave you ever tried — Вопрос об опыте: Have + подлежащее + ever + V3.
  5. Tom ___ (not / do) the washing-up yet.
    Ответhasn't done (также: has not done) — Yet в отрицании — маркер Present Perfect. Tom = he, поэтому hasn’t.
  6. My parents ___ (buy) a new car. It’s in the garage now.
    Ответhave bought (также: 've bought) — Результат сейчас: машина в гараже. Parents — they, поэтому have.
  7. I ___ (know) Anna since 2015.
    Ответhave known (также: 've known) — Since + момент: действие длится до сих пор. Know не употребляется в Continuous.
  8. They ___ (just / arrive).
    Ответhave just arrived (также: 've just arrived) — Just — только что, связь с настоящим. Just стоит между have и V3.
  9. How long ___ (you / live) here?
    Ответhave you lived (также: have you been living) — How long о ситуации, которая длится до сих пор. Возможен и Present Perfect Continuous.
  10. The film ___ (not / start) yet.
    Ответhasn't started (также: has not started) — Yet в отрицании; the film = it, поэтому hasn’t.

Блок 2. Past Perfect: раскройте скобки

Поставьте глагол в Past Perfect.

  1. When I arrived at the station, the train ___ (already / leave).
    Ответhad already left (также: 'd already left) — Поезд ушёл раньше, чем я приехал (arrived — прошлое).
  2. By the time we got to the cinema, the film ___ (start).
    Ответhad started (также: 'd started) — By the time + Past Simple: фильм начался до нашего прихода.
  3. I ___ (never / see) the sea before that holiday.
    Ответhad never seen (также: 'd never seen) — Опыт до момента в прошлом (before that holiday).
  4. By 8 o’clock he ___ (finish) his homework.
    Ответhad finished (также: 'd finished) — By + время в прошлом — типичный маркер Past Perfect.
  5. ___ (you / ever / fly) before your trip to Spain?
    ОтветHad you ever flown — Опыт до поездки в прошлом. Fly — flew — flown.
  6. Mum was angry because we ___ (not / clean) our room.
    Ответhadn't cleaned (также: had not cleaned) — Причина раньше прошлого события (was angry).
  7. When I came home, my brother ___ (eat) all the cake.
    Ответhad eaten (также: 'd eaten) — Брат съел торт до моего прихода. Eat — ate — eaten.
  8. She didn’t recognise him because he ___ (change) a lot.
    Ответhad changed (также: 'd changed) — Он изменился до момента встречи в прошлом.
  9. The shop ___ (close) by the time we got there.
    Ответhad closed (также: 'd closed) — By the time we got there — точка в прошлом, магазин закрылся раньше.
  10. She was tired because she ___ (work) in the garden all morning.
    Ответhad worked (также: 'd worked, had been working, 'd been working) — Причина усталости — действие до момента в прошлом. Подходит и Past Perfect Continuous.

Блок 3. Present Perfect или Past Perfect: пары предложений

Раскройте скобки. Сравните предложения в каждой паре: что меняет время?

  1. Look! Someone ___ (break) the window.
    Ответhas broken (также: 's broken) — Look! — результат виден сейчас.
  2. When we came back, someone ___ (break) the window.
    Ответhad broken (также: 'd broken) — Окно разбили до нашего возвращения в прошлом.
  3. I ___ (already / read) this book, so I don’t want to read it again.
    Ответhave already read (также: 've already read) — Don’t want — настоящее, значит Present Perfect.
  4. I ___ (already / read) the book, so I didn’t want to see the film.
    Ответhad already read (также: 'd already read) — Didn’t want — прошлое, книга прочитана раньше.
  5. She ___ (live) in Moscow since 2020.
    Ответhas lived (также: 's lived, has been living) — Since 2020 — до сих пор.
  6. By 2020 she ___ (live) in Moscow for ten years.
    Ответhad lived (также: 'd lived, had been living) — By 2020 — точка в прошлом, период длился до неё.
  7. We ___ (just / have) lunch, so we aren’t hungry.
    Ответhave just had (также: 've just had) — Aren’t — настоящее время.
  8. We ___ (just / have) lunch, so we weren’t hungry.
    Ответhad just had (также: 'd just had) — Weren’t — прошлое. Had had: вспомогательный had + V3 от have.
  9. ___ (you / finish) the project yet? The teacher is waiting.
    ОтветHave you finished — Yet в вопросе и is waiting — ситуация сейчас.
  10. The teacher asked if we ___ (finish) the project.
    Ответhad finished — Косвенная речь после asked: Present Perfect сдвигается в Past Perfect.

Present perfect past perfect worksheets: выбор и смешанный блок

Следующие блоки подходят для урока или самостоятельной проверки. В четвёртом блоке выберите одну форму из двух, в пятом раскройте скобки сами.

Блок 4. Выберите правильную форму

Выберите один из двух вариантов в скобках.

  1. I ___ (have seen / had seen) this film three times.
    Ответhave seen — Опыт до настоящего момента, точки в прошлом нет.
  2. Before the lesson started, I ___ (have revised / had revised) all the words.
    Ответhad revised — Before + Past Simple: повторил слова раньше начала урока.
  3. Kate isn’t here. She ___ (has gone / had gone) home.
    Ответhas gone — Isn’t here — сейчас её нет.
  4. When I phoned Kate, she ___ (has gone / had gone) home.
    Ответhad gone — Ушла до моего звонка в прошлом.
  5. This is the best pizza I ___ (have ever eaten / had ever eaten).
    Ответhave ever eaten — This is the best… — настоящее, значит Present Perfect.
  6. It was the best pizza I ___ (have ever eaten / had ever eaten).
    Ответhad ever eaten — It was the best… — прошлое, значит Past Perfect.
  7. ___ (Have you done / Had you done) your homework? Show it to me.
    ОтветHave you done — Show it to me — просьба сейчас, важен результат.
  8. My grandparents ___ (have been married / had been married) for 50 years. Today is their anniversary.
    Ответhave been married — Today is — период длится до настоящего.
  9. They ___ (have been / had been) friends for years before they had an argument.
    Ответhad been — Дружба длилась до ссоры в прошлом.
  10. I ___ (haven’t met / hadn’t met) him before the party last Saturday.
    Ответhadn't met — Before the party last Saturday — точка в прошлом.

Блок 5. Смешанный: раскройте скобки

Поставьте глагол в Present Perfect или Past Perfect, включая отрицания и вопросы.

  1. I ___ (not / see) Mark this week.
    Ответhaven't seen (также: have not seen) — This week — период ещё не закончился.
  2. I ___ (not / see) Mark for a year when we met again in July.
    Ответhadn't seen (также: had not seen) — Период до встречи в июле, то есть до момента в прошлом.
  3. How many countries ___ (you / visit) so far?
    Ответhave you visited — So far — до настоящего момента.
  4. How many countries ___ (you / visit) before you turned 18?
    Ответhad you visited — Before you turned 18 — точка в прошлом.
  5. The guests ___ (already / arrive) by the time we got home.
    Ответhad already arrived (также: 'd already arrived) — By the time + Past Simple — Past Perfect.
  6. Oh no, I ___ (forget) my password again.
    Ответhave forgotten (также: 've forgotten) — Результат сейчас: не могу войти. Forget — forgot — forgotten.
  7. She told me that she ___ (forget) her password.
    Ответhad forgotten (также: 'd forgotten) — Косвенная речь после told: действие раньше прошлого рассказа.
  8. My sister ___ (be) ill since Monday, so she isn’t at school today.
    Ответhas been (также: 's been) — Since Monday и isn’t today — до сих пор.
  9. He was nervous because he ___ (never / speak) in public before.
    Ответhad never spoken (также: 'd never spoken) — Опыт до момента в прошлом (was nervous). Speak — spoke — spoken.
  10. It’s the first time I ___ (cook) dinner for my family.
    Ответhave cooked (также: 've cooked) — It’s the first time… — после него Present Perfect.
  11. It was the first time I ___ (cook) dinner for my family.
    Ответhad cooked (также: 'd cooked) — It was the first time… — после него Past Perfect.
  12. ___ (the rain / stop) yet? I want to go out.
    ОтветHas the rain stopped — Yet в вопросе, want — сейчас. The rain = it, поэтому has.

Частые ошибки в заданиях на эти времена

  1. Has вместо have и наоборот. Has — только с he, she, it и единственным числом: My sister has gone. Но My parents have gone.
  2. Had has / had had. В Past Perfect вспомогательный глагол всегда had, без has. Форма had had правильная, если основной глагол — have: We had had lunch. — Мы уже пообедали.
  3. Past Perfect без второй точки в прошлом. I had finished my homework. без контекста звучит незаконченно. Нужен момент: …by 7 o’clock или …when Mum came home.
  4. Present Perfect с точным временем в прошлом. Нельзя: I have seen him yesterday. С yesterday, last week, in 2020 нужен Past Simple: I saw him yesterday.
  5. Неправильная третья форма. go — went — gone, eat — ate — eaten, forget — forgot — forgotten. Сверяйтесь с таблицей неправильных глаголов.

Дальше: vremena anglijskogo.