論理演算の試験問題への適用
会員条件や承認条件は、論理演算で正確に書けます。ここでは文章を式へ直し、入力ごとに結果を確認します。ビット列も同じ規則を桁ごとに適用することで計算できます。
この単元で学ぶこと
- AND・OR・NOT・XORの真理値を求める
- 文章の条件を論理式へ対応付ける
- 桁ごとの演算と通常の足し算を区別する
- 全入力を調べて式の同値を判断する
本文解説
条件を先に定義する Aを会員、Bを招待客と定義します。少なくとも一方なら入場可はA OR Bです。両方の資格を持つ人も含みます。一方だけを満たす人に限定するならA XOR Bです。日常語の「または」は曖昧なので、両方の場合を含むかを明記します。
承認と残高の事例 承認済みAと残高十分Bの両方が必要なら処理条件はA AND B。A=1、B=0なら処理しません。残高が十分でも承認がなければ同じく処理しません。ANDの表の4組を書き、許可が一組だけであることを確認できます。
否定は式全体へ掛ける 処理不可はNOT(A AND B)です。これをNOT A OR NOT Bと書き換えられます。NOT A AND NOT Bでは両方の条件が欠けたときだけになり、一方だけ不足するケースが抜けます。NOTを各項に配る際にはANDとORも入れ替えます。
複合式を順に解く A=1、B=0、C=1のとき、(A XOR B) AND NOT Cを考えます。括弧内のXORは1、NOT Cは0、最後に1 AND 0=0となります。式全体を一度に暗算せず、中間値を記すと否定の適用範囲を追えます。
マスクで必要なビットだけ残す 1010 AND 0011=0010です。ANDの相手が1なら入力値が残り、0なら結果は0。下位2ビットの抽出には0011を使います。OR 0011なら下位を1へ設定し、XOR 0011なら下位を反転するため、目的が違います。
同値性の検証 二つの式の出力を、入力00、01、10、11の全組で比較します。NOT(A OR B)とNOT A AND NOT Bはどちらも00でだけ1です。一組の実験で一致しただけでは同値とは言えません。入力が3個なら8組必要です。
回路の接続として読む 各演算を一つのゲートと見ると、あるゲートの出力が次の入力になります。A XOR Bの出力をANDへ入れる場合、まずXORの出力を求めます。入力の組合せと接続関係で結果が決まり、回路を描く位置や線の長さで論理値は変わりません。
反例で誤った式を見つける ORとXORが同じだという主張は、A=B=1を代入すれば反証できます。ORは1、XORは0です。真理値表全体を作る前でも、両方真・両方偽・片方だけ真を試すと、条件の漏れを見つけやすくなります。
図解
重要ポイント
- ANDは両方、ORは少なくとも一方、XORは異なる入力で1。
- NOTは真と偽を反転する。
- ビット演算では桁ごとに真理値表を適用する。
- 全入力での出力一致が同値性の条件。
間違えやすい点
- ORには両方が真の場合も含む。
- 式全体を否定するときにANDとORの入替えを忘れない。
- 桁ごとの演算に算術の繰上がりを混ぜない。
用語解説
- 真理値表
- 入力の真偽の全組合せと、それぞれに対応する出力を並べた表。
- 排他的論理和
- XOR。二つの入力の真偽が異なる場合に真となる演算。
- 論理積
- AND。結合する条件が両方とも真の場合に真となる演算。
- 論理和
- OR。少なくとも一方の条件が真の場合に真となる演算。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。