Logic and Boolean Expressions
description
Transcript of Logic and Boolean Expressions
![Page 1: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/1.jpg)
J. Michael Moore
Logic and Boolean Expressions
CPSC 110
![Page 2: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/2.jpg)
J. Michael Moore
Decision-Making With Multiple Expressions
• Format: if (Boolean-expression) logical-operator (Boolean-expression) then body;
• Example:
if (x > 0) AND (y > 0) then writeln ('X is positive, Y is positive');
![Page 3: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/3.jpg)
J. Michael Moore
Decision-Making With Multiple Expressions (2)
• Built-in logical operators in Pascal• _____• _____• _____• _____• (NAND and NOR can be constructed by combining
_____ with _____ & _____ with _____)
![Page 4: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/4.jpg)
J. Michael Moore
Compound Boolean Expressions With “OR” Operator• Format:if (Boolean-expression) OR (Boolean-expression) then body;
• Example:
if (gpa > 3.7) OR (yearsJobExperience > 5) then writeln(‘You are hired’);
![Page 5: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/5.jpg)
J. Michael Moore
Compound Boolean Expressions With “AND” Operator
• Format:
if (Boolean-expression) AND (Boolean-expression) then body;
• Example:
if (yearsOnJob <= 2) AND (isGoofOff = True) then writeln(‘You are fired’);
![Page 6: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/6.jpg)
J. Michael Moore
Compound Boolean Expressions With “XOR” Operator
• Format:if (Boolean expression) XOR (Boolean expression) then body;
• Example:if (takesFirstJob = true) XOR (takesSecondJob = true) then isEmployed := true;
OR
if (takesFirstJob) XOR (takesSecondJob) then isEmployed := true;
![Page 7: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/7.jpg)
J. Michael Moore
Compound Boolean Expressions With “NOT” Operator
• Format: if NOT (Boolean expression) then body;
• Examples: if NOT (x AND y) then writeln(‘NAND’); if NOT (x OR y) then writeln(‘NOR’);
![Page 8: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/8.jpg)
J. Michael Moore
Order Of The Operations
Order/Priority Operator
1 ___
2 ___ ___ ___ ___ ___
3 ___ ___ ___
4 ___ ___ ___ ___ ___ ___
![Page 9: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/9.jpg)
J. Michael Moore
Why Bracket Boolean Expressions
• Compound Boolean expressions – e.g., if x > 0 AND y > 0 then
AND has _____ ______ so the ‘0’ and ‘y’ become operands for this operation
![Page 10: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/10.jpg)
J. Michael Moore
Range Checking
• What about doing (x < y < z) to check if y is in the proper range?– Use _______________________
![Page 11: Logic and Boolean Expressions](https://reader036.fdocuments.us/reader036/viewer/2022082417/56812f2c550346895d94bf34/html5/thumbnails/11.jpg)
J. Michael Moore
Quick Summary: Using Multiple Expressions
• Use multiple expressions when multiple Boolean expressions must be asked and the result of each expression may have an effect on the other expressions:
• AND:–All Boolean expressions must evaluate to true before the entire
expression is true.– If any expression is false then whole expression evaluates to false
• OR:–If any Boolean expression evaluates to true then the entire
expression evaluates to true.
–All Boolean expressions must evaluate to false before the entire
expression is false.