decision structures
DESCRIPTION
Decision Structures. Chapter 4. Chapter 4 Objectives. To understand: What values can be stored in a Boolean variable What sequence structures are and when used What decision structures are and when used The difference between dual-alternative and single-alternative decision structures - PowerPoint PPT PresentationTRANSCRIPT
Decision StructuresChapter 4
Chapter 4 Objectives To understand:
o What values can be stored in a Boolean variableo What sequence structures are and when usedo What decision structures are and when usedo The difference between dual-alternative and
single-alternative decision structureso What nested instructions areo What relational operators are and how they are
used
4-2
Boolean Variables Boolean Variables hold only two values
o Trueo False
o Initial Value is usuallyset to be “TRUE”
What it looks like in variable definitions
4-3
4.1
Boolean Functions Boolean Functions return one value from the choice
ofo Trueo False
Also primitive functions that are Booleano User prompted to answer Yes (true) or No (false)
Ask the following question:
4-4
4.1
If/Else Decision Structure Used to check a condition and make a
decision If a Boolean condition is
o True then one set of instructions are executedo False then a different set is executed
All previous instructions have been consecutively executedo Oneo Aftero Theo Other
4-5
4.2
If/Else Flow Chart
• Used to check a condition and make a decision
Storyboard A storyboard design for this conditional statement is: BOTH actions will NOT be performed…only ONE can be!
The penguin falling or speaking are instructions that are conditionally executedo They do NOT always executeo Executed only under certain conditions
If the hole is wider than the penguinpenguin falls down the hole
Elsepenguin says “Drats!”
End If
TRUE
FALSE
Decision Structure
4-8
4.2
Penguin falls
down into the hole
Flowchart
If/Else Statement Location
4-9
4.2
If/Else Tile
Using If/Else Instruction
• Two empty “slots” in instructiono IF parto ELSE part
• Choose placeholder or true/false after dragging to location
• Replace placeholder with Boolean variable or a Boolean function
• Instructions tiles added to both the IF part and ELSE part
• More than one instruction can be added to both the IF and ELSE part
4-10
Empty If/Else instruction
4.2
Single-Alternative Decision Structures If/Else is a dual-alternative decision
structureo Two paths of execution
One following TRUE Other following FALSE
Single-alternative decision structures are similar to the dual-alternativeo The ELSE part is empty
4-11
4.2
Single-Alternative Decision Structures
4-12
Start
Penguin turns to
face hole
Hole
wider than
penguin?
End
Penguin walks to
center of hole
Penguin falls
into hole
4.2
T
F
Nested If/Else Instructions When an If/Else instruction is placed inside
another If/Else instruction The inner If/Else
executes only if the outer If/Else istrue
4-13
4.2
Nested If/Else Instructions
4-14
4.2
Start
Penguin faces hole
Within
2 meters
“Too Far!”
True
Hole wider?
“Drats!” Penguin walks
Penguin falls in
End
True
False
False
Relational Comparisons
Relational Operators are used to compare values and determine whether relationships exist Greater than Less than Equal to
Compare two values and determine how they relate to each other
Operator Meaning
= = Equal to
! = Not equal to
> Greater than
> = Greater than or equal to
< Less than
< = Less than or equal to
4-15
4.3
Relational Operators
Used to write your own comparison In If/Else and other tests
Operates on two pieces of data a and b
Alice uses “a” and “b” for placeholders• Drag the desired tile
and replace either the “a” or “b” with a value
4-16
4.3
Demonstration in Robot Example Concept illustrated
o Relational operations are defined using relational operators
Boolean Logic Can check for multiple conditions at one time with
Boolean logic Boolean logic operators are used to build an
expression composed of multiple conditionso And
Boolean: A and B: both must be true to be true In Alice: Both A and B
o Or Boolean: A or B: one or both must be true to be true In Alice: Either A or B, or both
o Not Inverses what you feed it
Example: if A = True then “not A” is False In Alice: not A
Boolean Logic in Functions
Choose World object Then choose functions
o Select desired Boolean functiono Drag to conditional instruction like If/Else Condition
Logical Operators
Tests more than true/false…can do complex testing!o Test two conditions
to see if they BOTH are true!
o Or ONLY one condition is true!
o Or NEITHER condition is true!
4-20
4.3
Example Can combine multiple conditions Example:
o Penguin within 2 meterso And circle is wider than penguin
Similar to nested If/Else but does not do what is in second Else statemento Penquin say “too far away“
4-21
Testing Value of Object’s Property Sometimes you might want to see what a
property of an object iso Coloro Opacityo isShowing
4-22
How to Testing Object’s Property Create an empty If/Else instruction Select object to test Click properties tab Drag desired property’s tile and drop onto
If/Else instruction’s condition Menu appears showing all comparisons to
performo Select desired comparison
Another menu appears allowing you to select value that you want to compare property too Ex: color property will give list of colors
4-23
Storyboard Frog and ladybug are in garden Ladybug says “Excuse me” Frog turns to face ladybug If ladybug’s color is red
o Frog says “EEK! Go away!” Else
o Frog says “Good Morning” Endif
4-24
Property Test Demonstration
4-25
Homework Read chapter 4 Answer questions in handout Do lab assignments after handing in
answered questions Due one week after assigned with 1 week
grace