Transcript Chapter 4
Decision Structures
Chapter 4
Chapter 4 Objectives
To understand:
o
o
o
o
o
o
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 singlealternative decision structures
What nested instructions are
What relational operators are and how they are used
4-2
4.1
Boolean Variables
Boolean Variables hold only two values
o
o
o
True
False
Initial Value is usually
set to be “TRUE”
What it looks like in variable definitions
4-3
4.1
Boolean Functions
Boolean Functions return one value from the choice of
o
o
Also primitive functions that are Boolean
o
True
False
User prompted to answer Yes (true) or No (false)
Ask the following question:
4-4
4.2
If/Else Decision Structure
Used to check a condition and make a decision
If a Boolean condition is
o
o
True then one set of instructions are executed
False then a different set is executed
All previous instructions have been consecutively
executed
o
o
o
o
One
After
The
Other
4-5
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!
If the hole is wider than the penguin
penguin falls down the hole
Else
penguin says “Drats!”
End If
TRUE
FALSE
The penguin falling or speaking are instructions that are
conditionally executed
o
o
They do NOT always execute
Executed only under certain conditions
4.2
Decision Structure
Flowchart
Penguin falls
down into the hole
4-8
4.2
If/Else Statement Location
If/Else Tile
4-9
4.2
Using If/Else Instruction
Empty If/Else instruction
•
Two empty “slots” in instruction
o
o
•
•
•
•
IF part
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
Single-Alternative Decision
Structures
If/Else is a dual-alternative decision structure
o
Two paths of execution
4.2
One following TRUE
Other following FALSE
Single-alternative decision structures are similar to
the dual-alternative
o
The ELSE part is empty
4-11
Single-Alternative Decision
Structures
4.2
Start
Penguin turns to
face hole
Hole
wider than
penguin?
F
End
T
Penguin walks to
center of hole
Penguin falls
into hole
4-12
4.2
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 is
true
4-13
4.2
Nested If/Else
Instructions
Start
Penguin faces hole
False
“Too Far!”
Within
2 meters
False
“Drats!”
True
Hole wider?
True
Penguin walks
Penguin falls in
End
4-14
4.3
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
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 conditions
o
And
o
Or
o
Boolean: A and B: both must be true to be true
In Alice: Both A and B
Boolean: A or B: one or both must be true to be true
In Alice: Either A or B, or both
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
o
Select desired Boolean function
Drag to conditional instruction like If/Else Condition
4.3
Logical Operators
Tests more than
true/false…can do
complex testing!
o
o
o
Test two conditions to
see if they BOTH are
true!
Or ONLY one condition
is true!
Or NEITHER condition
is true!
4-20
Example
Can combine multiple conditions
Example:
o
o
Penguin within 2 meters
And circle is wider than penguin
Similar to nested If/Else but does not do what is in second
Else statement
o
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 is
o
o
o
Color
Opacity
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 perform
o
Select desired comparison
Another menu appears allowing you to select
value that you want to compare property to
o
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
Else
o
Frog says “EEK! Go away!”
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