• ベストアンサー
  • すぐに回答を!

現在完了進行形

(  )の語句を補って、現在完了の文にしなさい。 I practice karate.(for ten years) 私の考え:I have been practicing karate for ten years. 解答:I have practiced karate for ten years. practiceという動詞は動作動詞で、文の用法は継続用法なのでこの文は現在完了進行形にするのだと思いました。なぜ解答のようになるのか教えて下さい。よろしくお願いします。

共感・応援の気持ちを伝えよう!

  • 英語
  • 回答数9
  • ありがとう数12

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.8

アメリカに38年半住んでいる者です。 私なりに書かせてくださいね。 これは、質問が現在完了の文にしなさいと書いてあるからhave practicedと言う表現が正しいのです。 よって、質問が現在完了進行形にしなさいというのであればhave been practingとなります。 だけどそんな簡単なことを試験するのかなと思ってしまいます。 10年トレーニングをした、と言う「経験」を出すにはhave practicedと言う表現が使われます。 もちろん、経験がある,と言う表現をして経験を示すことも出来ますけど。 I have ten years of karate trainingという感じです。 これも「経験」です。 しかし、今の今もやっているけどはじめてから10年になる、と言うフィーリングであれば、have been practicing for ten yearsと言う表現をするとうまくそのフィーリングが出るわけです。 現在継続進行形ですね。 (現在完了進行形と言う文法学者さんが作った用語より分かりやすいと思うので今作りました) しかし、have practicedで継続のフィーリングを出す事が出来ない、と言う事ではありません。 しかし、これをうまく使って今も継続しているというフィーリングを出すにはhave practiced forにlastを挿入して10 years.と言う表現に持っていかないと継続のフィーリングよりも経験のフィーリングの方が強く感じてしまいます。 for the last 10 yearsと言う単語がただのfor ten yearsではなく「今までの10年間」と言う表現をしたら今もやっているなと考えてもいいですよね。 ちょっとした単語を入れるだけでフィーリングを変える事が出来るというのは日本語でも出来ますね。 しかし、文法学者さんたちは継続と呼んで完了とか経験と分けていますね。 これは、これを使っている人や状況をまったく無視している、と言う事でもあるのです。 空手道場のアシスタントをしたいと面接に来た人が居たとします。 そして、その人が、I have been practicing karate for 10 yearsといったら、「その人にとって『継続』を言っている」でしょうか。 それとも、「今もそうですが10年トレーニングしています」と言って、アシスタントとして最少年月の訓練の経験があるので(お手伝いしながら先生の手ほどきを受けたいのです)、というようなフィーリングを伝えたいとこの人は考えているのではないでしょうか。 そして、今回の例の場合は、アシスタントになれるだけのトレーニングは自分としては「完了」しています、と言いたいのかもしれませんね。 じゃ、これは経験? それとも継続? それとも完了?と聞きたくなりますね。 学校英語の状況にいるのでなければ、この三つの分類カテゴリーは無視していいです。 ただ、続いている、と言うフィーリングを伝えたいのか、経験がありますと言うフィーリングを伝えるのか、ある事を完了・達成していると言うフィーリングを伝えたいのか、それを感じ取れればいいのです。 その人のフィーリングの形でこの三つのどれにでもなれるわけです。  今度このような疑問があったり、誰かが、これは進行形を使っているから~だ、というような「形だけで」分類するのではなく、どんなフィーリングを持っているかを判断できるようにすると、10年か、一週間に何時間道場で練習し、何時間くらい道場外で自己訓練をしているんだい?と英語で聞けるようになるわけですね。 なぜなら、この先生は、この人は経験を言っているようだけどちょっと無理じゃないかな、なんて感じているのかもしれませんね。 よってその経験の内容を聞いたわけですね。 これでいかがでしょうか? 分かりにくい点がありましたら、補足質問してください。 

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

その他の回答 (8)

  • 回答No.9

もっともなご質問だと思います。私はわが国の学校教育で英語を勉強してきましたのでどうしても文法に基づいた説明になって恐縮ですが、説明を試みます。 ●「ずっと~している」という継続を表すのに、学校文法では動詞を次の2つに分け、 (あ)動作動詞(例えばbe, have, like) (い)状態動詞 この(あ) 動作動詞では ”have been –ing” に、(い)状態動詞では ”have + p.p.” の形を用いる、というふうに習います。 ですから、koutya7さんがおっしゃるように「practiceという動詞は動作動詞で、文の用法は継続用法なのでこの文は現在完了進行形にする」というのは正しいわけです。 ● それでは、「解答」の“I have practiced karate for ten years.” は間違いかというとこれはこれで正しいようです。 私の感覚ではどうもこれには動詞(句)の「アスペクト(相)特性」がかかわっているように思えます。動作動詞も細かくみると理念的には更に次の2つに分けられます。 (あ)「明確な終止点を持つ動詞」(たとえば、leave, arrive, finish, steal) (い)「明確な終止点を持たない動詞」(たとえば、rain, sleep, study, teach, wait, work) この(い)の場合は完了進行形にしなくても ”have + p.p” の形で「継続」を表せるように思います。例えばrain, sleep, study, teach, wait, workなどです。このような動詞は動詞(句)自体が「明確な終止点を持たない」わけですから、have+p.p.の形になっても「完了」の意味が出てこないわけです。ただし、”for …years” や ”since …” のような期間を示す副詞語句が必要なようです。これは「経験」ではなく「継続」を際立たせる必要があるからだと思われます。 例えばwaitの場合、次の後者(b)が普通とされ、後者の方が確かに「生き生き」としたフィーリングがあり"臨場感“がやや強いものの「継続」の「意味自体は基本的に変わらない」そうです。(この部分は『表現のための実践ロイヤル英文法』(旺文社)p.72より) (a) I’ve waited here for an hour. (b) I’ve been waiting here for an hour. ● このような「動詞のアスペクト特性」という視点を入れると、 ・have + p.p. の完了形 ・be + -ing の進行形 などももっと統一的な説明ができるように思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.7
  • maabo50
  • ベストアンサー率34% (49/143)

>practiceという動詞は動作動詞で、文の用法は継続用法なのでこの文は現在完了進行形にするのだと思いました。 あなたの考えていることは正しいです。ポイントは動作動詞でも習慣を表しているときは “I study English.”→“I have studied English.”という形が正解です。 I practice karate.(for ten years)という問題では「10年間」ということなので "practice" は習慣を表していると考えて、"I have practiced karate for ten years." がいいと思います。 もし(for two hours) ということであれば、"I have been practicing karate for two hours." の方が適切だと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.6

私もあなたと同じ形にするでしょうね。 文法的にも間違っていません。 現在完了進行形だって、現在完了の一種です。 しかも、正答とされている文ではもうやめた というニュアンスが入ると思います。完了したということです。 10年間ずっとというニュアンスはないと思います。 そんなニュアンスがあれば、現在完了進行形自体が 成立しません。 まあ、こういう愚かな設問をされる場合もあるとあきらめた ほうがいいです。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.5

#4の方に追加しますと,実は, 2時間泳ぎ続けていて,今この瞬間に終わった場合, I have been swimming for two hours. 「2時間泳ぎ続けていたんだ」ということが可能です。 「泳いでいる」という動作を強調したのが現在完了進行形で,この瞬間に終わっていても用いることが可能です。  ただ,「進行形」というのは「進行時制」というものでなく,「相」であり,時制という枠では,現在完了時制の中に「現在完了進行形」は含まれます。  試験では,「現在完了の文にしなさい」とあれば,現在完了進行形にしない方がいいでしょうが。  

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.4
  • go_urn
  • ベストアンサー率57% (938/1643)

こんにちは! 僕は、ものわかりのいいほうで、いつも妥協するタイプなんですが この問題に関する限り I have been practicing karate for ten years. を100%の正解にする気になれません。 というのは、問題の指示に、 (  )の語句を補って、【現在完了】の文にしなさい。 とあるからです。 英文の正しさということでは、どちらもいいのです。 I have been practicing karate for ten years. というのは 四六時中やり続ける必要はなくて、週1回でもいいわけです。今も(週1回)継続してやってますよという informationをつけたしているわけです。 I have practiced karate for ten years.は、よく誤解されてますが、 もう完了して、今はやっていないというのではなく、10年間やった実績があります、と言っているのであって、今もしているかどうかは、度外視した言い方です。(していても言えるし、していなくても言えます。)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.3

実際には, I have been practicing karate for ten years. でも間違いありません。  動作動詞の場合,通常,現在完了進行形にして継続を表すのですが,瞬時に終わるような動作でない場合は,単に現在完了でも継続の意味がでてきます。ただし,for ten years など期間を表す表現が必要です。  現在完了進行形なら,期間を表す表現がなくても,通常,継続の意味になります。  今回のように,for ten years がある場合,どちらでもいいわけですが,進行形にする方が「練習している」様子を強調することになります。  実際,四六時中勉強しているわけではありませんが, I have been learning English for ten years. など問題なく使えます。  「現在完了の文にしなさい」とある通り,現在完了が答えになっているのでしょう。  中学レベルでは現在完了進行形は学習範囲外ですので。  

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.2
noname#187907
noname#187907

I have practiced karate for ten years. 「10年間空手を練習している。」という過去のある時点から始まって、現在まで継続していることを現在完了で表しています。 I have been practicing karate. 考え方は上と同じだけど、過去のある時点から今現在、今!まで継続していること、「(さっきからたった今もずっと)空手を練習している。」 ex. I have been practicing karate for two hours. なら 「2時間前から今現在までずっと空手を練習している。」というニュアンスを持って→「2時間ずっと空手を練習している。」となります。 期間のスパンというか、同じ現在でも「今」なのか、「今」という短い時間じゃない「現在」なのかということが違います。 現在進行形は「今」も継続している行為なので、2年間というロングスパンを現在完了形で表す場合でも同じ考え方で進行形は使いません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

遅くなりましたが、ご回答ありがとうございました。 参考にさせていただきます。

  • 回答No.1

現在完了進行形を使うときは 「過去のある一時点から現在まで動作が続いておりなおかつその動作を今もしているとき」に限ります。 たとえば It has been raining since last night. これは昨日の晩という過去の一時点を含む現在進行している形ですよね。ですから、現在完了進行形で書くのです。 ですが、問題の I have practiced karate for ten years. というのは 今この瞬間に空手をしていなければ、現在完了進行形にはなりません。 もし、この文章を現在完了進行形で書いてしまうと 10年の間、ひと時も休むことなく空手を練習し続けている ということになってしまいます(笑) ですので、ここは have practiced となるのです。 動作動詞だからといって必ずしも進行形の形になるわけではありません。 あくまでも 現在完了形と現在進行形のセットだと思ってください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご回答ありがとうございました。 回答を読みつつ自分が変な解釈をしていたことがわかりました^^; 丁寧な説明でとてもわかりやすかったです。

関連するQ&A

  • 現在完了進行形について

    今までなんとなく完了進行形というと一時的な動作の継続に使うもの、というイメージがあったのですが、何かを職業や趣味などで長く続けている、というような意味を表すこともよくあるのでしょうか? たとえば、 I have been studying English for three hours. I have been studying English for ten years. という2つの文では、違う部分は続けている時間だけですが、前者は「3時間ずっと勉強し続けている」という意味になり、後者は「10年間、もちろん他のこともしながら英語を継続して学んでいる」という意味になるのでしょうか? また、どちらの文も自然な文でしょうか? よろしくお願いいたします。

  • 現在完了形と現在完了進行形

    現在完了形の継続用法と現在完了進行形ではどのようなニュアンスの差が出るのでしょうか。 例えば「私は3時間勉強してます」という文では、 I have studied for three hours. I have been studying for three hours. の、どちらの文の方が適切ですか? 今まで漠然と、完了形は長い期間、完了進行形は短い期間だと思っていたので下の文を書いていたのですが、上の文でもおかしくないのでしょうか。どなたか教えてください。

  • 現在完了形と現在完了進行形の継続用法

    現在完了進行形は、文法書に以下が記載されています。  その表す動作には、今後も継続が暗示されている場合や、直前に終了したことが示される場合がる。 そのた英語サイトに記載されている内容を列挙します。 1.動作動詞 (1)英語サイト1 A1:I have waited here for an hour. A2:I have been waiting for an hour.   A2は、動作の継続を強調する。生き生きした感じを与える。 (2)英語サイト2 B1:I have studied English for two years.  意味1:過去に英語を学び始め、そして今も学んでいる  意味2:過去に英語を3年間学び、その経験が今も生きている。 B2:I have been studying English for two years.  B2は、躍動感があり、3年間ずっと本当に英語を学び続けてきた。という感じがでている。 (3)Yahoo辞書 B1:I have studied English for two years.  話している時点でまだ勉強を続けているが,とにかくこれまで3年間勉強してきたことを表わす B2:I have been studying English for two years.  話している時点でまだ勉強の途中でこれからも勉強し続けることを暗示する場合にも、  勉強が少し前に完結しその余韻がまだ現在残っている場合にも用いる。 (4)NHK英語講座 親:Why are you so late? 子:Sorry, I’ve been playing soccer in the park.  プレイを終えて帰宅したわけですが、「ずっとやっていて今に至る」という感じを伝えている。 2.状態動詞 (1)NHK英語講座 C1:It has rained for three days.  「3日間にわたり雨が降った」と継続状態が完了しているのを「現在の視点」からとらえたもの。 C2:It has been raining for three days.  今もそしてこれからも降り続くということが暗示されます。 (2)文法書 D1:I have lived in Tokyo for ten years. D2:I have been living in Tokyo for ten years.  D2は継続的意味が強く、これからも東京に住み続けるだろう、という含みがある。 そこで質問です。 現在完了進行形の方はどれも同じようなことが記載されており、問題ありません。 疑問なのは現在完了形です。 動作動詞では、1(2)の意味1と(3)項に「今も続けている」いう意味をもつ、と記載されていますが、 状態動詞の2(1)項C1では継続状態が完了している、と記載されています。 「今も雨がふっている」という解釈はできないのでしょうか。 尚、「これからも降り続く」という意味を含む場合は現在完了進行形になる、ことは理解しています。

  • 現在完了(have pp)について

    以下の現在完了の文と質問の解説してください。 (1)I have studied English for five years. (2)I have been studying English for five years. (3)I am studing English for five years. (4)I study English for five years. これって現在完了云々の前に文法的に全部あってますか?この4文のニュアンスの違いを教えてください。 あとどうして現在完了の文では、過去を表す語句(ago yesterday etc...)などが使えないんですか。現在完了というのは 過去のこと(過去分詞)をhaveしているということから現在に何らかの影響を及ぼしているということはわかります。下の文で、 I have lost my wallet yesterday. この文は文法的に間違いだとわかってるんですが、「昨日においてなくしてしまった→だから今もなくした状態だ」というふうにはならないんですか? またそうしたい場合ってどういうふうにあらわすんですか? なんか、まとまってなくてすいません。自分でもどこがわからないのかよくわからなくて・・・。現在完了についてはこのサイトでいろいろ質問とその解答を見てきましたが、まだわからないところがあるので質問しました。ご解説お願いします。

  • 現在完了形と現在完了進行形の違い

    (1)と(2),(3)と(4)の意味はどのように違うのでしょうか?Grammar in use Intermidateで勉強しているのですが,いまいち違いがよくわかりません.よろしくお願いいたします。 (1)She has been playing tennis since she was eight. (2)She has played tennis since she was eight. (3)I have lived in the states for ten years. (4)I have been living in the states for ten years.

  • 現在完了形

    I have lived in Japan for ten years. の書き換えで、I have lived in Japan since ten years ago.と習いましたが、agoは過去形に使うと習いましたが、正しいのでしょうか?

  • 現在完了形と過去形

    Cathy Barnesという女性がOnlineというIT関連の会社でGuptaという男性と面接をする場面の会話です。 Gupta: Do come in and sit down. Sorry about the wait. Where exactly are you working at the moment, Mrs Barnes? Cathy: Well actually, I'm between jobs just now. But I've worked in the computer industry for years. Gupta: Have you had any experience in design or markrting? Cathy: Yes, I have. I worked in publishing for ten years. そこで質問です。 Cathyの応答で “But I've worked in the computer industry for years.”と“I worked in publishing for ten years.”の2つの文ですが、最初の文では 現在完了形が使われているのに、2番目の文では過去形が使われています。どちらも forで期間が表されていますが、これは 具体的に期間の長さが示されているからでしょうか? 学校で習った英語では forが使われる場合は期間の長さが明確かそうでないかは問題ではなく、現在完了の継続用法として習った記憶がありますが。

  • 現在完了について質問です。

    現在完了の形はhave+過去分詞だと思うのですが、 I have lived here for ten years. 私は10年間ここに住んでいます。 というのはわかるのですが、 We have been married for 15years. 私たちは結婚して15年になります。 という文ですが、 この場合beenはなくてもいいのではないでしょうか? My father has been dead for thirty yesrs. この場合もbeenは必要ですか?

  • 文法関連(現在完了進行形と現在完了形)

    文法関連(現在完了進行形と現在完了形) 宜しくお願いします、文法でもがいているものです 現在完了と現在完了進行形について伺います I have lived in Japan for two years. liveは状態動詞でその状態をすぐに変えることができないのでhave been living ではなく have livedになると理解していたのですがこの前オンラインの英語クラスで他の外国の学生さんが何かいい間違えてそのときに講師が正しい文章として出したのが I have been living ・・・という文章でした。 ここで疑問になったのは状態動詞を動作動詞のようにINGをつけることによって何かニュアンスが変わってくるのでしょうか また英語を話しているときに「これは状態動詞だろうか動作動詞だろうか」と考えている自分がいるのですが何か上手な判断の仕方はありますでしょうか 以上2点宜しくお願いします

  • 現在完了についての質問です

    こんにちは今回もよろしくお願いします。 とある英語の参考書で Kunihiko has collected Billikens for the past ten years. 邦彦は、この10年間、ビリケンを収集している。 という文を見つけました。この文は「継続」(for the past ten years という表現と、和訳から考えると)の意味のようですが、collect が動作動詞であることを考えれば Kunihiko has been collecting Billikens for the past ten years. とする方が適当かと思うのです。それとも Kunihiko has collected Billkens for the past ten years. と Kunihiko has been collecting Billknes for the past ten years. の間には、よく言われる「臨場感」という違いしかないのでしょうか? 最近どうも現在完了に関する知識がごちゃごちゃして、訳がわからなくなっている次第です。 ご回答はお時間のある時で結構です。よろしくお願いします。