پرش به محتوای اصلی

02-Perfect Tenses — نمونه سؤال و درسنامه کنکور

بخشی از بانک سؤال طبقه‌بندی‌شده‌ی این مبحث در کوئیز سنتر — رایگان و بدون نیاز به ثبت‌نام

📘 خلاصه‌ی درسنامه

بخش اول: Present Perfect با Since و For

Present Perfect=has/have+past participle\text{Present Perfect} = \text{has/have} + \text{past participle}

کاربرد: وقتی وضعیتی از گذشته شروع شده و الان هم ادامه دارد.

تله بزرگ Since در برابر For

Since For
نقطه زمانی مشخص مدت زمان
since 2002, since last May, since nine o'clock for two years, for three months, for ages

مثال طلایی: "Mrs. Oh has been a teacher since 2002." / "She has known him for two months."
تله تستی: ❌ "I have been here for last May" — چون last May نقطه زمانی است، نه مدت. باید "since last May" باشد.

ترفند معلم خصوصی: اگه می‌تونی بگی «از وقتی که...» یا «از تاریخ...» → since. اگه می‌تونی بگی «به مدت...» → for.

Time Clause بعد از Since

Present Perfect+since+Simple Past\text{Present Perfect} + \text{since} + \text{Simple Past}

"I have known Rob since I was in high school.""We have lived in an apartment since we moved to this city."
بعد از since وقتی جمله زمانی می‌آید، فعل آن simple past است — نه present perfect: ❌ "I have known Rob since I have been in high school" غلط است.

خاطره‌ی یادگیری: اگه بخوای بگی «رابرت رو از دبیرستان می‌شناسم»، نمی‌گی "I know Rob since high school" (غلط محض) — باید بگی "I have known Rob since I was in high school" چون شناختنت از گذشته شروع شده و الان هم ادامه داره.

قیدهای زمان نامشخص

قید معنی مثال
ever تا به حال Have you ever seen snow?
never هیچ‌وقت I've never seen snow
yet هنوز (سوالی/منفی) Have you finished yet? / I haven't finished yet
already قبلاً (مثبت) Jack has already finished
just همین الان/تازه Sara has just finished her work
recently/lately اخیراً I've felt tired lately

تله Yet در برابر Already: Yet فقط در جملات سوالی و منفی می‌آید (❌ "I have finished yet" غلط است). Already در جملات مثبت می‌آید (گاهی سوالی برای تعجب: "Have you already finished?").

Present Perfect در برابر Simple Past

Present Perfect Simple Past
زمان نامشخص — "I have met Linda" زمان مشخص — "I met Helen yesterday"
وضعیت همچنان ادامه دارد وضعیت تمام شده
"Sam has been a teacher for ten years" (هنوز معلمه) "Jim was a teacher for ten years, from 2000 to 2010" (الان نیست)

"I have seen him yesterday" ← غلط، چون yesterday زمان مشخص است → باید "I saw him yesterday" باشد.

رویدادهای تکراری هم با present perfect می‌آیند (کلمات کلیدی: so far, twice, several times، many times): "I've been to Paris twice.", "We have had three tests so far this term.", "She has called me several times today."

بخش دوم: Present Perfect Progressive

has/have been+verb-ing\text{has/have been} + \text{verb-ing}

برای فعالیتی در حال انجام که از گذشته شروع شده و ادامه دارد، با تأکید روی مدت: "She has been waiting for the bus for 15 minutes." مقایسه با present progressive ساده (فقط الان: "She is waiting") و present perfect ساده (بدون تأکید بر مدت: "She has waited").

⚠️ فعل‌های حالتی (Stative Verbs) مثل know, believe, want, like, love, hate, need با progressive نمی‌آیند:
"I have been knowing him for years" ← باید "I have known him for years" باشد.

تفاوت ظریف: "I have lived here for 5 years" (تأکید روی وضعیت/نتیجه) در برابر "I have been living here for 5 years" (تأکید روی تداوم فعالیت) — در کنکور دنبال قرینه‌های تأکیدی روی تداوم فعالیت بگرد.

بخش سوم: Past Perfect و Past Perfect Progressive

had+past participlehad been+verb-ing\text{had} + \text{past participle} \qquad \text{had been} + \text{verb-ing}

برای دو اتفاق در گذشته — نشان می‌دهد کدام قبل از دیگری اتفاق افتاده. رویداد قدیمی‌تر با Past Perfect، رویداد جدیدتر با Simple Past:
"By the time Sam came, Ann had already left."

کلمه سیگنال مثال
by the time By the time he arrived, I had finished
before She had eaten before she left
when When I arrived, the film had already started
after After he had studied, he went out
already She had already left when he came

تله کنکوری: ❌ "By the time she came, I finished my work" ← باید "I had finished" باشد چون این اتفاق زودتر از آمدنش رخ داده.

Past Perfect Progressive برای فعالیتی که مدتی قبل از یک رویداد گذشته در جریان بوده و تأکید روی مدت آن است: "The police had been looking for the criminal for two years before they caught him." در مقابل، Past Perfect ساده تأکید روی تکمیل دارد: "Ryan had researched the topic" (تکمیل) در برابر "Ryan had been researching the topic for months" (تداوم).

جدول خلاصه چهار زمان کامل

زمان فرمول سیگنال‌ها
Present Perfect have/has + p.p. ever, never, yet, already, since, for
Present Perfect Progressive have/has been + -ing for/since + فعالیت در جریان
Past Perfect had + p.p. by the time, before, when, already
Past Perfect Progressive had been + -ing for/since + قبل از رویداد گذشته

نکته‌ی طلایی نهایی: stative verbs (know, want, believe) هرگز با progressive نمی‌آیند — نه در present perfect، نه در past perfect.

این فقط خلاصه‌ی درسنامه است — برای مطالعه‌ی متن کامل با تمام نکات و مثال‌ها، ثبت‌نام کن.

📝 نمونه تست

این خلاصه‌ی درسنامه و نمونه تست‌ها برای تجربه‌ی بهتر تو آماده شده — بانک کامل سؤال و درسنامه‌ی کامل بعد از ثبت‌نام در دسترسته.

1. By the time the rescue team finally reached the isolated village, the residents ___ without fresh water for almost a week.

  • have been surviving
  • had been surviving
  • were surviving
  • have survived

عبارت By the time نشان‌دهنده گذشته کامل یا گذشته کامل استمراری است. چون عمل در جریان بوده و مدت زمان (for almost a week) داریم، past perfect progressive (had been surviving) صحیح است.

2. I completely understand your frustration; you ___ for the manager's response since you ___ your application last month.

  • have been waiting / submitted
  • had been waiting / submit
  • have waited / have submitted
  • were waiting / had submitted

بعد از since از گذشته ساده (submitted) استفاده می‌شود و قبل از آن برای عملی که در جریان بوده و تا الان ادامه دارد از Present Perfect Progressive استفاده می‌کنیم.

3. Despite their long-standing friendship, they ___ each other very well since they ___ from university ten years ago.

  • haven't been understanding / graduated
  • hadn't understood / have graduated
  • haven't understood / graduated
  • didn't understand / had graduated

فعل understand یک stative verb است و در حالت progressive نمی‌آید. چون وضعیت تا الان ادامه دارد، Present Perfect ساده می‌آید. فعل بعد از since هم باید Simple Past (graduated) باشد.

4. The archaeologists were exhausted but thrilled; they ___ in the scorching sun for hours before they finally ___ the ancient tomb.

  • have been digging / discovered
  • were digging / had discovered
  • have dug / were discovering
  • had been digging / discovered

دو عمل در گذشته: اولی قبل از دومی در جریان بوده (had been digging) و دومی به صورت نقطه‌ای در گذشته رخ داده است (discovered).

5. Which of the following sentences is grammatically correct regarding the use of perfect tenses and time markers?

  • I have known my best friend for we were in elementary school.
  • I have been knowing my best friend since we were in elementary school.
  • I knew my best friend since we were in elementary school.
  • I have known my best friend since we were in elementary school.

گزینه ۴ کاملا صحیح است. فعل know حالت stative دارد و ing نمی‌گیرد. برای نقطه شروع (زمان مدرسه) از since استفاده می‌شود.

ادامه‌ی این مبحث رو ببین

با ثبت‌نام رایگان، به بانک کامل سؤال، شبیه‌ساز کنکور و تحلیل پیشرفت دسترسی داری

ثبت‌نام رایگان