高校英文法の仮定法の問題・良問13選【大学入試/共通テスト対策】

目次

仮定法の問題13選

仮定法は難しい分野です。問題演習に入る前に仮定法の基本を簡単に復習しておきましょう!

仮定法とは

仮定法事実に反すること現実味のない話を述べるときに使う動詞の形です。

仮定法では「今」のことなら過去形で表し、「昔」のことなら過去完了形で表します。

ですから動詞の形に着目したとき、現在形であれば仮定法ではありません。

動詞が過去形なのに「今」のことや「一般的なこと」を述べている場合を仮定法過去といいます。また動詞が過去完了形なのに、単に「過去」のことを述べている場合を仮定法過去完了といいます。

もし~ならば」には仮定法の場合と、直説法ちょくせつほうの場合があります。直説法とは、仮定法とは逆に現実的な話を述べることです。例えば、「もし明日、雨が降れば」は、「十分にあり得ること(現実的な話)」なので直説法で「If it rains tomorrow~」と表します。一方、「もし私がお金持ちならば」は<事実に反すること>なので「If I were rich~」と仮定法で表します。

仮定法過去の基本について例文でもっと学習したい方は、コチラの記事で詳しく解説しています。)

仮定法の問題

【問題1】日本語文を参考に空所に適切な語句を入れると?

「もし私が鳥ならば、あなたのところへ飛んで行けるのになあ」
If I( ① )a bird, I( ② )fly to you.

解答解説1
正解はwaswerecouldです。全文は”If I were a bird, I could fly to you.”です。
「もし~ならば」と訳せても、仮定法とは限りませんよ。しかし本問の「もし私が鳥ならば」は明らかに現在の事実に反することですね。仮定法では現在の事実に反することを述べる場合、動詞の過去形を使います。これを仮定法過去といいます。

仮定法過去の基本的な形はIf+S+過去形, S+助動詞の過去形+動詞の原形です。
If節のbe動詞はwereになることが多いですが、口語ではwasも用いられます。主節には必ず助動詞の過去形がきます。「飛んでいける」は可能を表すcouldで表すのが適切ですね。

【問題2】If I were a little younger, I(  )you in climbing the mountain.[旧センター試験/共通テスト]

①have joined ②join ③will join ④would join

解答解説2
正解は④would joinです。全文は”If I were a little younger, I would join you in climbing the mountain.(もし私がもう少し若ければ、あなたと一緒に山登りをしたのになあ)”です。
再確認ですが、仮定法過去の基本的な形はIf+S+過去形, S+助動詞の過去形+動詞の原形です。本問は正にこの基本形に忠実な形をしています。
「If I were~」とif節に動詞の過去形がきているので、主節も助動詞の過去形+動詞の原型になると考え④would joinを選べばいいだけですね。
但し、if節にも助動詞の過去形が来ることもありますよ!
【参考例文】If I could go to Mars, I would go soon.(もし火星に行くことができるならば、すぐにでも行くのになあ)

【問題3】We(  )any money if we didn’t work.[明星大]

①didn’t have ②don’t have ③will be having ④wouldn’t have

解答解説3
正解は④wouldn’t haveです。全文は”We wouldn’t have any money if we didn’t work.(働かなければ、お金が入ってこないだろう)”です。仮定法過去の基本形はIf+S+過去形, S+助動詞の過去形+動詞の原形ですが、本問のように、if節が後ろに来るときもあります。if節の動詞が「didn’t work」と過去形なので、仮定法過去の文と判断し、④wouldn’t haveを選びます。

【問題4】日本語文を参考に空所に適切な語句を入れると?

「もっとお金を持っていたらなあ」
I wish I(  )more money.

解答解説4
正解はhadです。全文は”I wish I had more money.”です。
I wish+SVで「SがVすればなあ」という意味になります。I wish SVのVの部分に仮定法過去を使うか仮定法過去完了を使うかは主節の動詞との関係性で決まります。「主節と同じ時→仮定法過去」、「主節より以前のこと→仮定法過去完了」です。
本問では日本語文から、「主節と同じ時」を表しているので動詞の過去形が適切です。つまり仮定法過去で現在の事実に反することを述べているわけです。

【問題5】If you had studied harder, you(  )the class.[東海大]

①would have passed ②would pass ③will be passed ④will pass

解答解説5
正解は①would have passedです。全文は”If you had studied harder, you would have passed the class.(もしあなたがもっと勉強していれば、授業に合格できていただろう)”です。
仮定法過去完了の基本形はIf+S+had+過去分詞, S+助動詞の過去形+have+過去分詞です。
本問では仮定法過去完了で「過去の事実に反すること」を述べています。またif節が過去完了形になっていることから、主節は助動詞の過去形+have+過去分詞になると判断します。

【問題6】John says last night’s concert was fabulous, I wish I(  )there with him then.[東京経済大]

①could gone ②had been ③should go ④were

解答解説6
正解は②had beenです。全文は”John says last night’s concert was fabulous, I wish I had been there with him then.(ジョンは昨晩のコンサートは素晴らしかったと言っている。彼と一緒にそこにいたらなあ)”です。
I wish SVVを仮定法過去の形にするか仮定法過去完了の形にするか主節との関係性で判断します。wishと同じ時を表す場合は仮定法過去を用い、wishよりも過去を表すときは仮定法過去完了を使います
前半の文から「彼と一緒にそこにいたらなあ」という願望はwishよりも以前のものだと分かるので、仮定法過去完了を選びます。

【問題7】日本語文を参考に空所に適切な語句を入れると?

「そのとき医者に診てもらっていたら、私は今ごろ元気になっていたかもしれないのに」

If I had seen the doctor then, I( ① )( ② ) fine now.

解答解説7
正解はmightbeです。全文は”If I had seen the doctor then, I might be fine now.”です。
「If I had seen the doctor then」は過去の事実に反する仮定なので仮定法過去完了が使われています。一方、主節には「now」があり、日本語文も「今ごろ元気になっていたかもしれない」と現在の事実に反する仮定になっていますね。そのため、主節では仮定法過去を用います
このように、仮定法過去と仮定法過去完了が1つの文で併用されるパターンもあるのです。

【問題8】If I had worked harder in my twenties, I(  )much richer now.[大東文化大]

①am ②would be ③will be ④would have

解答解説8
正解は②would beです。全文は”If I had worked harder in my twenties, I would be much richer now.(20代の頃もっと一生懸命に働いていれば、今ごろもっとお金持ちだっただろうなあ)”です。
if節中の動詞に着目すると「had worked」と仮定法過去完了になっています。このことから、主節も仮定法過去完了と判断したいところですが、「now」があるので主節は現在の事実に反する仮定を述べていると考えられます。そのため、仮定法過去のwould beが正解です。

【問題9】If we hadn’t stayed up late last night, we(  )be so tired this morning.[南山大]

①would ②won’t ③wouldn’t ④will

解答解説9
正解は③wouldn’tです。全文は”If we hadn’t stayed up late last night, we wouldn’t be so tired this morning.(もし昨日の夜、遅くまで起きていなければ、私達は今朝こんなに疲れていないだろうに)”です。
if節は過去完了形になっており、last nightという副詞から、過去の事実に反する内容を述べていることがわかりますね。一方、主節の副詞に着目するとthis morningとあるので、現在の事実に反する仮定であると考えることができます。従って、if節が仮定法過去完了、主節が仮定法過去だと考え、助動詞の過去形を選択します。文意から否定形の③wouldn’tが適切ですね。

【問題10】If I(  )the truth, I would tell you.[獨協大]

①know ②knew ③will know ④have known

解答解説10
正解は②knewです。全文は”If I knew the truth, I would tell you.(もし真実を知っていたら、君に話すのだが)”です。
これは是非、正解したい問題です。主節に助動詞の過去形がきており、if節を伴う英文なので、典型的な仮定法過去の問題だとわかりますね。仮定法の問題を解く際の基本は助動詞の過去形に注目することですよ!

【問題11】I(  )you if you would just listen quietly.[南山大]

①would tell ②tell ③was telling ④told

解答解説11
正解は①would tellです。全文は”I would tell you, if you would just listen quietly.(静かに聞いてくれさえすれば、君に話すのだが)”です。
仮定法過去の基本形はIf+S+過去形, S+助動詞の過去形+動詞の原形ですが、【問題2】の解説文でも示したように、if節に助動詞の過去形がくる場合もあります。if節にwouldを使う仮定法過去の文は基本的に「~するつもりがあるなら」という意味になります。

【問題12】(  ) more patience, you could have overcome the hardship.[東京国際大]

①If ②Unless ③Were ④With

解答解説12
正解は④Withです。全文は”With more patience, you could have overcome the hardship.(もっと忍耐力があったら、君は困難を克服できていただろうに)”です。
主節は仮定法過去完了の形になっていますね。文意からif節は「~があれば」を意味するだろうことがわかります。If more patienceでは文法的におかしいので、ifを使わない仮定法の文にする必要があります。「~があれば」はwith+名詞で表すことができるので、④Withが正解です。仮定法だからといって必ずifがくるとは限りませんよ

【問題13】(  )a little more effort, he would have succeeded.[立命館大]

①For ②But ③Owing to ④With

解答解説13
正解は④Withです。全文は”With a little more effort, he would have succeeded.(もう少し努力をしていたら、彼は成功していただろう)”です。
主節は仮定法過去完了の形で、過去の事実に反する内容を表し、「成功していただろう(実際には過去に失敗した)」という意味を表しています。この文意から前半は「~があれば」という意味になることがわかるので、「~があれば」を1語で表すことができる④Withを選びます。【問題12】の類題ですね。

関連記事

よかったらシェアしてね!
目次
閉じる