✨ ベストアンサー ✨
まず選択肢の中では
having の有無ではなく
意味上の主語it + 分詞構文 の形が正しく作れている
という部分に着目して③を選ぶと思うんです。
it rains/rained etc っていう文を分詞構文にする、ということが正しく理解できているか、という点で①②④は明らかに誤りなので、
仮に③it raining だとしても①②④よりは正しいと判断できるかなと思います。
長いので一旦切ります
コメント追記します
仮定法!!
全然気がつきませんでした!
ありがとうございます😭
It rainingの場合、分詞のまとまりと主節に時制の差が無いですよね。
[分詞] あの夜は雨が降っていたので、
[主節] (あの夜)月を観測できなかった
ということになります。
でもそれなら
It raining, we could not observe the moon that night.
この方が、カンマの前後のとも時制は過去で
that nightの話をしている以外の解釈がないので、より適切かもしれません。
今回の文は
that nightがカンマの前、分詞構文の方にあるので、
2つの解釈が可能なんです。
【パターンA 】
分詞構文も主節もthat nightの話をしている
つまり、カンマの前後で時制の差がなくて、どちらも過去。だからIt rainingが正解。
要はthat nightを後ろに回したときと同じで、that nightは位置の違いだけです。
【パターンB】
分詞構文は、that nightの話(過去の話)
主節は、現在の話
つまりカンマの前後で時制の差があるパターンです。
この場合はIt having rained になります。
having + 過去分詞 の分詞構文は、
主節と分詞構文に時制差があるとき、主節よりも前の時制を表すのに使います。
今回の文はit having rainedが正解ですから、このパターンです。
主節は現在時制なのですが、助動詞の過去形が使われています。現在のことを過去形で表すのは、仮定法ですよね。これに気づけるかどうかが大きなポイントかもしれません。
そして
仮定法には「条件」に当たる部分が必要で、if節を使うのが一番基本の型ですが、今回は分詞構文で条件を書いている、ということなんです。
つまり
[分詞] あの夜に雨が降っていたら、
[主節] (いま)月を観測できない
実際には「あの夜に雨が降らなかったから、いま月を観測できている」という状況で、
それを踏まえての文だと思います。