1 / 26

Programming Fundamentals

Neal Stublen nstublen@jccc.edu. Programming Fundamentals. Making Decisions. Human Decisions. Think about a decision you've made today? How did you arrive at that decision? Was it a black-and-white decision for you? Our decisions can be complex?. Computer "Decisions".

onawa
Download Presentation

Programming Fundamentals

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Neal Stublen nstublen@jccc.edu Programming Fundamentals

  2. Making Decisions

  3. Human Decisions • Think about a decision you've made today? • How did you arrive at that decision? • Was it a black-and-white decision for you? • Our decisions can be complex?

  4. Computer "Decisions" • Computer decisions always reduce down to simple logic comparisons • Something is true or something is false • It has a boolean value of true or false • The decision block in a flow diagram requires a yes/no decision • Is the light red? • Is the light yellow? • Is the light green?

  5. Boolean Decisions • We use boolean expressions to determine a true or false condition • We implement a selection structure • Dual-alternative selection (if-then-else) • Single-alternative selection (if-then)

  6. If-Then • If the condition is true, then perform an action or a sequence of actions if condition then     action endif if time is 6pm then     begin class endif

  7. If-Then-Else • If the condition is true, then perform an action or a sequence of actions • Else perform a different action or sequence of actions if condition then     action else     another action endif if time is 6pm then     begin class else     wait endif

  8. Boolean Expressions • An expression is just a statement the computer will evaluate • 4 + 3 • x / 4 • A boolean expression will be evaluated as either true or false • Relational operators are used in boolean expressions

  9. Relational Operators • Equivalence, = or == • Greater than, > • Less than, < • Greater than or equal to, >= • Less than or equal to, <= • Not equal to, <> or != • Also called comparison operators

  10. Relational Operators if customerAge >= 65 then     discount = 0.10 else     discount= 0.0 endif if customerAge <65 then discount = 0.0 else discount = 0.10 endif

  11. Negation Operator • A negation operator reverses the logic of a true or false expression (NOT or !) if age >= 21 then     allow purchase endif if NOT age >= 21 then     refuse purchase endif

  12. Example • What logic can we use to implement the following discount table:

  13. Implementing Minimal Conditions • Selecting from a group of ranges, the last check is never necessary • If the table is complete, we rule out one possibility with each check • If total is not > 100 and total is not > 50 and total is not > 25, then total must be <= 25.

  14. Compound Conditions • Sometimes we need more complex logic to make a decision if I’m speeding then if I see a police car then slow down immediately endif endif

  15. Nested Decisions if condition1 then     if condition2 then take action endif endif if condition1 AND condition2 then take action endif

  16. AND Operator if x AND y then do something endif “x AND y” is a boolean expression that can be evaluated as true or false

  17. Short-Circuit Evaluation if x AND y then do something endif If we know x is false, we know x AND y is also false. There’s no need to evaluate y.

  18. Short-Circuit Example if age > 12 AND age < 65 then movieDiscount = 0.0 endif If age is less than or equal to twelve, the computer will not need to determine if age is greater than 65.

  19. Example • How would we implement the following discount table: • On Sundays, senior citizens receive an additional 5% discount.

  20. OR Operator if x OR y then do something endif “x OR y” is a boolean expression that can be evaluated as true or false

  21. Short-Circuit Evaluation? if x OR y then do something endif Is there a short-circuit evaluation for the OR operator? If we know x is true, we know x OR y is also true. There’s no need to evaluate y.

  22. OR Efficiency if age < 12 then movieDiscount = 0.10 endif if age > 65 then movieDiscount = 0.10 endif if age < 12 OR age > 65 then movieDiscount = 0.10 endif

  23. AND/OR Precedence • AND operator is always evaluated before the OR operator • c1 OR c2 AND c3 OR c4 • c1 OR (c2 AND c3) OR c4

  24. Precedence Example if age <=12 OR age >= 65 AND not Friday then discount = 0.10 endif A twelve year old still gets the discount on Friday. if (age <=12 OR age >= 65) AND not Friday then discount = 0.10 endif Parentheses always clarify intention.

  25. Summary • Boolean expressions • Relational operators • AND Logic • OR Logic • Selection within ranges • AND/OR precedence

  26. Date Validation • What logic would we need to validate a user’s date input? • The user enters separate values for the month, day, and year.

More Related