/*** Truth Table *********************************************************
This program generates a truth table for a Boolean expression.
It uses escaped-TAB characters to line up columns.
*************************************************************************/
void setup()
{
boolean A,B,C,truth;
println(" A \t B \t C \t(A and not B) or not(B and C)");
A = false;
do
{
B = false;
do
{
C = false;
do
{
truth = (A && !B) || !(B && C) ;
println(A + "\t" + B + "\t" + C + "\t" + truth);
C = !C;
} while (C);
B = !B;
} while (B);
A = !A;
} while (A);
}
/*************** Sample Output ******************************************
A
B C
(A and not B) or not(B and C)
false false false true
false false true true
false true false true
false true true false
true false false true
true false true true
true true false true
true true true false
(1) The expression above can be simplified.
Figure out which of the following expressions
is EQUIVALENT to the expression in the program:
(A and not B) or (not C)
!B and !C
!B or !C
!A or !B or !C
Once you have decided on one of the expressions,
change the program to print a Truth Table for
that expression.
(2) Write an expression that prints FALSE in
all 8 lines of the truth table.
(3) Write an expression that print TRUE in
all 8 lines of the truth table.
(4) Change the program to write a truth table
for 4 variables A,B,C,D.
Write the truth table for this expression:
(A && B) || (!C && !D) .
************************************************************************/