TOEIC 文法問題|仮定法の練習問題と解説

if, wish, would, should have などを用い、現在・過去の事実と異なる仮定や後悔を表す。時制が一段ずれる理由と主節との対応を確認する。

アプリで文法問題を解く文法カテゴリー一覧へ

G021. ボランティアに参加したい

If I ( ) more time, I would join the volunteer event.

もっと時間があれば、ボランティア活動に参加するでしょう。

  1. A. had
  2. B. will have
  3. C. has
  4. D. have

正解 A if + 過去形

正解はA(had)。完成文は “If I had more time, I would join the volunteer event.”。現在の事実と違う仮定は if + 過去形, would + 動詞の原形で表します。 完成文全体では「もっと時間があれば、ボランティア活動に参加するでしょう。」という意味になります。ポイントは if + 過去形 です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G022. 会議の進め方

If she ( ) the leader, the meeting would be shorter.

もし彼女がリーダーなら、会議はもっと短くなるでしょう。

  1. A. were
  2. B. has been
  3. C. will be
  4. D. is

正解 A If she were

正解はA(were)。完成文は “If she were the leader, the meeting would be shorter.”。仮定法では主語が she でも were を使うことがあります。 完成文全体では「もし彼女がリーダーなら、会議はもっと短くなるでしょう。」という意味になります。ポイントは If she were です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G023. ギターを弾ける願望

I wish I ( ) how to play the guitar.

ギターの弾き方を知っていればなあと思います。

  1. A. know
  2. B. have known
  3. C. will know
  4. D. knew

正解 D wish + 過去形

正解はD(knew)。完成文は “I wish I knew how to play the guitar.”。現在の事実と違う願望は wish + 過去形で表します。 完成文全体では「ギターの弾き方を知っていればなあと思います。」という意味になります。ポイントは wish + 過去形 です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G024. 試験前の努力

I wish I had ( ) harder before the exam.

試験前にもっと一生懸命勉強していればよかったと思います。

  1. A. studying
  2. B. to study
  3. C. studied
  4. D. study

正解 C wish + had + pp

正解はC(studied)。完成文は “I wish I had studied harder before the exam.”。過去の事実と違う願望は wish + had + 過去分詞で表します。 完成文全体では「試験前にもっと一生懸命勉強していればよかったと思います。」という意味になります。ポイントは wish + had + pp です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G025. 早めに出発していたら

If they had left earlier, they ( ) have arrived on time.

もっと早く出発していれば、彼らは時間通りに着いていたでしょう。

  1. A. do
  2. B. would
  3. C. will
  4. D. can

正解 B would have + pp

正解はB(would)。完成文は “If they had left earlier, they would have arrived on time.”。過去の事実と違う仮定は If + had + 過去分詞, would have + 過去分詞です。 完成文全体では「もっと早く出発していれば、彼らは時間通りに着いていたでしょう。」という意味になります。ポイントは would have + pp です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G026. 科学について語る人

He talks as if he ( ) everything about science.

彼はまるで科学について何でも知っているかのように話します。

  1. A. knows
  2. B. has known
  3. C. knew
  4. D. will know

正解 C as if + 過去形

正解はC(knew)。完成文は “He talks as if he knew everything about science.”。事実とは限らないことを表す as if の後では過去形を使うことがあります。 完成文全体では「彼はまるで科学について何でも知っているかのように話します。」という意味になります。ポイントは as if + 過去形 です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G027. 友人への謝罪

If I were you, I ( ) apologize to her.

私があなたなら、彼女に謝ります。

  1. A. can
  2. B. must
  3. C. will
  4. D. would

正解 D If I were you

正解はD(would)。完成文は “If I were you, I would apologize to her.”。If I were you, I would ... は助言の定番表現です。 完成文全体では「私があなたなら、彼女に謝ります。」という意味になります。ポイントは If I were you です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G028. 毎日の練習

You will not improve unless you ( ) every day.

毎日練習しない限り、上達しません。

  1. A. will practice
  2. B. practicing
  3. C. practice
  4. D. practiced

正解 C unless + 現在形

正解はC(practice)。完成文は “You will not improve unless you practice every day.”。unless は「~しない限り」。未来の内容でも現在形を使います。 完成文全体では「毎日練習しない限り、上達しません。」という意味になります。ポイントは unless + 現在形 です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G029. 閉店中の店

If the store were open now, I ( ) buy some milk.

もし今店が開いていれば、牛乳を買うのですが。

  1. A. may have
  2. B. will
  3. C. would
  4. D. should have

正解 C if + past, would

正解はC(would)。完成文は “If the store were open now, I would buy some milk.”。現実には店が開いていないという仮定なので would を使います。 完成文全体では「もし今店が開いていれば、牛乳を買うのですが。」という意味になります。ポイントは if + past, would です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。

G030. 計画変更の連絡

You should have ( ) me before you changed the plan.

計画を変える前に私に知らせるべきでした。

  1. A. told
  2. B. tell
  3. C. telling
  4. D. to tell

正解 A should have + pp

正解はA(told)。完成文は “You should have told me before you changed the plan.”。should have + 過去分詞は過去への後悔・非難を表します。 完成文全体では「計画を変える前に私に知らせるべきでした。」という意味になります。ポイントは should have + pp です。仮定法では、実際の事実から距離を置くために時制が一段過去側へ移る点を押さえます。 他の選択肢では、仮定法で必要な時制のずれや would/had + 過去分詞との対応が崩れます。