Download presentation
Presentation is loading. Please wait.
Published byIrene Singleton Modified over 8 years ago
3
George Boole A century ago there was a mathematician, George Boole, who took statements and wrote them in a precise format, such that a statement is always true or false. He founded a branch of math called Boolean Algebra. Statements that are either true or false are called Boolean statements. The conditions you used with selection and repetition back in Chapter 5 were all Boolean statements. The boolean datatype is named after George Boole.
4
AP Exam Alert The APCS Examination includes a variety of Boolean Logic questions. Many questions require indirect knowledge of Boolean Logic, and other questions are directly focused on testing a student’s understanding of Boolean concepts. Test results have shown that many students score quite poorly on this part of the APCS Examination. Statistical Analysis of these test results have also shown that the students who perform poorly on Boolean Logic questions, perform poorly on the AP Exam as a whole; and the students who perform well on the Boolean Logic questions, perform well on the AP Exam as a whole.
6
What is a Boolean Statement? The sentence, statement, condition, whatever, must be true or false. No questions, no ambiguities, no arguments. The basis of processing data is the binary system of on and off, or 1 and 0, which certainly sounds a bunch like true or false. Each of the following five statements is a Boolean statement: A mile is longer than a kilometer. July and August both have the same number of days. A pound of feathers is lighter than a pound of lead. The Moon is larger than the Sun. New York City has more people than Baltimore.
7
English SentenceBoolean StatementT/F A mile is longer than a kilometer. Mile > Kilometer True July and August have the same days. JulDays == AugDays True A pound of feathers is lighter than a pound of lead. PoundF < PoundL False The Moon is larger than the Sun. MoonSize > SunSize False New York City has more people than Baltimore. NYPop > BaltPop True Boolean Statement Examples
8
Sentences are not always so short and straight forward. Frequently there are multiple conditions in one statement. Special rules need to be followed to determine if the entire statement is true or false. Consider the following sentences with compound conditions: She is a computer science teacher and she is a math teacher. The number is odd or the number is even. Enter again if gender is not male or gender is not female. Employment requires a CPA and five years experience. The same sentences converted into Boolean statements are: (She==CSTeacher) and (She==MathTeacher) (Number%2==1) or (Number%2!=1) (Gender!=Male) or (Gender!=Female) (CPA == "Y") and (YrExp >= 5)
10
Logical OR Example Consider two young ladies who have a rather simplistic, and quite politically incorrect, view of judging potential dates. The first is Kathy who will date a guy if he is Good Looking OR drives a Nice Car. This chart shows her 4 possible cases: Good Looking?Nice Car?Date Material?
11
Boolean Operators Boolean OR ATTFFATTFF BTFTFBTFTF A or B T F
12
Logical AND Example Suzy is more picky than Kathy. Suzy will only date a guy if he BOTH Good Looking AND drives a Nice Car. This chart shows her 4 possible cases: Good Looking?Nice Car?Date Material?
13
Boolean Operators Boolean AND ATTFFATTFF BTFTFBTFTF A and B T F
14
Boolean Operators Boolean XOR ATTFFATTFF BTFTFBTFTF A xor B F T F
15
Boolean Operators Boolean NOT ATFATF ~A F T
17
Truth Table #1 A and (A or B) ATTFFATTFF BTFTFBTFTF A or B T F A and (A or B) T F
18
Truth Table #2 (A and B) or C ATTTTFFFFATTTTFFFF BTTFFTTFFBTTFFTTFF CTFTFTFTFCTFTFTFTF A and B T F (A and B) or C T F T F T F
19
Truth Table #3 (A or B) and C ATTTTFFFFATTTTFFFF BTTFFTTFFBTTFFTTFF CTFTFTFTFCTFTFTFTF A or B T F (A or B) and C T F T F T F
20
Truth Table Fact The truth tables of equivalent Boolean expressions are identical.
21
Truth Table #4 Is ~(A or B) = ~A or ~B ? ATTFFATTFF BTFTFBTFTF A or B T F ~(A or B) F T ~A F T ~B F T F T ~A or ~B F T ^ NO ^
22
Truth Table #5 Is ~(A or B) = ~A and ~B ? ATTFFATTFF BTFTFBTFTF A or B T F ~(A or B) F T ~A F T ~B F T F T ~A and ~B F T ^ YES ^
23
Truth Tables #6 (T/F) and #7 (1/0) Is ~(A and B) = ~A or ~B ? ATTFFATTFF BTFTFBTFTF A and B T F ~(A and B) F T ~A F T ~B F T F T ~A or ~B F T A1100A1100 B1010B1010 A and B 1 0 ~(A and B) 0 1 ~A 0 1 ~B 0 1 0 1 ~A or ~B 0 1 YES
25
Boolean Algebra Notation A or B A + B A and B A●B A*B AB not A ~A true 1 false 0
26
Basic Laws of Boolean Algebra - 1 A + A = AIdempotent Law for or A * A = AIdempotent Law for and A + B = B + ACommutative Law for or A * B = B * ACommutative Law for and A + (B + C) = (A + B) + CAssociative Law for or A * (B * C) = (A * B) * CAssociative Law for and A * (B+C) = (A*B) + (A*C)Distributive Law for and over or A + (B*C) = (A+B) * (A+C)Distributive Law for or over and
27
Basic Laws of Boolean Algebra - 2 A + 1 = 1Law of Union A * 0 = 0Law of Intersection A * (A + B) = ALaw of Absorption A + (A * B) = ALaw of Absorption A * 1 = A1 is the identity element for and A + 0 = A0 is the identity element for or ~(~A) = ADouble negative law
28
Basic Laws of Boolean Algebra - 3 A + ~A = 1Law of Complement for or A * ~A = 0Law of Complement for and ~(A + B) = ~A * ~BDeMorgan's Law ~(A * B) = ~A + ~BDeMorgan's Law
29
The Law of Absorption presents the following two expression equivalencies: A * (A + B) = A A + (A * B) = A AATTFFAATTFF BBTFTFBBTFTF A and B A*B T F A or B A+B T F A and (A or B) A * (A+B) T F A or (A and B) A + (A*B) T F ^ All 3 are the same! ^ ^
31
Venn Diagram #1 The Boolean Algebra logical and ( * ) can be demonstrated with Venn Diagrams, using intersection. A intersect B also A and B also A * B also AB
32
Venn Diagram #2 The Boolean Algebra logical or ( + ) can be demonstrated with Venn Diagrams, using union. A union B also A or B also A + B
33
Venn Diagram #3 The Boolean Algebra logical not ( ~ ) not A also ~A This is the opposite of A.
34
Venn Diagram #4 The Boolean Algebra logical not ( ~ ) not B also ~B This is the opposite of B.
35
Venn Diagram #5 not (A and B) ~(A * B) This is the opposite of (A and B).
36
Venn Diagram #6 not (A or B) ~(A + B) This is the opposite of (A or B).
37
Venn Diagram #7 not A and not B ~A * ~B This is identical to not(A or B).
38
Venn Diagram #8 not A or not B ~A + ~B This is identical to not(A and B).
39
DeMorgan’s Law not(A and B) = not A or not B not(A or B) = not A and not B
40
Tricky Venn Diagrams A and not (B) A or not(B) A * ~B A + ~B Step 1 – Shade A AB
41
Tricky Venn Diagrams A and not (B) A or not(B) A * ~B A + ~B Step 2 – Shade ~B a different way
42
Tricky Venn Diagram A and not (B) A * ~B Answer: The part that is shaded twice.
43
Tricky Venn Diagram A or not (B) A + ~B Answer: Everything that is shaded.
45
The first group of problems are meant to be simple and straight forward. These problems are designed to help you understand Boolean logic better. These problems are not APCS Examination type problems. Some of the problems that follow later are similar in nature to the Boolean Algebra multiple choice questions that were presented on previously released APCS examinations. The AP Computer Science Examination includes a number of questions that are language independent. Boolean Algebra questions are one group of language independent questions. AP Exam Alert
46
Sample Problem 1. The Boolean expression A >= B is equivalent to which of the following expressions? (A) not(A < B) (B) not(B >= A) (C) not(A <= B) (D) A != B (E) B >= A Answer: A
47
Sample Problem 2. The Boolean expression (A or B) and B is true (A) whenever A is true. (B) whenever B is true. (C) whenever either A is true or B is true. (D) only whenever both A is true and B is true. (E) for all values of A and B. Answer: B
48
Sample Problem 3. The Boolean expression (A or B) and (A or B) is true (A) only when A is true. (B) only when B is true. (C) whenever either A is true or B is true. (D) only whenever both A is true and B is true. (E) for all values of A and B. Answer: C
49
Sample Problem 4. The Boolean expression not(A and B and C) is equivalent to which of the following expressions? (A) A != B != C (B) A and B and C (C) A or B or C (D) not A or not B or not C (E) not A and not B and not C Answer: D
50
Sample Problem 5. The Boolean expression (A and B) and not(A and B) evaluates to (A) false in all cases. (B) true in all cases. (C) true whenever only A is true or only B is true. (D) true whenever both A is true and B is true. (E) false only when both A is false and B is false. Answer: A
51
Sample Problem 6. The Boolean expression not((A D)) is equivalent to which of the following expressions? (A) (A D) (B) (A >= B) and (C <= D) (C) (A >= B) or (C <= D) (D) (A > B) and (C < D) (E) (A > B) or (C < D) Answer: C
52
Sample Problem 7. The Boolean expression (A > B) or (A <= B) can be simplified to which of the following expressions? (A) A or B (B) A and B (C) A and not B (D) false (E) true Answer: E
53
Sample Problem 8. The Boolean expression (A and B) and (not A or not B) evaluates to (A) true in all cases. (B) false in all cases. (C) true only whenever both A is true and B is true. (D) false only whenever both A is false and B is false. (E) true only whenever A is true or B is true. Answer: B
54
Sample Problem 9. The Boolean expression (A and B) or (not A or not B) evaluates to (A) true in all cases. (B) false in all cases. (C) true only whenever both A is true and B is true. (D) false only whenever both A is false and B is false. (E) true only whenever A is true or B is true. Answer: A
55
Sample Problem 10. The Boolean expression (A and B) or (not A and not B) evaluates to (A) true in all cases. (B) false in all cases. (C) true only whenever both A is true and B is true. (D) false only whenever both A is false and B is false. (E) true only whenever both A and B are true or both A and B are false. Answer: E ATTFFATTFF BTFTFBTFTF A and B T F ~A and ~B F T ~A F T ~B F T F T (A and B) or (~A and ~B) T F T
57
// Java1001.java // This program demonstrates that conditional statements have // true or false Boolean values and can display such values. public class Java1001 { public static void main(String args[]) { System.out.println("\nJAVA1001.JAVA\n"); int x = 10; System.out.println(x == 10); System.out.println(x == 5); System.out.println(); }
58
// Java1002.java // This program introduces the data type, which only has two // values, true or false. Boolean variables adds readability to programs. import java.util.Scanner; public class Java1002 { public static void main (String args[]) { System.out.println("\nJAVA1002.JAVA\n"); Scanner input = new Scanner(System.in); int gcf; boolean correct = false; int attempt = 0; while (!correct) { attempt++; System.out.print("\nWhat is the GCF of 120 and 108? --> "); gcf = input.nextInt(); if (gcf == 12) correct = true; else correct = false; } System.out.println("\nAnswered correctly after " + attempt + " Attempt(s).\n"); }
59
// Java1003.java // This program executes in the same manner as Java1002.java. // The abbreviated Boolean assignment statement is used in place of the // longer if... else syntax. import java.util.Scanner; public class Java1003 { public static void main (String args[]) { System.out.println("\nJAVA1003.JAVA\n"); Scanner input = new Scanner(System.in); int gcf; boolean correct = false; int attempt = 0; while (!correct) { attempt++; System.out.print("\nWhat is the GCF of 120 and 108? --> "); gcf = input.nextInt(); correct = (gcf == 12); } System.out.println("\nAnswered correctly after " + attempt + " Attempt(s).\n"); }
60
Think of it this way… VariableExpressionAssignment int x;23 + 45x = 23 + 45; double y;66.23 - 8.11y = 66.23 - 8.11; String name;“John” + “Smith”name = “John”+”Smith”; boolean pass;grade >= 70pass = grade >= 70;
62
Boolean Logic Exercises This section provides you with ten Boolean logic exercises. The main difference between these exercises and the previous exercises is that these use actual Java syntax.
63
Logical Operators In Java Java uses || to indicate a logical or. Java uses && to indicate a logical and. Java uses ! to indicate a logical not.
64
Sample Problem 1. The Boolean expression (A && B) || (A && C) is equivalent to which of the following expressions? (A) A && (B || C) (B) A || (B && C) (C) (A || B) && (A || C) (D) A && B && C (E) A || B || C Answer: A
65
Sample Problem 2. The Boolean expression (A || B) && B is true (A) only when A is true. (B) only when B is true. (C) whenever either A is true or B is true. (D) only whenever both A is true and B is true. (E) for all values of A and B. Answer: B
66
Sample Problem 3. The Boolean expression (A && B) && A is true (A) only when A is true. (B) only when B is true. (C) whenever either A is true or B is true. (D) only whenever both A is true and B is true. (E) for all values of A and B. Answer: D
67
Sample Problem 4. The Boolean expression (A || B) && (A || B) is true (A) only when A is true. (B) only when B is true. (C) whenever either A is true or B is true. (D) only whenever both A is true and B is true. (E) for all values of A and B. Answer: C
68
Sample Problem 5. The Boolean expression !(A && B) is equivalent to which of the following expressions? (A) A != B (B) !A && B (C) A || B (D) !A || !B (E) !A && !B Answer: D
69
Sample Problem 6. The Boolean expression (A && B) && !(A && B) evaluates to (A) false in all cases. (B) true in all cases. (C) true whenever only A is true or only B is true. (D) true whenever both A is true and B is true. (E) false only when both A is false and B is false. Answer: A
70
Sample Problem 7. The Boolean expression (A || B) && !(A || B) evaluates to (A) false in all cases. (B) true in all cases. (C) true whenever only A is true or only B is true. (D) true whenever both A is true and B is true. (E) false only when both A is false and B is false. Answer: A
71
Sample Problem 8. The Boolean expression (A > B) && (A <= B) can be simplified to which of the following expressions? (A) A || B (B) A && B (C) A && ! B (D) false (E) true Answer: D
72
Sample Problem 9. The Boolean expression (A && B) || (!A || !B) evaluates to (A) true in all cases. (B) false in all cases. (C) true only whenever both A is true and B is true. (D) false only whenever both A is false and B is false. (E) true only whenever A is true or B is true. Answer: A
73
Sample Problem 10. Consider the following program segment. Assume that X is a Boolean variable. X = !(X == true); (A) X will always be true. (B) X will always be false. (C) The value of X does not change. (D) The value of X always changes. (E) The result cannot be determined with the given information Answer: D XTFXTF X == true T F !(X == true) F T
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.