學習重點 現在完成式的形式為 have/has+過去分詞,用來表達「持續到現在」、「對現在的影響或結果」及「過去至今的經驗」。 現在完成進行式為 have/has been+V-ing,強調一段時間以來持續進行的活動;活動可能仍在進行,也可能剛停止而留下影響。 for 接時間長度,since 接起點;判斷時態仍須確認敘述的時間是否延伸到現在。 yet、recently、in/over the past+一段時間是常見線索;敘述發生於明確、已結束過去時間的事件,通常用簡單過去式。 have/has been to+地點表達到訪經驗,常與 ever、never 搭配。 核心觀念 一、先辨認完成式的結構 結構功能例子 have/has+過去分詞現在完成式主動語態She has learned a lot. have/has been+過去分詞現在完成式被動語態The sport has been played for centuries. have/has been+V-ing現在完成進行式They have been practicing. 第三人稱單數主詞用 has;I、you、複數主詞用 have。否定式為 have/has not+過去分詞,也可用 have/has never+過去分詞表示「從未」。副詞不會改變後面應接的動詞形式,例如 has never banned,不能寫成 ban、bans 或 banning。 注意不規則變化:find–found–found、undergo–underwent–undergone、become–became–become、be–was/were–been。因此完成式用 has undergone,簡單過去式則用 underwent。 二、持續:從過去延伸到現在 某狀態、活動或變化從過去開始,延續到現在,可用現在完成式。常見線索是 for、since,以及詢問時間長度的 How long…?。 用法後接內容例子 for一段時間,回答「多久」for six years、for two hours since時間起點,回答「從何時起」since last Friday、since its founding since+子句交代過去起點的事件,通常用簡單過去式since she was seven、since I was here last time 例如:He has lived here for five years. 表示他五年前開始住在這裡,現在仍住在這裡。若敘述城鎮從上次造訪至今的變化,則用 has undergone great changes,強調變化累積至今。 since its founding fifteen years ago的起點是「十五年前成立時」。雖然其中有 ago,主要子句仍可用現在完成式,因為整體意思是「從成立一直到現在」。不要只看到單一時間字就決定時態。 若主詞是動作的承受者,要加上被動結構。某項運動「被人從事至今」用 has been played;has been 後面的 played 是過去分詞,不是進行式。 三、完成進行式:強調一直在做 have/has been+V-ing著重活動的持續過程。例如:You have been talking for an hour. 若接著要求對方掛電話,就能確認說話當下仍在通話。 從某個星期五開始一直設法聯絡某人,可用 have been trying…since last Friday;最近一段時間一直不舒服,可用 haven't been feeling well recently。 完成進行式不保證動作仍未停止。例如剛跑完步而氣喘吁吁,也可說 I have been running. 判斷重點是最近持續進行的活動及其現在的影響。現在完成式則較常著重結果、次數或狀態。 四、影響與結果:過去發生,現在有關 現在完成式也可表示已完成的動作,其結果與現在密切相關。例如:She is delighted because she has found her ring. 找到戒指是現在高興的原因,因此用完成式凸顯目前結果。 不能只因主要子句是現在式,就認定原因子句一定要用現在完成式;簡單過去式也能交代過去原因。選擇時應看題意是否強調已完成且與現在相關的結果。過去完成式 had found 則以某個過去時刻為基準,表示「在那之前已找到」,不能沒有過去基準就任意使用。 五、時間副詞與位置 副詞或片語意思與判斷重點常見位置或例子 yet否定句表示「還沒」;疑問句詢問「是否已經」hasn't replied yet;haven't yet decided already表示「已經」,常見於肯定句,也可用於帶驚訝語氣的疑問句has already finished just表示「剛剛」has just arrived still表示「仍然」;表達「仍未」時通常放在否定助動詞之前still haven't decided recently / lately最近、近來;可描述最近一段時間的情況haven't been sleeping well recently in/over the past/last+時間長度過去一段時間以來,通常涵蓋至今in the past five hundred years 「還沒決定」可寫 haven't decided yet 或 haven't yet decided。anymore 表示「不再」,不是「尚未」;afterwards 表示「之後」,at last 表示「終於」,suddenly 表示「突然」,都不能取代表示「最近」的 recently。 表示「過去五百年來」用 in the past five hundred years。若要表示「將近五百年」,可說 for almost five hundred years;不能直接把 almost 填入 in the…five hundred years 的位置。 六、與簡單過去式的區辨 簡單過去式把事件放在已結束的過去時間中敘述,例如 yesterday、in 1955、on July 17, 1955。描述某個願景在特定日期實現,動詞用 became;描述某設施在過去數十年間發展至今,則可用 has grown。 簡單過去式不代表事件「與現在毫無關係」,而是不以完成式的方式凸顯過去與現在的連結。同一篇文章可以依敘述時間切換時態,不必全部使用同一種。 for、recently、already 等也不是現在完成式專用。先看時間範圍,再看副詞。未來完成式 will have+過去分詞以未來時刻為基準;未來基準可由上下文提供,不一定要明寫 by,但不能用來表達已持續至今的活動。 七、經驗:have/has been to have/has been to+地點表示曾到訪某地的經驗,通常指到訪後已返回;have/has gone to+地點表示已前往某地,通常尚未返回。 Have you ever been to Canada?:詢問過去至今是否曾去過。 He has never been to Canada.:表示截至現在從未去過。 He has gone to Canada.:表示他已去了加拿大,目前不在這裡。 ever、never 通常放在 have/has 與 been 之間。表達「從未去過」須保留完整的 has never been to;has never to 缺少過去分詞,is never to、was never to 也不能表達相同的到訪經驗。 常考陷阱 把時間長度當起點:six years、two hours 是期間,用 for;last Friday、成立之時是起點,用 since。 只看 ago 就選過去式:since…ago 表示從過去起點延伸至今,主要子句仍可用現在完成式。 完成式接錯詞形:has banned、has learned、has undergone 才是正確結構;不能直接接 banning、learns 或 underwent。 混淆被動與進行:has been played 是「被從事」;has been playing 是「一直在玩」,要先看主詞與動作的關係。 否定副詞位置錯誤:「尚未決定」用 haven't yet decided;「仍未決定」通常用 still haven't decided。 忽略明確過去日期:敘述在某個已結束日期發生的事件,選 became 等過去式;描述累積至今的發展,才選完成式。 把持續至今誤當未來完成:目前已通話很久,且仍被要求掛電話,應用 have been talking。 經驗結構漏掉 been:「從未去過」用 have/has never been to,不能只寫 have/has never。 記憶口訣 for 接段,since 接點;延伸至今看完成。 完成看結果,進行看過程;been 後分詞看被動,接 ing 看進行。 尚未用 yet,仍未 still 放前;been to 有經驗,gone to 已前往。