Computer Programming Boolean Logic Trade & Industrial Education Copyright © Texas Education Agency, 2013 Trade & Industrial Education
What is Boolean Logic? Boolean logic is a system for determining the truth of a statement (or expression) based on whether certain variables are true or false. For example: In the statement, “I will go for a walk if it is sunny,” the decision is based on whether it is true that it is ‘sunny.’ © UNT in partnership with TEA Copyright © Texas Education Agency, 2013 IT: [Computer Programming] - [Boolean Logic] 2 Trade & Industrial Education
Historical Note George Boole (1815-1864) was an English mathematician who devised a system of symbols and equations to represent logical decisions. Boolean Algebra was not widely used until the invention of computers. Boolean logic expressions are used to design electronic circuits and to represent decision-making in software Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 3 Trade & Industrial Education
How is Boolean Logic used? A combination of conditions, variables, and operators are used to determine if an expression is True or False. It can also be used to determine which elements can be members of a given set. Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 4 Trade & Industrial Education
How are these categories different? Brown-eyed AND Male Brown-eyed OR Male Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 5 Trade & Industrial Education
Who would be in these groups? NOT male AND wearing jeans NOT <16 Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 6 Trade & Industrial Education
Like Mathematics, Boolean logic has operators Mathematic Operators + - x / = Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 7 Trade & Industrial Education
Boolean Operators && ( AND ) || ( OR ) ! ( NOT ) Cheese || Pepperoni && !Anchovies Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 8 Trade & Industrial Education
Like Math, Boolean logic has an order of operations Mathematic Order of Operations is PEMDAS Parentheses first Exponents next Multiplication and Division Addition and Subtraction Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 9 Trade & Industrial Education
Order of Boolean Operations Parentheses are not operators, but indicate grouping, consider these first. NOT (!) must be considered next. AND ( && ) is considered next. OR ( || ) is considered last. Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 10 Trade & Industrial Education
!Tall && Blonde || Rich Consider the NOT first. !Tall is short. Consider the AND next. !Tall and Blonde, in other words, Short and Blonde. Consider the OR next. This person can be either Short and Blonde, or they can be Rich. They can also be Short, Blonde, and Rich. Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 11 Trade & Industrial Education
Order of Operations Parentheses first, then NOT (!) , then && , then || !Tall && Blonde || Rich !(Tall && Blonde) || Rich !Tall && !Blonde || Rich Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 12 Trade & Industrial Education
Venn Diagrams Venn Diagrams can be used to visualize Boolean expressions. Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 13 Trade & Industrial Education
Venn Diagram B A A && B Trade & Industrial Education Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 14 Trade & Industrial Education
Where is !A B A Trade & Industrial Education Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 15 Trade & Industrial Education
Where is A || B ? B A Trade & Industrial Education Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 16 Trade & Industrial Education
Truth Tables Truth tables are used to evaluate possible combinations of variables and operators. Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 17 Trade & Industrial Education
A || B (A OR B) A B A || B True False Trade & Industrial Education © UNT in partnership with TEA Copyright © Texas Education Agency, 2013 IT: [Computer Programming] - [Boolean Logic] 18 Trade & Industrial Education
A && B (A AND B) A B A && B True False Trade & Industrial Education © UNT in partnership with TEA Copyright © Texas Education Agency, 2013 IT: [Computer Programming] - [Boolean Logic] 19 Trade & Industrial Education
!A (NOT A) A !A True False Trade & Industrial Education © UNT in partnership with TEA Copyright © Texas Education Agency, 2013 IT: [Computer Programming] - [Boolean Logic] 20 Trade & Industrial Education
!A || B (NOT A OR B) A B !A || B True False © UNT in partnership with TEA Copyright © Texas Education Agency, 2013 IT: [Computer Programming] - [Boolean Logic] 21 Trade & Industrial Education
Check for Understanding Determining the results of a Boolean expression is known as evaluating it. All Boolean expressions evaluate to either True or False Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 22 Trade & Industrial Education
Evaluate: What would be printed, A or B? boolean blonde = false; if ( blonde) System.out.println(“A”); if ( !blonde) System.out.println(“B”); Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 23 Trade & Industrial Education
Evaluate: What would be printed, A or B? boolean tall = false; boolean male = true; if ( male && tall) System.out.println(“A”); if ( male || tall) System.out.println(“B”); Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 24 Trade & Industrial Education
Evaluate: What would be printed, A or B? boolean x = false; boolean y = true; if ( x && y) System.out.println(“A”); if ( !x && y) System.out.println(“B”); Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 25 Trade & Industrial Education
Shade in A || !B B A Trade & Industrial Education Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 26 Trade & Industrial Education
Shade in A && !B B A Trade & Industrial Education Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 27 Trade & Industrial Education
Shade in !A && !B B A Trade & Industrial Education Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 28 Trade & Industrial Education
Will it print? boolean x = true; boolean y = false; if ( x && !y) System.out.print(“A”); Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 29 Trade & Industrial Education
Will it print? boolean x = true; boolean y = false; if (! x || y) System.out.print(“A”); Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 30 Trade & Industrial Education
With what you know… Can you evaluate a boolean expression? Copyright © Texas Education Agency, 2013 © UNT in partnership with TEA IT: [Computer Programming] - [Boolean Logic] 31 Trade & Industrial Education