260 likes | 470 Views
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
E N D
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 • What nested instructions are • What relational operators are and how they are used
4.1 Boolean Variables • Boolean Variables hold only two values • True • False • Initial Value is usuallyset to be “TRUE” • What it looks like in variable definitions
4.1 Boolean Functions • Boolean Functions return one value from the choice of • True • False • Also primitive functions that are Boolean • User prompted to answer Yes (true) or No (false) • Ask the following question:
4.2 If/Else Decision Structure • Used to check a condition and make a decision • If a Boolean condition is • True then one set of instructions are executed • False then a different set is executed • All previous instructions have been consecutively executed • One • After • The • Other
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 executed • They do NOT always execute • Executed only under certain conditions If the hole is wider than the penguin penguin falls down the hole Else penguin says “Drats!” End If TRUE FALSE
4.2 Flowchart Penguin falls down into the hole Decision Structure
4.2 If/Else Tile If/Else Statement Location
4.2 Empty If/Else instruction Using If/Else Instruction • Two empty “slots” in instruction • 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.2 Single-Alternative Decision Structures • If/Else is a dual-alternative decision structure • Two paths of execution • One following TRUE • Other following FALSE • Single-alternative decision structures are similar to the dual-alternative • The ELSE part is empty
4.2 Start Penguin turns toface hole Holewider thanpenguin? Penguin walks to center of hole Penguin fallsinto hole End Single-Alternative Decision Structures T F
4.2 Nested If/Else Instructions • When an If/Else instruction is placed inside another If/Else instruction • The inner If/Elseexecutes only if the outer If/Else istrue
4.2 Nested If/Else Instructions Start Penguin faces hole Within 2 meters False True “Too Far!” Hole wider? False True “Drats!” Penguin walks Penguin falls in End
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
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
Demonstration in Robot Example • Concept illustrated • 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 • And • Boolean: A and B: both must be true to be true • In Alice: Both A and B • Or • 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
Choose World object Then choose functions Select desired Boolean function Drag to conditional instruction like If/Else Condition Boolean Logic in Functions
4.3 Logical Operators • Tests more than true/false…can do complex testing! • Test two conditions to see if they BOTH are true! • Or ONLY one condition is true! • Or NEITHER condition is true!
Example • Can combine multiple conditions • Example: • 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 • Penquin say “too far away“
Testing Value of Object’s Property • Sometimes you might want to see what a property of an object is • Color • Opacity • isShowing
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 • Select desired comparison • Another menu appears allowing you to select value that you want to compare property to • Ex: color property will give list of colors
Storyboard • Frog and ladybug are in garden • Ladybug says “Excuse me” • Frog turns to face ladybug • If ladybug’s color is red • Frog says “EEK! Go away!” • Else • Frog says “Good Morning” • Endif
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