Microsoft Visual Basic 2005 Reloaded Second Edition Chapter
Microsoft Visual Basic 2005: Reloaded Second Edition Chapter 4 Making Decisions in a Program Microsoft Visual Basic 2005: Reloaded, Second Edition
Objectives After studying this chapter, you should be able to: • Include the selection structure in pseudocode and in a flowchart • Write an If…Then…Else statement • Write code that uses comparison operators and logical operators • Create a variable having block-scope • Concatenate strings Microsoft Visual Basic 2005: Reloaded, Second Edition 2
Objectives (continued) • • • Use the Control. Chars. New. Line constant Change the case of a string Determine whether a string contains data Display a message in a message box Include a nested selection structure in pseudocode, a flowchart, and code Microsoft Visual Basic 2005: Reloaded, Second Edition 3
Objectives (continued) • Code an If/Else selection structure • Include a Case selection structure in pseudocode, a flowchart, and code • Generate random numbers Microsoft Visual Basic 2005: Reloaded, Second Edition 4
The Selection Structure • Selection structure (or decision structure): – Used to select a path to take based on the outcome of a decision or comparison • Condition: – The decision to be made – Results in a Boolean (True or False) answer • Four forms of selection structure: – – If If/Else Case Microsoft Visual Basic 2005: Reloaded, Second Edition 5
The Selection Structure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 6
Writing Pseudocode for the If and If/Else Selection Structures • If selection structure: contains one set of instructions to process when the condition is true • If/Else selection structure: – Contains two sets of instructions – One set is processed when the condition is true – The other set is processed when the condition is false • True path: path to follow when condition is true • False path: path to follow when condition is false Microsoft Visual Basic 2005: Reloaded, Second Edition 7
Writing Pseudocode for the If and If/Else Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 8
Flowcharting the If and If/Else Selection Structures • Selection/repetition symbol: – Diamond shape – Represents both selection and repetition structures – One flowline entering and two flowlines leaving Microsoft Visual Basic 2005: Reloaded, Second Edition 9
Flowcharting the If and If/Else Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 10
Coding the If and If/Else Selection Structures Microsoft Visual Basic 2005: Reloaded, Second Edition 11
Coding the If and If/Else Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 12
Coding the If and If/Else Selection Structures (continued) • Else clause: an optional part of the If statement • Statement block: set of statements terminated by an Else or End If Microsoft Visual Basic 2005: Reloaded, Second Edition 13
Comparison Operators • Comparison operators (or relational operators): – Used as part of the condition in an If statement • Most commonly used comparison operators: – – – Equal to: = Greater than: > Greater than or equal to: >= Less than: < Less than or equal to: <= Not equal to: <> Microsoft Visual Basic 2005: Reloaded, Second Edition 14
Comparison Operators (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 15
Comparison Operators (continued) • Comparison operators: – Have no order of precedence – Are evaluated from left to right in an expression Microsoft Visual Basic 2005: Reloaded, Second Edition 16
Comparison Operators (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 17
Using Comparison Operators – Swapping Numeric Values • Pseudocode for a procedure that displays highest and lowest of two numbers: Microsoft Visual Basic 2005: Reloaded, Second Edition 18
Using Comparison Operators – Swapping Numeric Values (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 19
Using Comparison Operators – Swapping Numeric Values (continued) • Block scope: the scope of a variable created within a block • Block-scope variable: can only be used within the statement block in which it was declared • Concatenation operator (&): links two strings • Control. Chars. New. Line constant: –Advances the insertion point to the next line Microsoft Visual Basic 2005: Reloaded, Second Edition 20
Using Comparison Operators – Swapping Numeric Values (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 21
Using Comparison Operators – Swapping Numeric Values (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 22
Using Comparison Operators – Swapping Numeric Values (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 23
Using Comparison Operators – Swapping Numeric Values (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 24
Using Comparison Operators – Swapping Numeric Values (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 25
Using Comparison Operators – Example 2 • Pseudocode for a procedure to allow the user to display the sum or difference of two numbers: Microsoft Visual Basic 2005: Reloaded, Second Edition 26
Using Comparison Operators – Example 2 (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 27
Using Comparison Operators – Example 2 (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 28
Using Comparison Operators – Example 2 (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 29
Using Comparison Operators – Example 2 (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 30
Using the To. Upper and To. Lower Methods • • String comparisons in Visual Basic are case-sensitive To. Upper method: converts a string to uppercase To. Lower method: converts a string to lowercase To. Upper and To. Lower can be used to permanently or temporarily convert a variable’s contents Microsoft Visual Basic 2005: Reloaded, Second Edition 31
Using the To. Upper and To. Lower Methods (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 32
Using the To. Upper and To. Lower Methods (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 33
Using the To. Upper and To. Lower Methods (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 34
Logical Operators • Logical operators (or Boolean operators): – Used to combine or more conditions • Compound condition: a combination of conditions using logical operator(s) Microsoft Visual Basic 2005: Reloaded, Second Edition 35
Logical Operators (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 36
Logical Operators (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 37
Logical Operators (continued) • Truth tables: used to evaluate logical operators in an expression • Short-circuit evaluation: an evaluation in which the secondition may not be evaluated • And and Or operations always evaluate both conditions • And. Also and Or. Else operations do not evaluate secondition if the first condition is false Microsoft Visual Basic 2005: Reloaded, Second Edition 38
Logical Operators (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 39
Logical Operators (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 40
Using the Truth Tables • Use And or And. Also when both conditions must be true to give a true result • Use Or or Or. Else when one or both conditions must be true to give a true result • Use XOr when exactly one condition must be true to give a true result • Logical operators are evaluated after arithmetic or comparison operators in an expression Microsoft Visual Basic 2005: Reloaded, Second Edition 41
Using the Truth Tables (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 42
Using the Truth Tables (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 43
Using Logical Operators in an If…Then…Else Statement • Data validation: – Verifying that the input data is within the expected range • Use an If…Then…Else statement to validate input data Microsoft Visual Basic 2005: Reloaded, Second Edition 44
Using Logical Operators in an If…Then…Else Statement (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 45
Using Logical Operators in an If…Then…Else Statement (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 46
Using Logical Operators in an If…Then…Else Statement (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 47
The String. Is. Null. Or. Empty Method • String. Is. Null. Or. Empty method: determine if a control’s Text property or String variable contains data Microsoft Visual Basic 2005: Reloaded, Second Edition 48
The String. Is. Null. Or. Empty Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 49
Modifying the Skate-Away Sales Application Microsoft Visual Basic 2005: Reloaded, Second Edition 50
Modifying the Skate-Away Sales Application (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 51
Modifying the Skate-Away Sales Application (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 52
Modifying the Skate-Away Sales Application (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 53
The Message. Box. Show Method • Message. Box. Show method: – Display message box with text, buttons and an icon • When a message box is displayed, the program waits until the user selects a button • Message. Box. Show returns an integer value indicating which button the user selected Microsoft Visual Basic 2005: Reloaded, Second Edition 54
The Message. Box. Show Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 55
The Message. Box. Show Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 56
The Message. Box. Show Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 57
The Message. Box. Show Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 58
The Message. Box. Show Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 59
The Message. Box. Show Method (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 60
Nested Selection Structures • Nested selection structure: a selection structure that is completely contained within another selection structure • Primary decision: decision made by the outer selection structure • Secondary decision: decision made by the inner selection structure Microsoft Visual Basic 2005: Reloaded, Second Edition 61
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 62
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 63
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 64
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 65
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 66
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 67
Nested Selection Structures (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 68
The If/Else Selection Structure • Need a procedure to display a message based on a letter grade: Letter grade Message A Excellent B Above Average C Average D Below Average F Below Average Microsoft Visual Basic 2005: Reloaded, Second Edition 69
The If/Else Selection Structure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 70
The If/Else Selection Structure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 71
The Case Selection Structure • Case selection structure: – Used when there are many paths from which to choose – Simpler and clearer than using If/Else Microsoft Visual Basic 2005: Reloaded, Second Edition 72
The Case Selection Structure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 73
The Case Selection Structure (continued) • Case selection structure in a flowchart: – Uses the diamond symbol – One flowline into the diamond, but many flowlines out of the diamond • Case selection structure evaluates an expression to determine which path to take • Case selection structure: – Begins with Select Case – Ends with End Select – Has one Case clause for each possible value Microsoft Visual Basic 2005: Reloaded, Second Edition 74
The Case Selection Structure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 75
The Case Selection Structure (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 76
Using To and Is in an Expression. List • TO and IS keywords: specify a range of values in a Case clause’s expression list • TO: – When you know both the upper and lower bounds of the range • IS: – When you know only one end of the range – Used with a comparison operator Microsoft Visual Basic 2005: Reloaded, Second Edition 77
Using To and Is in an Expression List (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 78
Generating Random Integers • Pseudo-random number generator: produces a sequence of numbers that meets certain statistical requirements for randomness • Random. Next method: – Generates a random integer – Can specify a minimum and maximum value Microsoft Visual Basic 2005: Reloaded, Second Edition 79
Generating Random Integers (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 80
Generating Random Integers (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 81
Generating Random Integers (continued) Microsoft Visual Basic 2005: Reloaded, Second Edition 82
Programming Tutorial Microsoft Visual Basic 2005: Reloaded, Second Edition 83
Programming Example Microsoft Visual Basic 2005: Reloaded, Second Edition 84
Summary • Selection structure is used for decisions • Four forms of selection structures: If, If/Else, and Case • Diamond symbol represents a decision in a flowchart • Expressions with comparison operators will result in an answer of True or False • Variables declared within a selection expression have block-level scope Microsoft Visual Basic 2005: Reloaded, Second Edition 85
Summary (continued) • Concatenation: linking two strings together • Use logical operators to create compound conditions • String. Is. Null. Or. Empty method will determine if a string contains data • Message. Box. Show method returns an integer indicating which button was chosen • Selection structures can be nested Microsoft Visual Basic 2005: Reloaded, Second Edition 86
Summary (continued) • Use If/Else or Case structures when there are several possible alternative outcomes • Use TO keyword to specify a range of valid values when both the lower and upper bound are known • Use IS keyword with a comparison operator to specify a lower or upper bound but not both • Use the pseudo-random number generator to generate random numbers Microsoft Visual Basic 2005: Reloaded, Second Edition 87
- Slides: 87