Chapter 4

advertisement
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
Download