【基本情報技術者試験】論理演算が苦手な人へ

※当サイトはアフィリエイト広告を利用しています。商品を紹介し、収益を得ることがあります。

プログラミングや論理回路の問題で、「X と Y の間にどんな演算が入るか?」という問題に出会ったことはありませんか?

複雑な真理値表を前にして混乱してしまったとき、視点を変えるだけで驚くほど簡単に解けるようになります。

今回の課題

基本情報技術者試験では、次のような表から問題が出されることがあります。

・XとYは、0か1が入る変数である
・(X□Y)は、XとYの論理演算である

その上で、(X□Y)の正しい真理値表はどれか?(4択)という問題。

XYX AND (X□Y)X OR (X□Y)
0001
0101
1001
1111

🚀 ステップ1:ノイズを削る「Y列の無視」

まず、多くの人が陥る罠が「Y の値を見て考えようとしてしまうこと」です。

この問題の核は、(X □ Y) という塊がどう動くかを見ることにあります。そしてそれはXとの論理演算でのみ判断します。

そのため、「Y列は無視していい」と考えました。

XYX AND (X□Y)X OR (X□Y)
0001
0101
1001
1111

🚀 ステップ2:塊を「Z」と置いて逆算する

(X □ Y) を Z と置き換えて、結果から Z の正体を絞り込みます。

XYX AND (X□Y) →ZX OR (X□Y) Z
0001
0101
1001
1111

① X=0 のとき(表の1〜2行目)

  • ANDの結果が 0: 0 AND Z = 0 → ということは、 Z は 「0」 でも 「1」 でも OK
XX AND Z
00
00
  • ORの結果が 1: 0 OR Z = 1 → Z は 「1」である必要がある
XX OR Z
01
01
  • 結論: X=0 のとき(表の1〜2行目)の Z は 1 で確定!

② X=1 のとき(表の3行目)

XX AND ZX OR Z
101
  • ANDの結果が 0: 1 AND Z = 0 → Z は 「0」である必要がある
XX AND Z
10
  • ORの結果が 1: 1 OR Z = 1 → Z は 「0」 でも 「1」 でも OK
XX OR Z
11
  • 結論: X=1 のとき(表の3行目)の Z は 0 で確定!

③ X=1 のとき(表の4行目)

XX AND ZX OR Z
111
  • ANDの結果が 1: 1 AND Z = 1 → Z は 「1」である必要がある
XX AND Z
11
  • ORの結果が 1: 1 OR Z = 1 → Z は 「0」 でも 「1」 でも OK
XX OR Z
11
  • 結論: X=1 のとき(表の4行目)の Z は 1 で確定!

🚀 ステップ3:導き出した「Z」の姿

分析の結果、求めたい演算 Z(つまり X □ Y)の真理値はこうなります。

XYZ(つまり X □ Y)
001
011
100
111

あとは、選択肢の中からこの「1, 1, 0, 1」の並びになる演算を探すだけです!

💡 まとめ:混乱しないための3箇条

  1. Y列に惑わされない: 複雑な表記 (X □ Y) に目を奪われないこと。
  2. Z として置き換える: 塊として捉えれば、単純な AND/OR の逆算になります。
  3. 条件に合致する選択肢を選ぶ: 導き出した Z の列が、そのまま「正解」になります。

このような論理パズルは、試験だけでなく実際のデバッグ作業などでも役立つ思考法です。ぜひ活用してみてください!

コメント