英文法問題集 仮定法過去完了
問.以下の文のIfを省略し、同じ意味の文に書き換えなさい。
If he had invited me, I would have joined the party.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
Had he invited me, I would have joined the party.
「もし彼が招待してくれていたら、私はそのパーティーに参加していただろう。」
【解説】
問題の文は以下のような形になっており、仮定法過去完了の文で あることが分かります。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have 動詞の過去分詞形 〜 .
日本語に訳すと「もし〜であったら、〜だっただろう(〜できた のに、〜すべきだった、〜だったかもしれない)」となります。
この仮定法過去完了の文は、Ifを省略し、Hadと主語の順番を逆に (倒置)して以下のように書くこともできます。
Had + 主語 + 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
意味は、上の仮定法過去完了の文と全く同じです。
よって、問題文のIf he had invited meの部分は、Had he invited meと書き換えることができます。
問.以下の文を仮定法の文に書き換えなさい。
I'm sorry (that) I didn't send her e-mail then.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
I wish I had sent her e-mail then.
「(私が、)その時彼女にメールを送っていたらよかったのに。」
【解説】
問題の文は、「私は、その時彼女にメールを送らなかったこと を後悔しています。」という意味です。
この場合、I'm sorryは「すみません」ではなく、I'm sorry (that)で「〜を後悔している」や「〜は残念だ」という意味 になります。
thatは「〜ということ」という意味の接続詞で、この場合省略 可能です。
問題の文は過去の事実を表していますが、願望(事実の逆)は 「(私が、)その時彼女にメールを送っていたらよかったのに。」 となります。
過去の事実の逆を表す時に仮定法過去完了を用い、文の形は以 下のように動詞の部分に過去完了形を用います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
日本語に訳すと「もし〜であったら、〜だっただろう(〜できた のに、〜すべきだった、〜だったかもしれない)」となります。
If節でないほうの節では、助動詞のwould, could, should, might のどれかが必ず用いられます。
また、これらの助動詞の後ろに過去完了形「had+動詞の過去分 詞形」を置くことはできないので、この部分は「助動詞+have +動詞の過去分詞形」となります。
この仮定法過去完了の文は「もし〜であったら」と条件付きの 仮定を表していますが、解答の文のように単に「〜だったらよ かったのに」と過去の願望(事実の逆)を表す場合もあります。
このような時に、「I wish+仮定法過去完了 〜」という形を用 います。
didn't sendの部分を過去完了形の形「had+動詞の過去分詞形」 に書き換えます。
また、事実の逆を表すので肯定を否定に変え、had sentという形 になります。
よって、問題の文を仮定法に書き換えると解答のようになります。
問.以下の文を日本語に訳しなさい。
I wish I had told him the truth.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
I wish I had told him the truth.
「(私が、)彼に本当のことを言っていたらよかったのに。」
【解説】
仮定法過去完了の文の形は、以下のように動詞の部分に過去完了形を用います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
日本語に訳すと「もし〜であったら、〜だっただろう(〜できたのに、〜すべきだった、〜だったかもしれない)」となります。
If節でないほうの節では、助動詞のwould, could, should, mightのどれかが必ず用いられます。
また、これらの助動詞の後ろに過去完了形「had+動詞の過去分詞形」を置くことはできないので、この部分は「助動詞+have+動詞の過去分詞形」となります。
この仮定法過去完了の文は「もし〜であったら」と条件付きの仮定を表していますが、問題の文のように単に「〜だったらよかったのに」と過去の願望(事実の逆)を表す場合もあります。
このような時に「I wish+仮定法過去完了」という形を用います。
問題文の事実は「私は、彼に本当のことを言わなかったことを後悔しています。」で、英文は以下のようになります。
I'm sorry (that) I didn't tell him the truth.
この場合、I'm sorryは「すみません」ではなく、I'm sorry (that)で「〜を後悔している」や「〜は残念だ」という意味になります。
thatは「〜ということ」という接続詞で、この場合は省略可能です。
問.以下の文を仮定法の文に書き換えなさい。
As he helped me, I'm here now.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
If he hadn't helped me, I wouldn't be here now.
「もし彼が私を助けてくれなかったら、私は今ここにいないだろう。」
【解説】
問題の文は「彼が私を助けてくれたので、私は今ここにいま す。」という事実を表す文です。
この文を仮定法を用いて書き換える時に、時制に注意が必要 です。
「彼が私を助けてくれたので」という部分は過去のことを、 「私は今ここにいないだろう」という部分は現在のことを表 しています。
よって、前半部分には仮定法過去完了、後半部分には仮定法 過去の形を用います。
まず、仮定法過去と仮定法過去完了の形と意味を復習してお きます。
仮定法過去は以下のように動詞や助動詞に過去形を用います。
If + 主語 + (助)動詞の過去形 〜 ,
主語 + would(could, should, might) + 動詞の原形 〜 .
そして、日本語に訳すと「もし〜なら、〜だろう(〜できる のに、〜すべきだ、〜かもしれない)」となります。
仮定法過去完了は以下のように動詞の部分に過去完了形を用 います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
助動詞の後ろに過去完了形「had+動詞の過去分詞形」を置く ことはできないので、If節でないほうの文では「助動詞+ha ve+動詞の過去分詞形」という形を用います。
そして、日本語に訳すと「もし〜であったら、〜だっただろ う(〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。
これをもとに前半のhepledの部分は、過去完了形の形「had+ 動詞の過去分詞形」を用い、hadn't helpedとなります。
後半部分のamは仮定法過去の形wouldn't beとなります。
仮定法は事実の逆を表すので、両方とも肯定から否定の形に 変えます。よって、仮定法の文は解答のようになります。
問.以下の文を日本語に訳しなさい。
If I had studied English hard, I could speak it now.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
If I had studied English hard, I could speak it now.
「もし一生懸命勉強していたら、私は今英語を話せているだろう(に)。」
【解説】
注意すべき点は、問題の文が仮定法過去と仮定法過去完了が組 み合わさった文であるということです。
まず、仮定法過去と仮定法過去完了の形と意味を復習してみま しょう。
仮定法過去は、以下のように動詞や助動詞に過去形を用います。
If + 主語 + (助)動詞の過去形 〜 ,
主語 + would(could, should, might) + 動詞の原形 〜 .
そして、日本語に訳すと「もし〜なら、〜だろう(〜できるの に、〜すべきだ、〜かもしれない)」となります。
仮定法過去完了は、以下のように動詞の部分に過去完了形を用 います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
助動詞の後ろに過去完了形「had+動詞の過去分詞形」を置く ことはできないので、If節でないほうの文では「助動詞+have +動詞の過去分詞形」という形を用います。
そして、日本語に訳すと「もし〜であったら、〜だっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。
問題の文は、If節には仮定法過去完了の形「had+動詞の過去 分詞形」、If節でないほうの文では仮定法過去の形「would( could, should, might) + 動詞の原形」が用いられています。
これを日本語に訳すと「(過去のある時点で)もし〜であった ら、(今)〜だろう(〜できるのに、〜すべきだ、〜かもしれ ない)」となり、問題文の日本語訳は解答のようになります。
この仮定法の文に対する事実は「一生懸命勉強しなかったので、 私は今英語を話すことができません。」で、英文は以下のよう になります。
As I didn't study English hard, I can't speak it now.
仮定法は事実の逆を表すので、事実の文から否定は肯定に、肯 定は否定になるという点も注意して下さい。
このように仮定法過去と仮定法過去完了の組み合わせもあるの で覚えておきましょう。
問.以下の文を仮定法の文に書き換えなさい。
As I had a map, I could arrive at the hotel.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
If I hadn't had a map, I couldn't have arrived at the hotel.
「もし地図を持っていなかったら、私はそのホテルに着くことができなかっただろう。」
【解説】
問題の文は「地図を持っていたので、私はそのホテルに着くこと ができました。」という過去の事実を表しています。
このような過去の事実の逆(仮定や願望)を表す時に仮定法過去 完了が用いられ、日本語だと「もし地図を持っていなかったら、 私はそのホテルに着くことができなかっただろう。」となります。
文の形は、以下のように動詞の部分に過去完了形を用います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
If節でないほうの節では、助動詞のwould, could, should, might のどれかが必ず用いられます。
また、これらの助動詞の後ろに過去完了形「had+動詞の過去分詞 形」を置くことはできないので、この部分は「助動詞+have+動 詞の過去分詞形」となります。
そして、日本語に訳すと「もし〜であったら、〜だっただろう(〜で きたのに、〜すべきだった、〜だったかもしれない)」となります。
それでは、問題の英文を仮定法過去完了に書き換えてみましょう。
まず、As「〜ので」をIf「もし〜ならば」に置き換え、その後ろ のhadの部分を過去完了形「had+動詞の過去分詞形」に変えます。
そして、仮定法過去完了は過去の事実の"逆"を表すので肯定の形 から否定の形へ変えます。
よって、hadはhadn't hadに変わります。
もう片方の文のcould arriveの部分も過去完了形に書き換えたい のですが、助動詞couldの後ろは動詞の原形のみで過去完了形の hadを置くことはできません。
よって、couldの後ろにはhadを原形のhaveに変えた「have+動詞 の過去分詞形」を置き、「could have+動詞の過去分詞形という 形になります。
こちらも事実の逆を表すので肯定の形を否定の形にし、couldn't have arrivedとなります。
よって、仮定法過去完了の文は解答のようになります。
仮定法過去完了の文では動詞や助動詞を過去完了形の形にするだ けでなく、事実が否定なら仮定法過去完了は肯定、事実が肯定な ら仮定法過去完了は否定になる点にも注意しましょう。
問.以下の文を仮定法の文に書き換えなさい。
As he wasn't rich, he couldn't buy the expensive car.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
If he had been rich, he could have bought the expensive car.
「もし彼がお金持だったら、その高級車を買うことができただろう。」
【解説】
問題の文は「彼はお金持ちではなかったので、その高級車を買う ことができなかった。」という過去の事実を表しています。
このような過去の事実の逆(仮定や願望)を表す時に仮定法過去 完了が用いられ、日本語だと「彼がお金持だったら、その高級車 を買うことができただろう。」となります。
文の形は、以下のように動詞の部分に過去完了形を用います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
If節でないほうの節では、助動詞のwould, could, should, might のどれかが必ず用いられます。
また、これらの助動詞の後ろに過去完了形「had+動詞の過去分 詞形」を置くことはできないので、この部分は「助動詞+have+ 動詞の過去分詞形」となります。
そして、日本語に訳すと「もし〜であったら、〜だっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」と なります。
それでは、問題の英文を仮定法過去完了に書き換えてみましょう。
まず、As「〜ので」をIf「もし〜ならば」に置き換え、その後ろ のwasn'tの部分を過去完了形「had+過去分詞形」に変えます。
そして、仮定法過去完了は過去の事実の"逆"を表すので否定の形 から肯定の形へ変えます。
よって、wasn'tはhad beenに変わります。
もう片方の文のcouldn't buyの部分も過去完了形に書き換えたい のですが、助動詞couldの後ろは動詞の原形のみで過去完了形の hadを置くことはできません。
よって、couldの後ろにはhadを原形のhaveに変えた「have+動詞 の過去分詞形」を置き、「could have+動詞の過去分詞形」とい う形になります。
こちらも事実の逆を表すので否定の形を肯定の形にし、could ha ve boughtとなります。
よって、仮定法過去完了の文は解答のようになります。
仮定法過去完了の文では動詞や助動詞を過去完了形にするだけで なく、事実が否定なら仮定法過去完了は肯定、事実が肯定なら仮 定法過去完了は否定になる点にも注意しましょう。
問.以下の文を日本語に訳しなさい。
If I had had enough money, I would have bought it.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
If I had had enough money, I would have bought it.
「もし十分なお金を持っていたら、私はそれを買っていただろう。」
【解説】
問題の文でIf節中の動詞は過去完了形の形(had had)になって いますが、この形の文は本来の過去完了形の意味ではなく過去 のことを表しています。
前回の復習ですが、これは仮定法過去完了と呼ばれ、過去にお ける事実の逆や願望を表す時に用いられます。
文の形は、以下のように動詞の部分に過去完了形を用います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
If節でないほうの節では、助動詞のwould, could, should, mightのどれかが必ず用いられます。
また、これらの助動詞の後ろに過去完了形「had+動詞の過去分 詞形」を置くことはできないので、この部分は「助動詞+have +動詞の過去分詞形」となります。
そして、日本語に訳すと「もし〜であったら、〜だっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。
よって、問題の文の日本語訳は解答のように「もし十分なお金 を持っていたら、私はそれを買っていただろう。」となります。
この仮定法の文に対する過去の事実は「十分なお金を持ってい なかったので、私はそれを買いませんでした。」で、英文は動 詞と助動詞に過去形を用い以下のようになります。
As I didn't have enough money. I didn't buy it.
仮定法過去完了は事実の逆を表すので過去形の部分を過去完了 形に変えるだけでなく、事実の文から否定は肯定に、肯定は否 定になるという点にも注意しましょう。
また、以下のように動詞や助動詞に過去形を用いると仮定法過 去の文になり"現在"の事実の逆や願望を表します。
If I had enough money, I would buy it.
「もし十分なお金を持っていれば、私はそれを買うだろう。」
問.以下の文を日本語に訳しなさい。
If I had been with you, I could have helped you.
解答は10行下にあります。
↓
↓
↓
↓
↓
【解答】
If I had been with you, I could have helped you.
「もしあなたと一緒にいたら、私はあなたを助けることができただろう(に)。」
【解説】
問題の文でIf節中の動詞は過去完了形の形になっていますが、 この形の文は本来の過去完了形の意味ではなく過去のことを 表しています。
これは仮定法過去完了と呼ばれ、過去における事実の逆や願 望を表す時に用いられます。
文の形は、以下のように動詞の部分に過去完了形を用います。
If + 主語 + had 動詞の過去分詞形 〜 ,
主語 + would(could, should, might) + have + 動詞の過去分詞形 〜 .
If節でないほうの節では、助動詞のwould, could, should, mightのどれかが必ず用いられます。
また、これらの助動詞の後ろに過去完了形の「had+動詞の過 去分詞形」を置くことはできないので、この部分は「助動詞+ have+動詞の過去分詞形」となります。
そして、日本語に訳すと「もし〜だったら、〜であっただろう (〜できたのに、〜すべきだった、〜だったかもしれない)」 となります。
よって、問題の文の日本語訳は解答のように「もしあなたと一 緒にいたら、私はあなたを助けることができただろう(に)。」 となります。
この仮定法の文に対する過去の事実は「あなたと一緒にいなか ったので、私はあなたを助けることができませんでした。」で、 英文は動詞と助動詞に過去形を用い以下のようになります。
As I wasn't with you, I couldn't help you.




