Microsoft Visual Basic 2008 Reloaded Fourth Edition Chapter
Microsoft Visual Basic 2008: Reloaded Fourth Edition Chapter Four Making Decisions in a Program
Objectives After studying this chapter, you should be able to: • Include the selection structure in pseudocode and in a flowchart • Explain the difference between single-alternative and dual-alternative selection structures • Code a selection structure using the If…Then…Else statement • Include comparison operators and logical operators in a selection structure’s condition • Create a block-level variable Microsoft Visual Basic 2010: Reloaded, Fourth Edition 2
Objectives (cont'd. ) • Concatenate strings • Use the Control. Chars. New. Line constant • Change the case of a string • Include a check box in an interface • Generate random numbers Microsoft Visual Basic 2010: Reloaded, Fourth Edition 3
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 • Single-alternative selection structure: performs a set of tasks only when the condition is true • True path: the tasks to perform when the condition is true Microsoft Visual Basic 2010: Reloaded, Fourth Edition 4
The Selection Structure (cont’d. ) • Dual-alternative selection structure: contains one set of tasks to perform when the condition is true and a different set of tasks to perform when the condition is false • False path: the tasks to perform when the condition is false • Pseudocode uses if…end if to denote a selection structure and else to denote the false path – Indent instructions within the selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 5
The Selection Structure (cont'd. ) Figure 4 -1: Selection structures you might use today Microsoft Visual Basic 2010: Reloaded, Fourth Edition 6
The Selection Structure (cont'd. ) Figure 4 -1: Selection structures you might use today (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 7
The Selection Structure (cont'd. ) Figure 4 -2: Problem specification for Mountain Biking Figure 4 -3: Interface for the Mountain Biking application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 8
The Selection Structure (cont'd. ) Figure 4 -4: Pseudocode containing only the sequence structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 9
The Selection Structure (cont'd. ) Figure 4 -5: Modified problem specification and pseudocode containing a single-alternative selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 10
Figure 4 -6: Single-alternative selection structure shown in a flowchart Microsoft Visual Basic 2010: Reloaded, Fourth Edition 11
Figure 4 -7: Modified problem specification and pseudocode containing a dual-alternative selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 12
Figure 4 -8: Dual-alternative selection structure shown in a flowchart Microsoft Visual Basic 2010: Reloaded, Fourth Edition 13
Coding Single-Alternative and Dual. Alternative Selection Structures • If…Then…Else statement: used to code singlealternative and dual-alternative selection structures – Else clause: an optional part of the If statement • Only used for the dual-alternative selection structure – Condition must be a Boolean expression that evaluates to either True or False • Can contain variables, literal constants, named constants, properties, methods, arithmetic operators, comparison operators, and logical operators • Statement block: set of statements in the true path or the false path Microsoft Visual Basic 2010: Reloaded, Fourth Edition 14
Figure 4 -9: How to use the If…Then…Else statement Microsoft Visual Basic 2010: Reloaded, Fourth Edition 15
Figure 4 -9: How to use the If…Then…Else statement (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 16
Comparison Operators • Comparison operators (or relational operators): – Used as part of the condition in an If…Then…Else statement to compare two values • 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 2010: Reloaded, Fourth Edition 17
Figure 4 -10: How to use comparison operators in a condition Microsoft Visual Basic 2010: Reloaded, Fourth Edition 18
Comparison Operators (cont’d. ) Figure 4 -10: How to use comparison operators in a condition (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 19
Comparison Operators (cont'd. ) • Comparison operators: – Have no order of precedence – Are evaluated from left to right in an expression – Are evaluated after any arithmetic operators in the expression • All expressions containing comparison operators evaluate to True or False only Microsoft Visual Basic 2010: Reloaded, Fourth Edition 20
Comparison Operators (cont'd. ) Figure 4 -11: Evaluation steps for an expression containing arithmetic and comparison operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 21
Comparing Numeric Values • Auction House application displays highest and lowest of two bids entered by the user Figure 4 -12: Sample run of the Auction House application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 22
Comparing Numeric Values (cont'd. ) Figure 4 -13: Pseudocode containing a single-alternative selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 23
Figure 4 -14: Flowchart containing a single-alternative selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 24
Comparing Numeric Values (cont'd. ) Figure 4 -15: Code entered in the Display button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 25
Comparing Numeric Values (cont'd. ) Figure 4 -15: Code entered in the Display button’s Click event procedure (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 26
Comparing Numeric Values (cont'd. ) • Block-level variables: declared within a statement block and remain in memory until the procedure ends • Block scope: A block-scope variable can only be used within the statement block in which it was declared • Concatenation operator (&): connects or links two strings together • Control. Chars. New. Line constant: – Advances the insertion point to the next line Microsoft Visual Basic 2010: Reloaded, Fourth Edition 27
Comparing Numeric Values (cont'd. ) Figure 4 -16: Illustration of the swapping concept Microsoft Visual Basic 2010: Reloaded, Fourth Edition 28
Comparing Numeric Values (cont'd. ) Figure 4 -17: How to concatenate strings Microsoft Visual Basic 2010: Reloaded, Fourth Edition 29
Comparing Strings • Addition and Subtraction Calculator application: displays the sum or difference of two numbers Figure 4 -18: Sample run of the Addition and Subtraction Calculator application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 30
Comparing Strings (cont'd. ) Figure 4 -19: Pseudocode containing a dual-alternative selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 31
Figure 4 -20: Flowchart containing a dual-alternative selection structure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 32
Comparing Strings (cont'd. ) • Max. Length property: text box property that specifies the maximum number of characters that can be entered • Character. Casing property: text box property that indicates if text should remain as typed or be converted to uppercase or lowercase Microsoft Visual Basic 2010: Reloaded, Fourth Edition 33
Figure 4 -21: Calculate button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 34
The To. Upper and To. Lower Methods • String comparisons in Visual Basic are casesensitive • 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 2010: Reloaded, Fourth Edition 35
The To. Upper and To. Lower Methods (cont’d. ) Figure 4 -22: How to use the To. Upper and To. Lower methods Microsoft Visual Basic 2010: Reloaded, Fourth Edition 36
The To. Upper and To. Lower Methods (cont’d. ) Figure 4 -22: How to use the To. Upper and To. Lower methods (cont'd. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 37
The To. Upper and To. Lower Methods (cont’d. ) Figure 4 -22: How to use the To. Upper and To. Lower methods (cont'd. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 38
Figure 4 -23: Examples of using the To. Upper method in the calc. Button Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 39
Figure 4 -23: Examples of using the To. Upper method in the calc. Button Click event procedure (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 40
Comparing Boolean Values • Check boxes: used to offer the user one or more independent and nonexclusive items from which to choose Figure 4 -24: A different interface for the Addition and Subtraction Calculator application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 41
Comparing Boolean Values (cont’d. ) Figure 4 -25: Click event procedures for the subtraction. Check. Box and calc. Button Microsoft Visual Basic 2010: Reloaded, Fourth Edition 42
Comparing Boolean Values (cont’d. ) Figure 4 -25: Click event procedures for the subtraction. Check. Box and calc. Button (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 43
Logical Operators • Logical operators (or Boolean operators): – Used to combine two or more conditions into one compound condition • Compound condition: a combination of conditions using logical operator(s) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 44
Logical Operators (cont'd. ) Figure 4 -26: How to use logical operators in a condition Microsoft Visual Basic 2010: Reloaded, Fourth Edition 45
Logical Operators (cont'd. ) Figure 4 -26: How to use logical operators in a condition (cont'd. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 46
Figure 4 -26: How to use logical operators in a condition (cont'd. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 47
Logical Operators (cont'd. ) • Truth tables: used to evaluate logical operators in an expression • Short-circuit evaluation: an evaluation in which the secondition may not be evaluated • And. Also evaluates to True only when both subconditions are True • Or. Else evaluates to False only when both subconditions are False • And. Also and Or. Else operations do not evaluate the secondition if the first condition is false Microsoft Visual Basic 2010: Reloaded, Fourth Edition 48
Logical Operators (cont'd. ) Figure 4 -27: Truth tables for the And. Also and Or. Else logical operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 49
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 • Remember: logical operators are evaluated after arithmetic or comparison operators in an expression Microsoft Visual Basic 2010: Reloaded, Fourth Edition 50
The Carroll Company Application • Data validation: – Process of verifying that the input data is within the expected range Figure 4 -28: Two ways of writing the calc. Button Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 51
Figure 4 -28: Two ways of writing the calc. Button Click event procedure (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 52
The Carroll Company Application (cont'd. ) Figure 4 -29: Sample run of the Carroll Company application using valid data Figure 4 -30: Sample run of the Carroll Company application using invalid data Microsoft Visual Basic 2010: Reloaded, Fourth Edition 53
Summary of Operators Figure 4 -31: Listing of arithmetic, concatenation, comparison, and logical operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 54
Summary of Operators (cont’d. ) Figure 4 -31: Listing of arithmetic, concatenation, comparison, and logical operators (cont’d. ) Microsoft Visual Basic 2010: Reloaded, Fourth Edition 55
Generating Random Integers • Pseudo-random number generator: a device that produces a sequence of numbers that meets certain statistical requirements for randomness • Random object: represents a pseudo-random number generator • Random. Next method: – Generates a random integer – Can specify a minimum and maximum value Microsoft Visual Basic 2010: Reloaded, Fourth Edition 56
Figure 4 -32: How to generate random integers Microsoft Visual Basic 2010: Reloaded, Fourth Edition 57
Generating Random Integers (cont'd. ) Figure 4 -33: Sample run of the Random Integers application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 58
Generating Random Integers (cont'd. ) Figure 4 -34: Generate button’s Click event procedure Microsoft Visual Basic 2010: Reloaded, Fourth Edition 59
Programming Tutorial 1 Figure 4 -36: Main. Form for the Find the Mouse Game application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 60
Programming Tutorial 2 Figure 4 -44: Main. Form for the Greenview Health Club application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 61
Programming Example Figure 4 -50: Main. Form in the Fat Calculator application Microsoft Visual Basic 2010: Reloaded, Fourth Edition 62
Summary • Selection structure allows a procedure to make a decision and then take the appropriate action • Three types of selection structures: singlealternative, dual-alternative, and multiple-alternative • Diamond symbol represents a decision in a flowchart • Expressions with comparison operators will result in an answer of True or False • Comparison operators are evaluated from left to right in expressions, after arithmetic operators Microsoft Visual Basic 2010: Reloaded, Fourth Edition 63
Summary (cont'd. ) • Variables declared within a selection expression have block-level scope • Concatenation: connecting or linking two strings together with the concatenation operator (&) • Control. Chars. Newline advances the insertion point to the next line in a control • String comparisons are case-sensitive • Use To. Upper and To. Lower methods to temporarily convert the case of a string Microsoft Visual Basic 2010: Reloaded, Fourth Edition 64
Summary (cont'd. ) • Use check boxes to provide the user with one or more independent and nonexclusive choices • Use logical operators to create compound conditions • An expression containing a logical operator will evaluate to either True or False • Logical operators have an order of precedence and are evaluated after arithmetic and comparison operators • Use the pseudo-random number generator to generate random numbers Microsoft Visual Basic 2010: Reloaded, Fourth Edition 65
- Slides: 65