Boolean Algebra Worksheet
Boolean Algebra Worksheet
Instructions
Use Java boolean notation: && (AND), || (OR), ! (NOT)
Variables: A, B, C, D represent boolean values (true or false)
Part 1: Apply DeMorgan’s Laws
Simplify the following expressions using DeMorgan’s laws:
-
!(A && B) -
!(A || B || C) -
!(!A && B) -
!(A && !B) -
!((A || B) && C) -
!(A && B && !C)
Part 2: Truth Tables
Create complete truth tables for each of the following expressions:
-
A && (B || C) -
!A || (B && C) -
(A || B) && (!A || C) -
A && B || !A && C
Part 3: Which Identities Are True?
For each statement, write TRUE or FALSE:
-
A && true = A -
A || false = false -
A && !A = false -
A || (A && B) = A -
A && A = A -
!(A && B) = !A || !B
Part 4: Java Code Analysis
Given the following Java code:
boolean x = true;
boolean y = false;
boolean z = true;
if (x && y) {
System.out.println("Line A");
} else if (!x || z) {
System.out.println("Line B");
} else {
System.out.println("Line C");
}
if (x || (!y && z)) {
System.out.println("Line D");
}
if (!(x && !z)) {
System.out.println("Line E");
} else if (y || z) {
System.out.println("Line F");
} else {
System.out.println("Line G");
}
Questions:
- What does the first if-else block print?
- Does “Line D” get printed?
- What does the second if-else block print?
- If we changed
z = false, what would be the complete output?
Answer Key
Part 1: DeMorgan’s Laws
!A || !B!A && !B && !CA || !B!A || B(!A && !B) || !C!A || !B || C
Part 2: Truth Tables
1. A && (B || C)
| A | B | C | B||C | A&&(B||C) |
|---|---|---|---|---|
| T | T | T | T | T |
| T | T | F | T | T |
| T | F | T | T | T |
| T | F | F | F | F |
| F | T | T | T | F |
| F | T | F | T | F |
| F | F | T | T | F |
| F | F | F | F | F |
2. !A || (B && C)
| A | B | C | !A | B&&C | !A||(B&&C) |
|---|---|---|---|---|---|
| T | T | T | F | T | T |
| T | T | F | F | F | F |
| T | F | T | F | F | F |
| T | F | F | F | F | F |
| F | T | T | T | T | T |
| F | T | F | T | F | T |
| F | F | T | T | F | T |
| F | F | F | T | F | T |
3. (A || B) && (!A || C)
| A | B | C | A||B | !A | !A||C | (A||B)&&(!A||C) |
|---|---|---|---|---|---|---|
| T | T | T | T | F | T | T |
| T | T | F | T | F | F | F |
| T | F | T | T | F | T | T |
| T | F | F | T | F | F | F |
| F | T | T | T | T | T | T |
| F | T | F | T | T | T | T |
| F | F | T | F | T | T | F |
| F | F | F | F | T | T | F |
4. A && B || !A && C
| A | B | C | A&&B | !A | !A&&C | (A&&B)||(!A&&C) |
|---|---|---|---|---|---|---|
| T | T | T | T | F | F | T |
| T | T | F | T | F | F | T |
| T | F | T | F | F | F | F |
| T | F | F | F | F | F | F |
| F | T | T | F | T | T | T |
| F | T | F | F | T | F | F |
| F | F | T | F | T | T | T |
| F | F | F | F | T | F | F |
Part 3: Which Identities Are True?
- TRUE - Identity Law
- FALSE - Should be
A || false = A - TRUE - Complement Law
- TRUE - Absorption Law
- TRUE - Idempotent Law
- TRUE - DeMorgan’s Law
Part 4: Java Code Analysis
- Line B - First condition
x && yis false, so checks!x || zwhich isfalse || true = true - Yes -
x || (!y && z)=true || (true && true)=true - Line E -
!(x && !z)=!(true && false)=!false=true - Complete output if z = false: Line C, Line D, Line G
- First block:
!x || z=false || false = false, so Line C - Middle:
x || (!y && z)=true || false = true, so Line D - Last block:
!(x && !z)=!(true && true)=false, so checky || z=false || false = false, so Line G
- First block:
header-includes:
-
\usepackage{fullpage}