科目A問74
表計算ソフトを用いて,二つの2進数α,βの和を求める。α,βの桁数は2桁に限定し,2の位,1の位の順に各桁の値がセルB3,セルC3とセルB4,セルC4に入力されている。ワークシートは2進数α=10,β=11の例である。結果は,4の位,2の位,1の位の順にセルA5,セルB5,セルC5に表示したい。セルB2は1の位からの繰り上がりの情報を格納するために用いられ,式 IF(C3+C4=2,1,0) が入力されている。セルB5に入力する式はどれか。

| IF(合計(B2:B4)<2,合計(B2:B4),IF(合計(B2:B4)=2,0,1)) | |
| IF(合計(B2:B4)<2,合計(B2:B4),IF(合計(B2:B4)=2,1,0)) | |
| IF(合計(B2:B4)>2,合計(B2:B4),IF(合計(B2:B4)=2,0,1)) | |
| IF(合計(B2:B4)>2,合計(B2:B4),IF(合計(B2:B4)=2,1,0)) |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- ア
解説
2の位は、1の位からの繰り上がりB2と、α・βの2の位であるB3・B4の合計合計(B2:B4)で決まります。合計Sの振る舞いは、S=0→0、S=1→1、S=2→0(繰り上がり)、S=3→1(繰り上がり)です。したがって、S<2のときはSをそのまま表示し、S≧2のときはS=2なら0、それ以外(3)なら1を返す式が必要です。これに一致するのはアです。画像の例(α=10、β=11)ではC3=0、C4=1よりB2=0、B3=1、B4=1でS=2となり、B5は0、A5に1が表示されます。
| ア. | IF(合計(B2:B4)<2,合計(B2:B4),IF(合計(B2:B4)=2,0,1)) |
| IF(合計(B2:B4)<2,合計(B2:B4),IF(合計(B2:B4)=2,0,1))です。S<2ではSをそのまま出力、S≧2ではS=2なら0、S=3なら1を返し、上記の場合分けに一致します。 | |
| イ. | IF(合計(B2:B4)<2,合計(B2:B4),IF(合計(B2:B4)=2,1,0)) |
| S≧2のときの内訳が逆です。S=2で1、S=3で0を返してしまうため誤りです。 | |
| ウ. | IF(合計(B2:B4)>2,合計(B2:B4),IF(合計(B2:B4)=2,0,1)) |
| 最初の判定が>2で、S=3のとき合計値3をそのまま返してしまいます。2進数の1桁に3は出せないため不適切です。 | |
| エ. | IF(合計(B2:B4)>2,合計(B2:B4),IF(合計(B2:B4)=2,1,0)) |
| ウと同様に最初が>2で、S=3のとき3を返します。2進数の1桁として成立せず不適切です。 |