На этой странице собраны Present Perfect упражнения с ответами: 5 блоков от простого к сложному. Сначала вы ставите глаголы в нужную форму, потом выбираете for или since, тренируете already, just, yet, а в конце решаете смешанный блок.

Перед каждым блоком есть короткое правило. Ответы и пояснения открываются у каждого задания, так что проверить себя можно сразу.

Как образуется Present Perfect: короткое напоминание

Present Perfect = have / has + V3 (третья форма глагола). Has используется с he, she, it, а have — со всеми остальными.

ФормаСхемаПример
УтверждениеI/you/we/they have + V3; he/she/it has + V3She has finished her homework. — Она сделала домашнее задание.
Отрицаниеhave not (haven’t) / has not (hasn’t) + V3We haven’t seen this film. — Мы не видели этот фильм.
ВопросHave / Has + подлежащее + V3?Have you ever been to London? — Вы когда-нибудь бывали в Лондоне?

У правильных глаголов V3 образуется с окончанием -ed: finish → finished, play → played. Неправильные глаголы нужно запомнить: be → been, go → gone, see → seen, buy → bought, write → written, eat → eaten, break → broken, lose → lost, have → had, know → known, read → read [red].

Сокращения: I have → I’ve, she has → she’s, have not → haven’t, has not → hasn’t. В ответах подходят и полные, и краткие формы.

Put the verbs in brackets into the present perfect

В первом блоке нужно раскрыть скобки: поставьте глагол в Present Perfect. Если в скобках есть not, сделайте отрицание, если вопросительный знак в конце — вопрос.

Порядок работы:

  1. Посмотрите на подлежащее: he, she, it или имя одного человека — has, остальные — have.
  2. Найдите третью форму глагола (V3).
  3. В вопросе поставьте have/has перед подлежащим.

Упражнение 1. Раскройте скобки: Present Perfect

Поставьте глагол в скобках в Present Perfect (утверждение, отрицание или вопрос).

  1. I ___ (lose) my keys.
    Ответhave lost (также: 've lost) — С I используется have; lose — неправильный глагол: lose – lost – lost.
  2. She ___ (finish) her homework.
    Ответhas finished (также: 's finished) — She — третье лицо, поэтому has; finish — правильный глагол, V3 с -ed.
  3. We ___ (not/see) this film.
    Ответhaven't seen (также: have not seen) — Отрицание: have not + V3; see – saw – seen.
  4. ___ (you/ever/be) to London?
    ОтветHave you ever been — Вопрос: Have + подлежащее + ever + V3; be – was/were – been.
  5. My parents ___ (buy) a new car.
    Ответhave bought (также: 've bought) — My parents = they, поэтому have; buy – bought – bought.
  6. Tom ___ (not/call) me.
    Ответhasn't called (также: has not called) — Tom = he, поэтому hasn’t; call — правильный глагол.
  7. They ___ (go) to the cinema.
    Ответhave gone (также: 've gone) — They — have; go – went – gone.
  8. ___ (she/write) the letter?
    ОтветHas she written — Вопрос с she: Has she + V3; write – wrote – written.
  9. I ___ (read) this book three times.
    Ответhave read (также: 've read) — Read – read – read: пишется одинаково, но V3 читается [red].
  10. The children ___ (break) the window.
    Ответhave broken (также: 've broken) — The children — множественное число, значит have; break – broke – broken.
  11. He ___ (not/eat) anything today.
    Ответhasn't eaten (также: has not eaten) — He — hasn’t; eat – ate – eaten. Today — период, который ещё не закончился.
  12. ___ (they/meet) your sister?
    ОтветHave they met — Вопрос: Have they + V3; meet – met – met.

Since for present perfect упражнения: в чём разница

For отвечает на вопрос «как долго?», since — на вопрос «с какого момента?». Оба слова часто стоят с Present Perfect, когда действие началось в прошлом и продолжается сейчас.

For + отрезок времениSince + момент начала
for two years — два годаsince 2018 — с 2018 года
for ten minutes — десять минутsince Monday — с понедельника
for a long time — долгоsince last summer — с прошлого лета
for ages — целую вечностьsince I was seven — с семи лет

I have lived here for five years. — Я живу здесь пять лет. I have lived here since 2020. — Я живу здесь с 2020 года.

Обратите внимание: по-русски в таких предложениях обычно настоящее время («живу»), а по-английски — Present Perfect. Сказать I live here for five years нельзя.

Упражнение 2. For или since

Вставьте for или since.

  1. I have lived here ___ 2018.
    Ответsince — 2018 — момент начала, поэтому since.
  2. She has worked at this school ___ ten years.
    Ответfor — Ten years — отрезок времени, поэтому for.
  3. We haven’t seen him ___ Monday.
    Ответsince — Monday — точка отсчёта: с понедельника.
  4. They have been friends ___ a long time.
    Ответfor — A long time — длительность, поэтому for.
  5. He has played the guitar ___ he was seven.
    Ответsince — Since + событие в прошлом (с тех пор, как ему было семь).
  6. I haven’t eaten ___ three hours.
    Ответfor — Three hours — отрезок времени.
  7. My mum has had this car ___ last summer.
    Ответsince — Last summer — момент, с которого началось действие.
  8. We have known each other ___ two months.
    Ответfor — Two months — длительность.
  9. It has rained ___ eight o’clock.
    Ответsince — Eight o’clock — точка во времени: с восьми часов.
  10. Kate has studied English ___ ages.
    Ответfor — For ages — устойчивое выражение «целую вечность, очень долго».
  11. I’ve had this phone ___ my birthday.
    Ответsince — My birthday — событие, с которого всё началось.

Present perfect already just yet exercises

Already, just и yet — частые маркеры Present Perfect. Они отличаются значением и местом в предложении. Already обычно стоит между have/has и V3, но в разговорной речи его ставят и в конец предложения: I’ve finished already.

СловоЗначениеГде стоитПример
alreadyужемежду have/has и V3I have already read this book. — Я уже прочитал эту книгу.
justтолько чтомежду have/has и V3She has just left. — Она только что ушла.
yetуже (в вопросе), ещё (в отрицании)в конце вопроса или отрицанияHave you finished yet? — Ты уже закончил? I haven’t finished yet. — Я ещё не закончил.

Yet обычно не ставят в утвердительном предложении. В американском английском с just и already часто используют Past Simple: I just saw him. В британском варианте в этом случае нормой считается Present Perfect: I’ve just seen him.

В заданиях ниже подсказка в скобках (уже / только что) помогает выбрать между already и just.

Упражнение 3. Already, just или yet

Вставьте already, just или yet. Подсказка в скобках показывает значение.

  1. Have you done your homework ___?
    Ответyet — В конце вопроса в значении «уже» ставится yet.
  2. The film has ___ started. Sit down quickly. (только что)
    Ответjust — Just — «только что», стоит между has и V3.
  3. I have ___ read this book. (уже)
    Ответalready — Already — «уже» в утвердительном предложении, между have и V3.
  4. Dad hasn’t come home ___.
    Ответyet — В конце отрицания yet означает «ещё не».
  5. We’ve ___ had lunch, thanks. (уже)
    Ответalready — Утверждение со значением «уже» — already.
  6. Has the bus arrived ___?
    Ответyet — Вопрос, слово в конце — yet.
  7. Look, it has ___ stopped raining. (только что)
    Ответjust — Действие завершилось совсем недавно — just.
  8. They haven’t decided ___.
    Ответyet — Отрицание + конец предложения — yet.
  9. She has ___ told me the news. (уже)
    Ответalready — Already стоит между has и V3.
  10. I’ve ___ seen Anna in the corridor. (только что)
    Ответjust — Just — «только что», между have и V3.

Present perfect for since exercises: глагол + for или since

В этом блоке два действия сразу: поставьте глагол в Present Perfect и выберите for или since. Ответ пишите одной строкой через пробел, например: has lived for.

Подсказка: если после пропуска стоит год, день недели, месяц или событие (my birthday, last summer), нужен since. Если число с единицей времени (three years, a month) — for.

Упражнение 4. Глагол в Present Perfect + for или since

Поставьте глагол в Present Perfect и выберите for или since. Напишите ответ одной строкой через пробел, например: has lived for.

  1. I ___ (know) Mark ___ 2020.
    Ответhave known since (также: 've known since) — I — have; know – knew – known; 2020 — момент начала, поэтому since.
  2. She ___ (live) in Moscow ___ five years.
    Ответhas lived for (также: 's lived for) — She — has; five years — отрезок, поэтому for.
  3. We ___ (not/see) our grandma ___ May.
    Ответhaven't seen since (также: have not seen since) — Отрицание haven’t + seen; May — точка отсчёта, since.
  4. He ___ (be) ill ___ Tuesday.
    Ответhas been since (также: 's been since) — Be – was – been; Tuesday — момент начала.
  5. They ___ (have) a dog ___ three years.
    Ответhave had for (также: 've had for) — Have – had – had; three years — длительность.
  6. I ___ (not/play) football ___ a month.
    Ответhaven't played for (также: have not played for) — Отрицание haven’t + played; a month — отрезок времени.
  7. My brother ___ (work) as a doctor ___ 2019.
    Ответhas worked since (также: 's worked since) — My brother = he, поэтому has; 2019 — точка отсчёта.
  8. We ___ (be) in this class ___ September.
    Ответhave been since (также: 've been since) — We — have been; September — момент начала.

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

Последний блок работает как present perfect worksheet для самопроверки: в нём перемешаны все темы страницы — формы глагола, for и since, already, just, yet, ever и never.

Наречия ever (когда-нибудь) и never (никогда) тоже ставят между have/has и V3: I have never ridden a horse. — Я никогда не катался на лошади. Have you ever tried sushi? — Ты когда-нибудь пробовал суши?

Вопрос о длительности строится с How long: How long have you known Lisa? — Как давно ты знаешь Лизу?

Если вы ошиблись больше чем в трёх заданиях, вернитесь к блоку на эту тему и прочитайте пояснения к ответам.

Упражнение 5. Смешанный блок

Заполните пропуск: поставьте глагол в Present Perfect или вставьте for, since, yet.

  1. I ___ (never/ride) a horse.
    Ответhave never ridden (также: 've never ridden) — Never стоит между have и V3; ride – rode – ridden.
  2. She has lived in Kazan ___ she was born.
    Ответsince — Since + событие: с тех пор, как она родилась.
  3. ___ (you/ever/try) sushi?
    ОтветHave you ever tried — Вопрос с ever: Have + you + ever + V3.
  4. Has Max called ___?
    Ответyet — Yet в конце вопроса — «уже».
  5. We ___ (just/finish) the test.
    Ответhave just finished (также: 've just finished) — Just ставится между have и V3.
  6. My friends ___ (not/arrive) yet.
    Ответhaven't arrived (также: have not arrived) — My friends = they; отрицание haven’t + V3, yet в конце.
  7. I’ve had this bike ___ two years.
    Ответfor — Two years — отрезок времени.
  8. He ___ (already/buy) the tickets.
    Ответhas already bought (также: 's already bought) — Already между has и V3; buy – bought – bought.
  9. How long ___ (you/know) Lisa?
    Ответhave you known — How long + have + подлежащее + V3; know – knew – known.
  10. Our teacher ___ (be) at this school since 2015.
    Ответhas been (также: 's been) — Since 2015 — маркер Present Perfect; our teacher = he/she, поэтому has.

Дальше: vremena anglijskogo.