+ All Categories
Home > Documents > Programming Fundamentals

Programming Fundamentals

Date post: 08-Feb-2016
Category:
Upload: onawa
View: 28 times
Download: 4 times
Share this document with a friend
Description:
Neal Stublen [email protected]. 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". - PowerPoint PPT Presentation
26
PROGRAMMING FUNDAMENTALS Neal Stublen [email protected]
Transcript
Page 1: Programming Fundamentals

PROGRAMMING FUNDAMENTALS

Neal [email protected]

Page 2: Programming Fundamentals

MAKING DECISIONS

Page 3: Programming Fundamentals

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?

Page 4: Programming Fundamentals

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 decisionIs the light red?Is the light yellow?Is the light green?

Page 5: Programming Fundamentals

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)

Page 6: Programming Fundamentals

If-Then If the condition is true, then perform an action or

a sequence of actions

if condition then    actionendif

if time is 6pm then    begin classendif

Page 7: Programming Fundamentals

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    actionelse    another actionendif

if time is 6pm then    begin classelse    waitendif

Page 8: Programming Fundamentals

Boolean Expressions An expression is just a statement the

computer will evaluate4 + 3x / 4

A boolean expression will be evaluated as either true or false

Relational operators are used in boolean expressions

Page 9: Programming Fundamentals

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

Page 10: Programming Fundamentals

Relational Operatorsif customerAge >= 65 then    discount = 0.10else    discount= 0.0endif

if customerAge <65 then discount = 0.0else discount = 0.10endif

Page 11: Programming Fundamentals

Negation Operator A negation operator reverses the logic of a true

or false expression (NOT or !)

if age >= 21 then    allow purchaseendif

if NOT age >= 21 then    refuse purchaseendif

Page 12: Programming Fundamentals

Example What logic can we use to implement the

following discount table:

Purchase Discount$0.00 to $25.00 5%

$25.01 to $50.00 10%

$50.01 to $100.00 15%

Over $100.00 20%

Page 13: Programming Fundamentals

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.

Page 14: Programming Fundamentals

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 endifendif

Page 15: Programming Fundamentals

Nested Decisionsif condition1 then    if condition2 then        take action    endifendif

if condition1 AND condition2 then    take actionendif

Page 16: Programming Fundamentals

AND Operatorif x AND y then do somethingendif

“x AND y” is a boolean expression that can be evaluated as true or false

x y x AND yTrue True True

True False False

False True False

False False False

Page 17: Programming Fundamentals

Short-Circuit Evaluationif x AND y then do somethingendif

If we know x is false, we know x AND y is also false.There’s no need to evaluate y.

Page 18: Programming Fundamentals

Short-Circuit Exampleif age > 12 AND age < 65 then movieDiscount = 0.0endif

If age is less than or equal to twelve, the computer will not need to determine if age is greater than 65.

Page 19: Programming Fundamentals

Example How would we implement the following

discount table:

On Sundays, senior citizens receive an additional 5% discount.

Purchase Discount$0.00 to $25.00 5%

$25.01 to $50.00 10%

$50.01 to $100.00 15%

Over $100.00 20%

Page 20: Programming Fundamentals

OR Operatorif x OR y then do somethingendif

“x OR y” is a boolean expression that can be evaluated as true or false

x y x OR yTrue True True

True False True

False True True

False False False

Page 21: Programming Fundamentals

Short-Circuit Evaluation?if x OR y then do somethingendif

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.

Page 22: Programming Fundamentals

OR Efficiencyif age < 12 then movieDiscount = 0.10endifif age > 65 then movieDiscount = 0.10endif

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

Page 23: Programming Fundamentals

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

Page 24: Programming Fundamentals

Precedence Exampleif age <=12 OR age >= 65 AND not Friday then discount = 0.10endif

A twelve year old still gets the discount on Friday.

if (age <=12 OR age >= 65) AND not Friday then discount = 0.10endif

Parentheses always clarify intention.

Page 25: Programming Fundamentals

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

Page 26: Programming Fundamentals

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.


Recommended