*****************************
有,這句不必用現在完成式,而是過去現在完成式會合適一點。
Correct:You had cleaned your room(yeaterday).
個人淺見*-*
*****************************
現在完成式
1.<現在完成式>表示到現在為止已完成或仍在持續的動作,狀態;強調對現在情況的影響,聯繫,或表示經歷,經驗。
2.<現在完成式>的形式是<HAVE>或has+{過去分詞}。
3.<現在完成式>是用過去發生,到現在已完成或剛完成的動作來說明現在的情況,或說明到目前為止共完成的動作。
I have opened the door.
我已打開門了。
4.<現在完成式>用在過去已完成而其結果對現在仍有影響的動作來說明經歷,經驗,或表示某種感情色彩。
Mr. Li speaks good English. He has learned English for 20 years.
李先生說一口好英語,他學了二十年英語了。
5.在時間<子句>和條件<子句>中用<現在完成式>表示未來完成的動作。
You may go swimming if you have done your homework before 9.
如果你在九點以前做完功課,你可以去游泳。
6.當<現在完成式>表示從過去某時持續到現在的動作或狀態,以說明經歷,經驗,與for或since引導的表示一段時間的<副詞片語>連用時,{述語動詞}要用be,keep,learn,live,read,serve,stay,study,teach,watch,work,write等可表示持續的<動詞>,不可使用arrive,become,begin,borrow,buy,come,close,die,end,enter,get,go,hear,graduate,join,leave,lend,lose,marry,open,put,reach,receive,return,see,shut,start,stop等表示終止的<動詞>。
中文:他到這裡三天了。
(誤)He has arrived here for three days.
(正)He has been here for three days.
7.終止<動詞>的否定式可與for或since引導的表示一段時間的<副詞片語>或<副詞子句>連用。
I haven't seen her for five years.
我五年沒見到她了。
8.與ever,never,just,always等表示不確定的<時間副詞>連用時,可用<現在完成式>也可用<簡單過去式>。
Have you ever heard of such a man?
你聽說過這樣一個人嗎?#8-2
Did you ever hear of such a man?
你聽說過這樣一個人嗎?
9.<have been> to,<have gone> to的比較。
Have you been to Hong Kong?
你去過香港嗎?
現在已不在香港。
He has gone to Hong Kong.
他已去香港了。
他現在已不在本地。
*********************************
過去完成式
1.<過去完成式>的形式是had+{過去分詞}。
2.<過去完成式>表示過去某一時間或某一動作之前已經完成的動作或存在的狀態,這一過去的時間可由by,before引導的時間<副詞片語>或<子句>或從上下文中表示出來。
I had finished typing before lunch.
我在午飯前已打完字。
3.<過去完成式>表示過去某一時間以前開始一直延續到那個時間並可能繼續下去的動作或狀態,常和by或since引導的表示時間的<片語>或<子句>連用。
He had studied English for five years when he took the exam.
到考試時止,他已經學了五年英語。
4.<過去完成式>可表示過去未實現的希望或計劃。
I had hoped to pass examination.
我曾希望能通過考試。