院卒新人サラリーマンのメモ代わり

備忘としてのメモを記載

論理

プログラマの数学より
&&と||はAという条件によってBを調べるかどうか判断している

条件付き論理積(&&)
A && B
A = false のとき Bは調べずにfalse
A = true のとき Bの値に等しい

#以下のプログラムは同じ
if(A && B)
  処理
end

if(A) 
  if(B)
    処理
  end
end

条件付き論理和(||)
A || B
A = true のとき Bは調べずにtrue
A = false のとき Bの値に等しい
rubyやってるとnilガードの時に学ぶと思う)

#以下のプログラムは同じ
if(A || B)
  処理
end

if(A)
  処理
else
  if(B)
    処理
  end
end

双対性
ある論理式の中で以下の3つをそれぞれ交換すると論理式全体を否定した論理式ができる

true ↔ false
A ↔ ¬A
∧ ↔ ∨

(¬A)∨(¬B) = ¬(A∧B)