ITパスポート 令和8年度 問74:algorithmに関する問題
表計算ソフトを用いて,二つの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 に入力する式はどれか。[表: A1=4の位/B1=2の位/C1=1の位, B2=0(繰り上げ), B3=1/C3=0(α), B4=1/C4=1(β), A5=1/B5=0/C5=1(結果)]
- aIF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))正答
- bIF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 1, 0))
- cIF(合計(B2:B4)>2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1))
- dIF(合計(B2:B4)>2, 合計(B2:B4), IF(合計(B2:B4)=2, 1, 0))
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a です。
これは「足し算で繰り上がりが出るかどうか」を見分ける式の問題です。
2進数は0と1だけの世界で、同じ位で1+1になると「2」になり、ひとつ上の位に繰り上がります(10円玉が10枚で100円玉になるのと同じ感覚)。
B5には“この位の答え”を出したいので、合計が2未満ならそのまま、ちょうど2なら繰り上げて見た目は0、3なら見た目は1にします。これを正しく書いているのがaです。
👉 覚え方:「2でひとつ上に繰り上がる→その位は0か1だけ残る」。
ほかの選択肢は「ちょうど2のとき」の答えを0と1で取り違えていて、計算が合いません。
なぜこれが正解か
正解は a。B5(2の位)には、繰り上がりB2と各2の位B3・B4の合計を、繰り上がりを考慮して表示する。合計SUM(B2:B4)は0〜3の値をとる。0または1ならそのまま表示、2なら上位へ繰り上がりこの位は0、3なら上位へ繰り上がりこの位は1。
各選択肢の解説(式の評価)
各式は「IF(合計<2, 合計, IF(合計=2, X, Y))」の形。合計<2なら合計そのまま(0か1)で全選択肢共通。差は合計≧2のとき。
- a:合計=2なら0、それ以外(=3)なら1 → 正しい。
- b:合計=2なら1、=3なら0 → 逆で誤り。
- c・d:条件が「合計>2」のため、合計=2のとき第1引数の「合計(=2)」を返してしまい、1桁に2が出て誤り。
覚え方・ひっかけ注意
2進数は1桁が0か1のみ。合計2=「0+繰り上がり」、合計3=「1+繰り上がり」と手を動かして確認する。条件を「<2」にするか「>2」にするかでちょうど2の扱いが変わる点がひっかけ。
理論的背景
本問は2進数の加算とセル参照式の組み合わせを問う表計算問題で、バイナリ演算の論理と表計算式の対応関係の理解が求められる。正解aのIF式の動作を詳細にトレースする。
α=10(2進)=2(10進)、β=11(2進)=3(10進)。期待結果:2+3=5=101(2進)→A5=1,B5=0,C5=1。セルB2=1の位の繰り上がり=IF(C3+C4=2, 1, 0)=IF(0+1=2, 1, 0)=0。B5に求める式はB2(繰り上がり入力)+B3(αの2の位)+B4(βの2の位)の和を2進数で処理する式。
合計(B2:B4)=0+1+1=2。IF(合計(B2:B4)<2, 合計(B2:B4), IF(合計(B2:B4)=2, 0, 1)):外側のIF:2<2はFalse→内側のIF:2=2はTrue→B5=0。正解確認:B5=0(2の位は0)。A5の4の位の繰り上がり:2の位合計が2のとき繰り上がり1が発生→A5=1。C5:1の位処理:0+1=1、繰り上げなし→C5=1。結果{A5=1, B5=0, C5=1}=101(2進)=5(10進)。正しい。
実務での使われ方
2進数演算の表計算実装は教育・デジタル回路シミュレーション・コンピュータサイエンス教育ツールとして活用される。実業務では16進数・2進数のビット操作をExcel/Googleスプレッドシートで行う場合にBIN2DEC・DEC2BIN・BITAND・BITOR・BITXOR等の専用関数を使う方が効率的。本問のような「ゼロから2進加算回路を表計算で実装する」アプローチは半加算器・全加算器の論理回路設計の理解を深めるための教育的設問として重要。
LSI設計・FPGA(Field Programmable Gate Array)プログラミング・組み込みシステム開発ではビット操作・整数演算のオーバーフロー処理が日常的な実装課題であり、本問の「繰り上がり処理」ロジックはキャリービット(CF:Carry Flag)の管理に対応する。
試験での位置づけ
2進数演算と表計算式の組み合わせ問題はITパスポートのアルゴリズム・テクノロジー要素分野で出題される難易度の高い問題。2進数の加算ルール(1+1=10(2進):繰り上がり発生)とIF式のネスト構造の理解が同時に求められる。本問のような表計算式問題では「具体的な値を代入してトレースする」戦略が最も確実。選択肢間の違いを分析すると、IF条件の向き(<2 vs >2)と内側IFの戻り値(0と1の順序)の2点が正解を決定するため、試験ではこの2点に絞って確認する。近年のITパスポート試験では表計算式・疑似コードアルゴリズムの問題が増加傾向にあり、VLOOKUP・INDEX/MATCH等の実用的な表計算関数も出題されている。
選択肢の発展補足
選択肢bとaの違いは外側IFが<2のときに同じ動作をするが、内側IFのTrue/Falseが逆(b:合計=2→1, 合計>2→0)である点。合計(B2:B4)が3(2の位で1+1+1=3)の場合:a式はIF(3<2, 3, IF(3=2, 0, 1))→1を返す(正しい:4の位に繰り上げ1、2の位は1残)。b式はIF(3<2, 3, IF(3=2, 1, 0))→0を返す(誤り:合計3の場合は2の位に1が残るはず)。本問の特定ケース(合計=2)では両者の結果が異なり、aが正解(0を返す)、bが誤り(1を返す)。選択肢cとdは外側IFの向きが>2であり、合計が2未満の場合に合計値をそのまま返すことはないため、正しい2進数の動作とは異なる。2進数加算の論理回路(半加算器:入力A,B→出力SUM=A XOR B, CARRY=A AND B・全加算器:入力A,B,Cin→出力SUM=A XOR B XOR Cin, CARRY=(A AND B) OR (B AND Cin) OR (A AND Cin))を理解しておくと本問の構造が直感的に理解できる。
出典:IPA(情報処理推進機構)公式 ITパスポート試験 令和8年度 問74/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。