Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second...
-
date post
20-Dec-2015 -
Category
Documents
-
view
219 -
download
2
Transcript of Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second...
![Page 1: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/1.jpg)
Chapter 5: More on the Selection Structure
Programming with Microsoft Visual Basic .NET, Second Edition
![Page 2: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/2.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 2
Nested, If/ElseIf/Else, and Case Selection StructuresLesson A Objectives
• Include a nested selection structure in pseudocode and in a flowchart
• Code a nested selection structure
• Desk-check an algorithm
• Recognize common logic errors in selection structures
![Page 3: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/3.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 3
Nested, If/ElseIf/Else, and Case Selection Structures
Lesson A Objectives (continued)• Code an If/ElseIf/Else selection structure
• Include a Case selection structure in pseudocode and in a flowchart
• Code a Case selection structure
• Write code that uses the Is, TypeOf…Is, and Like comparison operators
![Page 4: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/4.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 4
Nested Selection Structures
• When a selection structure’s true path or its false path contains another selection structure, the inner selection structure is referred to as a nested selection structure
![Page 5: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/5.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 5
Nested Selection Structures (continued)
Message Criteria
You are too young to vote Person is younger than 18
You can vote Person is at least 18 years old and is registered to vote
You need to register before you can vote
Person is at least 18 years old and is not registered to vote
![Page 6: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/6.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 6
Nested Selection Structures (continued)
Part of Figure 5-3: Pseudocode showing the nested selection structure in the true path
![Page 7: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/7.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 7
Nested Selection Structures (continued)
Part of Figure 5-5: Pseudocode showing the nested selection structure in the false path
![Page 8: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/8.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 8
Logic Errors in Selection Structures
• Common logic errors with selection structures:
1. Using a logical operator when a nested selection structure is needed
2. Reversing the primary and secondary decisions
3. Using an unnecessary nested selection structure
![Page 9: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/9.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 9
Logic Errors in Selection Structures (continued)
• An algorithm is the set of step-by-step instructions that accomplish a task
• Desk-checking means that you use sample data to walk through each of the steps in the algorithm manually, just as if you were the computer
• Desk-checking is also called hand-tracing
![Page 10: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/10.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 10
Logic Errors in Selection Structures (continued)
Figure 5-7: A correct algorithm for the vacation procedure
![Page 11: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/11.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 11
Logic Errors in Selection Structures (continued)
Figure 5-8: Results of desk-checking the correct algorithm shown in Figure 5-7
![Page 12: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/12.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 12
Using a Logical Operator Rather Than a Nested Selection Structure
Figure 5-9: Correct algorithm and an incorrect algorithm containing the first logic error
![Page 13: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/13.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 13
Reversing the Primary and Secondary Decisions
Figure 5-11: Correct algorithm and an incorrect algorithm containing the second logic error
![Page 14: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/14.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 14
Using an Unnecessary Nested Selection Structure
Figure 5-13: Correct algorithm and an inefficient algorithm containing the third logic error
![Page 15: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/15.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 15
The If/ElseIf/Else Form of the Selection Structure
• Figure 5-16 shows two versions of the Visual Basic .NET code for the grade procedure
Figure 5-15: Letter grades and messages
![Page 16: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/16.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 16
The If/ElseIf/Else Form of the Selection Structure (continued)
Figure 5-16: Two versions of the Visual Basic .NET code for the grade procedure
![Page 17: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/17.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 17
The Case Form of the Selection Structure
Figure 5-18: Syntax and an example of the Select Case statement
![Page 18: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/18.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 18
Desk-Checking the Grade Procedure
Figure 5-19: Results of desk-checking the grade procedure shown in Figure 5-18
![Page 19: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/19.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 19
Using To and Is in an ExpressionList
• To keyword: specifies a range of minimum and maximum values
Case 1 To 5
• Is keyword: specifies a range of values when you know only one value, either the minimum or the maximum
Case Is > 10
![Page 20: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/20.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 20
The Is, TypeOf…Is, and Like Comparison Operators
• The Is operator determines whether two object references refer to the same object
• An object reference is a memory address within the computer’s internal memory; it indicates where in memory the object is stored
![Page 21: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/21.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 21
The Is, TypeOf…Is, and Like Comparison Operators (continued)
• The TypeOf…Is operator determines whether an object is a specified type
• The Like operator uses pattern matching to determine if one string is equal to another string
![Page 22: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/22.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 22
The Is Comparison Operator
• Use the Is operator to determine whether two object references refer to the same object
• An object reference is a memory address within the computer’s internal memory
• Syntax: objectReference1 Is objectReference2
• The Is operator evaluates to True if: objectReference1 is the same as objectReference2; otherwise it evaluates to False
![Page 23: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/23.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 23
The TypeOf…Is Comparison Operator
• Use the TypeOf…Is operator to determine whether an object is a specified type
• Syntax: TypeOf object Is objectType
• The TypeOf…Is operator evaluates to True if the type of object is the same as objectType; otherwise it evaluates to False
![Page 24: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/24.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 24
The Like Comparison Operator
• The Like operator allows you to use pattern matching to determine whether one string is equal to another string
• Syntax: string Like pattern• Both string and pattern must be String
expressions• pattern can contain one or more of the pattern-
matching characters• The Like operator evaluates to True if string
matches pattern; otherwise it evaluates to False
![Page 25: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/25.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 25
The Like Comparison Operator (continued)
Figure 5-24: Pattern-matching characters
![Page 26: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/26.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 26
The Math Practice ApplicationLesson B Objectives
• Include a group of radio buttons in an interface
• Designate a default radio button
• Include a check box in an interface
• Create a user-defined Sub procedure
• Generate random numbers using the Random object and the Random.Next method
![Page 27: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/27.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 27
The Math Practice ApplicationLesson B Objectives (continued)
• Call a user-defined Sub procedure
• Invoke a radio button control’s Click event procedure from code
• Process code when a form is first loaded into the computer’s memory
![Page 28: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/28.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 28
Completing the User Interface
• The application should display the addition or subtraction problem on the screen, then allow the student to enter the answer, and then verify that the answer is correct
• If the student’s answer is not correct, the application should give the student as many chances as necessary to answer the problem correctly
![Page 29: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/29.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 29
Completing the User Interface (continued)
Figure 5-28: Sketch of the Math Practice application’s user interface
![Page 30: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/30.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 30
Adding a Radio Button to the Form
• RadioButton control:
– Limits the user to one choice in a group of options
– Should have a unique access key, which allows the user to select the button using the keyboard
![Page 31: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/31.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 31
Adding a Radio Button to the Form (continued)
• The selected button is called the default radio button
• The selected button is either the radio button that represents the user’s most likely choice or the first radio button in the group
• Designate a radio button as the default radio button by setting the button’s Checked property to the Boolean value True
![Page 32: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/32.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 32
Adding a Check Box Control to the Form
• Checkbox controls: used for adding a check box control to the interface
• Use check box controls to allow the user to select any number of choices from a group of one or more independent and nonexclusive choices
• Any number of check boxes on a form can be selected at the same time
![Page 33: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/33.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 33
Coding the Math Practice Application
• The Click event procedures for seven of the controls and the Load event for the MathForm need to be coded
• In this lesson, you code all but the Click event procedures for the uiExitButton control and the uiCheckAnswerButton and uiSummaryCheckBox controls (which you code in Lesson C)
![Page 34: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/34.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 34
Creating a User-Defined Sub Procedure
• A user-defined Sub procedure is a collection of code that can be invoked from one or more places in an application
• Enter Private Sub SubName() just above the End Class statement
• The End Sub will automatically be generated
![Page 35: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/35.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 35
Creating a User-Defined Sub Procedure (continued)
• The rules for naming a user-defined Sub procedure are the same as for naming variables
• Sub procedure names should be entered using Pascal case
– Capitalize the first letter in the name and the first letter of each subsequent word in the name
![Page 36: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/36.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 36
Generating Random Numbers
• Visual Studio .NET provides a pseudo-random number generator
– Produces a sequence of numbers that meet certain statistical requirements for randomness
• Dim GeneratorRandom As New Random()
• Methods
– Next(minValue, maxValue)
– NextDouble()
![Page 37: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/37.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 37
Coding the uiGrade1RadioButton and uiGrade2RadioButton Click
Event Procedures• Use the Visual Basic .NET Call statement to call
(invoke) a user-defined Sub procedure
• Syntax: Call procedurename([argumentlist])
• The square brackets in the syntax indicate that the argumentlist is optional
![Page 38: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/38.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 38
Coding the uiAdditionRadioButton and uiSubtractionRadioButton Click
Event Procedures• When the user clicks the uiAdditionRadioButton
control or the uiSubtractionRadioButton control, the control’s Click event procedure should:
– Display the appropriate mathematical operator (either a plus sign or a minus sign) in the uiOperatorPictureBox control
– Generate and display two random numbers in the uiNum1Label and uiNum2Label controls
![Page 39: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/39.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 39
Coding the Form’s Load Event Procedure
• Instructions entered in the form’s Load event procedure are processed when the application is started and the form is loaded into memory
• To automatically display an addition problem when the Math Practice interface first appears, enter one of the following statements in the MathForm’s Load event procedure– Call GenerateAndDisplayNumbers()– Me.uiAdditionRadioButton.PerformClick()
![Page 40: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/40.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 40
Completing the Math Practice Application
Lesson C Objectives• Select the existing text in a text box control
• Code a check box control’s Click event procedure
• Display and hide a control
![Page 41: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/41.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 41
Coding the uiCheckAnswerButton Click Event Procedure
• Need to code the Click event procedures for the uiCheckAnswerButton and the uiDisplaySummaryCheckBox controls
• Figure 5-49 shows the pseudocode for the uiCheckAnswerButton control’s Click event procedure
![Page 42: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/42.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 42
Coding the uiCheckAnswerButton Click Event Procedure (continued)
Figure 5-49: Pseudocode for the uiCheckAnswerButton control’s Click event procedure
![Page 43: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/43.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 43
Coding the uiSummaryCheckBox Click Event Procedure
• The uiSummaryCheckBox control’s Click event procedure is responsible for both displaying and hiding the uiSummaryGroupBox control
• The procedure should:
– Display the group box control when the user selects the check box
– Hide the group box control when the user deselects the check box
![Page 44: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/44.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 44
Summary
• To create a selection structure that evaluates both a primary and a secondary decision, place (nest) the selection structure for the secondary decision within either the true path or false path of the selection structure for the primary decision
• To code a multiple-path (or extended) selection structure, use either the If…Then…Else statement or the Select Case statement
![Page 45: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/45.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 45
Summary (continued)
• To limit the user to only one choice in a group of two or more related and mutually exclusive choices, add a radio button control
• To allow the user to select any number of choices from a group of one or more independent and nonexclusive choices, add a check box control
• To call (invoke) a user-defined Sub procedure, use the Call statement
![Page 46: Chapter 5: More on the Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.](https://reader035.fdocuments.in/reader035/viewer/2022062421/56649d4a5503460f94a2761d/html5/thumbnails/46.jpg)
Programming with Microsoft Visual Basic .NET, Second Edition 46
Summary (continued)
• To process code when the form is loaded into memory, enter the code in the form’s Load event procedure
• To display or hide a control, set the control’s Visible property
• To code a check box control’s Click event procedure, use a selection structure to determine whether the check box was either selected or deselected by the user