現在完成時態和一般過去時態
有同學在群裡問了一道關於“現在完成時態和一般過去時態之間區別”的語法題,摘錄如下:
There is someone knocking at the door.
—— It must be the computer repairman.
—— I ______ him to come to fix my computer.
A. call B. have called C. called D. will call
群內同學眾說紛紜,但是答案集中在B和C兩個答案之間,有的認為B正確,該選現在完成時態,有的認為C正確,該選一般過去時態,也有的同學認為B和C兩個答案都對,應該都可以選擇,那麼到底應該如何選擇呢?
這時,我們就需要了解現在完成時態和一般過去時態之間到底有何區別?
我們先來看看一般過去時態的時空作用域, 如下圖所示:
一般過去時態
從上圖可以看出,一般過去時態的時空作用域是發生在過去,也就是說其時效性侷限於過去,對現在沒有影響。
我們再來看看現在完成時態的時空作用域, 如下圖所示:
現在完成時態
從上圖可以看出,現在完成時態的時空作用域從過去延伸到現在,也就是說其時效性從過去延續到現在,對現在產生影響。
這就是為什麼現在完成時態的動作發生在過去,但是其時間助動詞(has/have)又是現在的原因。
這也就是為什麼現在完成時態不能夠和表示具體的過去時間狀語連用的原因。
好了,我們現在已經瞭解了現在完成時態和一般過去時態之間最主要的區別,那麼我們再回到文首的語法題上。
There is someone knocking at the door. ——有人在敲門。
—— It must be the computer repairman. ——一定是修電腦的。
—— I ______ him to come to fix my computer. ——我_____他來修電腦。
上面B. have called 和 C. called 選項中都可以表達“打過電話”這一內涵,但是對話設定的語境是因為(過去)打過電話這個事件,導致(現在)有人來敲門這個事件,也就是過去的事件對現在產生了影響,這也正好符合了現在完成時態的時空作用域的定義。
選項B. have called 表達出“剛打過電話”這一思維內涵。
選項C. called 表達出“打過電話”,但是何時打電話則不夠明確,是剛剛打,還是昨天打的,還是前天打的,還是更久以前打的,不明確,所以和對話設置的語境稍微有些不合。
所以綜合起來,選項C不能認為是錯的,只是選項B. have called此處更符合語境設置。
好了,到此我們就通過簡簡單單的一道語法題重溫了一遍一般過去時態和現在完成時態的用法,關於這兩個時態還可以參考下面這篇文章:解密語法 - 一般過去時態和現在完成時態之間的區別真的很簡單。
更多語法文章: