アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在完了の文では「when I was child」のように明確に過去を表す表現は使えない、と参考書に書いてありますが、よく意味がわかりません。
「子供の時」は何年間もあるものじゃないですか。明確な過去ではないと思います。他にも、例えば、
When I was in Tokyo,
I saw the movie three times.
この文は現在完了が使われてませんが
When I was in Tokyo,
I had seen the movie three times.
にしてはなぜいけないのでしょうか?3回見るまでには時間の幅があるはずです。
じゃあもう、副詞節whenのある文=現在完了、過去完了は使えないのかな?とも思いましたが、
When she finally solved it,
she had been working for five hours.
のように完了形を使ってる文もあります。
when節があってもこういう場合は使える、こういう場合は使えない、と説明できる方お願いしますm(__)m

A 回答 (3件)

何年間もあることと明確な過去でないがどう結びつくかよくわからないんですが・・・


When I was a child の場合、私はもう子どもではないわけです。子供の時は過去でしかありません。
現在完了はその文章が今も何らかの形でつながっていることを含意しています。

I have bought a book.と言うと、その本を今もまだ持っていることまで意味しています。でもI bought a book,だと単に本を買ったということしか意味しません。今もっているかどうかはこれだけではわかりません。

>When I was in Tokyo,
I had seen the movie three times.
にしてはなぜいけないのでしょうか?3回見るまでには時間の幅があるはずです。

過去完了というのは過去より一歩前のことを表します。whenがあって東京にいた時と言っているのに、それより前に見たことがあるというのは意味をなさないでしょう。

>When she finally solved it,
she had been working for five hours.
のように完了形を使ってる文もあります。

これは解決するまでに(解決より前に)5時間働いていたということだからです。

現在完了は現在を基準として、過去から現在まで続くこと、過去完了は過去の一点を基準としてそれよりも前から過去の一点まで続くことをあらわすときに使います。だからwhenを含めて意味としてどうなっているかを考えてそれより前なら過去完了でいけます。

When の節そのものの中では通常は現在完了は使えませんが、経験を表す場合使える場合があります。
    • good
    • 0

>When she finally solved it,


she had been working for five hours.
のように完了形を使ってる文もあります。

when 過去と,完了時制そのものが合わないわけではありません。
「現在」完了だからだめなのです。

現在完了というのは,(過去が絡んでくるとはいえ)現在の気持ちを表現したものです。
だから特定の過去を表す表現とは用いられない。
過去完了は「過去」完了だから,when 過去とまったく普通に用いられます。

I have already finished my homework. とあれば,
「今,もう終わっている」という「現在」のことを言っている。
だから,yesterday がつくことはあり得ません。
日本語の「昨日にはもう終わっている」という発想は英語にはないのです。

yesterday とあれば,「昨日の出来事」であり,「今,もう終わっている」とはなり得ない。

過去完了というのは「今,終っている」ではなく,「ある過去の時にはもう終わっていた」
です。
その「過去のとき」というのが when 過去形で表される。
    • good
    • 1

確かに子供の頃は何年もありますが、


when I was a child と言っている時点で、
つまり、過去形が使われている時点で、
その”子供の頃”そのものが、少なくともその人にとっては
「明確な過去」なのではないでしょうか?
江戸時代や明治時代のことを話すのと一緒です。
完全に過去であり、現在までまたがっているわけではない。
どれだけ幅があっても、
過ぎ去ってしまった過去については、現在完了は使えません。

ただし、「子供の頃からずっと」「江戸時代以降ずっと」となると
現在まで続く”幅”が生じますよね。
こういうときは、現在完了の出番です。
when I was a child (私の子供時代に)
だと、たんなる”過去のある時期”ですが、
since I was a child (私の子供時代からずっと)
ならば、現在まで長く続く→が見えますよね?
このように”過去~現在にまたがる期間”を述べるための時制、
それが現在完了です。

仲間である過去完了。こちらは
”過去の一時点~その前の過去の間の期間”
を述べるための時制です。
つまり、A:過去のある一時点を条件的に示し、
B:それよりも前に起こったことを述べるための文法。

Aの部分は、文字通り”過去のある一時点”ですから、
過去形の文や、過去を表す単語を使います。
Bの部分は、それよりも過去の内容として、過去完了を使います。
だから、最後に挙げられている例文
When she finally solved it,
she had been working for five hours. 
は何もおかしくありません。
「彼女がついにそれを解決したとき、」
これが、過去のある一時点。
「彼女はそれまで5年間それに取り組んでいた。」
その前の5年間のことだから過去完了。
”解決したとき~その5年前”つまり
”過去~その前の過去”のことを述べています。

じゃあ、なぜこれはダメなのか。
When I was in Tokyo,
I had seen the movie three times.

質問者さまは、これを
「東京に居たとき、その映画を3回見た。」
という意味で作られたのですか?
それならば、
When I was in Tokyo,
これは過去の、ある一時期。
I had seen the movie three times.
これは、その期間に起きたこと。
なんにも時制のずれはありませんよね。
”過去~その前の過去”ではなく
単なる”過去の一時期の話”
結局これも、子供の頃や明治時代と同じ。
シンプルに過去形で表すべき文です。

それか、
「東京に来た時点で、その映画を3回見ていた。」
という意味で作られたのですか?
それならば、さっき書いたように
”when 過去形の文、過去完了の文”で、
形としては正しいのですが、動詞がふさわしくありません。
さっきからずっと言っている
”過去の一時点~その前の過去の間の期間”
この”一時点”を表せるのは、動作を表す動作動詞だけです。
つまり、過去完了に登場できる過去形の文は、
スパッと「ある瞬間」を表しているべきなんです。
質問者さまが繰り返しおっしゃっている”幅”ですが、
その”幅”がないこと、が、過去完了の相方としての条件なんです。
だからさっきの文も
When I came to Tokyo,
I had seen the movie three times. または
When I visited Tokyo,
I had seen the movie three times. ならばOK。

最後にまとめると
現在完了→ when はどんな場合でも使えない。
過去完了→ when の文に動作動詞が使われていれば使える。
という理解で、ほぼ間違いないと思います。

長々と説明いたしました。
お役に立てたら嬉しいです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!