Chapter 4: The Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.
-
date post
18-Dec-2015 -
Category
Documents
-
view
228 -
download
1
Transcript of Chapter 4: The Selection Structure Programming with Microsoft Visual Basic.NET, Second Edition.
Chapter 4: The Selection Structure
Programming with Microsoft Visual Basic .NET, Second Edition
Programming with Microsoft Visual Basic .NET, Second Edition 2
The If…Then…Else Statement Lesson A Objectives
• Write pseudocode for the selection structure
• Create a flowchart to help you plan an application’s code
• Write an If...Then...Else statement
Programming with Microsoft Visual Basic .NET, Second Edition 3
The If…Then…Else Statement Lesson A Objectives (continued)
• Write code that uses comparison operators and logical operators
• Format numbers using the ToString method
• Change the case of a string
Programming with Microsoft Visual Basic .NET, Second Edition 4
The Selection Structure
• Use the selection structure to make a decision or comparison and select a particular set of tasks to perform
• The selection structure is also called the decision structure
• The condition must result in either a true (yes) or false (no) answer
Programming with Microsoft Visual Basic .NET, Second Edition 5
The Selection Structure (continued)
• If the condition is true, the program performs one set of tasks
• If the condition is false, there may or may not be a different set of tasks to perform
• Visual Basic .NET provides four forms of the selection structure: If, If/Else, If/ElseIf/Else, and Case
Programming with Microsoft Visual Basic .NET, Second Edition 6
Writing Pseudocode for If and If/Else Selection Structures
• An If selection structure contains only one set of instructions, which are processed when the condition is true
• An 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
Programming with Microsoft Visual Basic .NET, Second Edition 7
Flowcharting the If and If/Else Selection Structures
start/stop oval
process rectangle
input/output parallelogram
selection/repetition diamond
symbols are connected by flowlines
Programming with Microsoft Visual Basic .NET, Second Edition 8
Flowcharting the If and If/Else Selection Structures (continued)
T
F
TF
Programming with Microsoft Visual Basic .NET, Second Edition 9
Coding the If and If/Else Selection Structures
If condition Then
statement block containing one or more statements to be processed when the condition is true
[Else
statement block containing one or more statements to be processed when the condition is false]
End If
Programming with Microsoft Visual Basic .NET, Second Edition 10
Coding the If and If/Else Selection Structures
(continued)• The items in square brackets ([ ]) in the syntax
are optional
• You do not need to include the Else portion
• Words in bold are essential components of the statement
Programming with Microsoft Visual Basic .NET, Second Edition 11
Coding the If and If/Else Selection Structures
(continued)• Items in italic indicate where the programmer
must supply information pertaining to the current application
• The set of statements contained in the true path, as well as the statements in the false path, are referred to as a statement block
Programming with Microsoft Visual Basic .NET, Second Edition 12
Comparison Operators
= Is equal to
> Is Greater Than
>= Is Greater Than or Equal to
< Is Less Than
<= Is Less Than or Equal to
<> Is Not Equal to
Programming with Microsoft Visual Basic .NET, Second Edition 13
Comparison Operators (continued)
• Comparison operators are also referred to as relational operators
• All expressions containing a relational operator will result in either a true or false answer only
• Comparison operators are evaluated from left to right, and are evaluated after any mathematical operators
Programming with Microsoft Visual Basic .NET, Second Edition 14
Comparison Operators (continued)
10 + 3 < 5 * 2
• 5 * 2 is evaluated first, giving 10
• 10 + 3 is evaluated second, giving 13
• 13 < 10 is evaluated last, giving false
7 > 3 * 4 / 2
• 3 * 4 is evaluated first, giving 12
• 12 / 2 is evaluated second, giving 6
• 7 > 6 is evaluated last, giving true
Programming with Microsoft Visual Basic .NET, Second Edition 15
Comparison Operators (continued)
Using a Comparison Operator
Dim first, second As Integer
If (first > second) Then
Dim temp As Integer
temp = first
first = second
first = temp
End If
Programming with Microsoft Visual Basic .NET, Second Edition 16
Logical OperatorsNot Reverses the truth value of condition; false becomes
true and true becomes false.1
And All conditions connected by the And operator must be true for the compound condition to be true.
2
AndAlso All conditions connected by the AndAlso operator must be true for the compound condition to be true.
2
Or Only one of the conditions connected by the Or operator needs to be true for the compound condition to be true.
3
OrElse Only one of the conditions connected by the OrElse operator needs to be true for the compound condition to be true.
3
Xor One of the conditions connected by Xor must be true for the compound condition to be true.
4
Programming with Microsoft Visual Basic .NET, Second Edition 17
Logical Operators (continued)
• Truth table for Not operator
If condition is Value of Result is
True False
False True
Result = Not Condition
Programming with Microsoft Visual Basic .NET, Second Edition 18
Logical Operators (continued)
• Truth table for And operator
If condition1 is And condition2 is Value of Result is
True True True
True False False
False True False
False False False
Result = condition1 And Condition2
Programming with Microsoft Visual Basic .NET, Second Edition 19
Logical Operators (continued)
• Truth table for AndAlso operator
If condition1 is And condition2 is Value of Result is
True True True
True False False
False (not evaluated) False
Result = condition1 AndAlso Condition2
Programming with Microsoft Visual Basic .NET, Second Edition 20
Logical Operators (continued)
• Truth table for Or operator
If condition1 is And condition2 is Value of Result is
True True True
True False True
False True True
False False False
Result = condition1 Or Condition2
Programming with Microsoft Visual Basic .NET, Second Edition 21
Logical Operators (continued)
• Truth table for OrElse operator
If condition1 is And condition2 is Value of Result is
True (not evaluated) True
False True True
False False False
Result = condition1 OrElse Condition2
Programming with Microsoft Visual Basic .NET, Second Edition 22
Logical Operators (continued)
• Truth table for Xor operator
If condition1 is And condition2 is Value of Result is
True True True
True False False
False True True
False False False
Result = condition1 Xor Condition2
Programming with Microsoft Visual Basic .NET, Second Edition 23
Logical Operators (continued)
Figure 4-19: Order of precedence for arithmetic, comparison, and logical operators
Programming with Microsoft Visual Basic .NET, Second Edition 24
Using the ToString Method to Format Numbers
• Use the ToString method to format a number
• Syntax: variablename.ToString(formatString)
• variablename is the name of a numeric variable
Programming with Microsoft Visual Basic .NET, Second Edition 25
Using the ToString Method to Format Numbers (continued)
• formatString is a string that specifies the format
– Must be enclosed in double quotation marks
– Takes the form Axx:
• A is an alphabetic character called the format specifier
• xx is a sequence of digits called the precision specifier
Programming with Microsoft Visual Basic .NET, Second Edition 26
Comparing Strings
• Example 1: Using the OrElse operator
Dim letter As String
letter = Me.uiLetterTextBox.Text
If letter = “P” OrElse letter = “p” Then
Me.uiResultLabel.Text = “Pass”
Else
Me.uiResultLabel.Text = “Fail”
End if
Programming with Microsoft Visual Basic .NET, Second Edition 27
Comparing Strings (continued)
• Example 2: Using the AndAlso operator
Dim letter As String
letter = Me.uiLetterTextBox.Text
If letter <> “P” AndAlso letter <> “p” Then
Me.uiResultLabel.Text = “Fail”
Else
Me.uiResultLabel.Text = “Pass”
End if
Programming with Microsoft Visual Basic .NET, Second Edition 28
Comparing Strings (continued)
• Example 3: Correct, but less efficient, solution
Dim letter As String
letter = Me.uiLetterTextBox.Text
If letter = “P” OrElse letter = “p” Then
Me.uiResultLabel.Text = “Pass”
End If
If letter <> “P” AndAlso letter <> “p” Then
Me.uiResultLabel.Text = “Fail”
End if
Programming with Microsoft Visual Basic .NET, Second Edition 29
Comparing Strings (continued)
• Example 4: Using the ToUpper method
Dim letter As String
letter = Me.uiLetterTextBox.Text
If letter.ToUpper() = “P” Then
Me.uiResultLabel.Text = “Pass”
Else
Me.uiResultLabel.Text = “Fail”
End if
Programming with Microsoft Visual Basic .NET, Second Edition 30
The Monthly Payment Calculator Application
Lesson B Objectives
• Group objects using a GroupBox control
• Calculate a periodic payment using the Financial.Pmt method
• Create a message box using the MessageBox.Show method
• Determine the value returned by a message box
Programming with Microsoft Visual Basic .NET, Second Edition 31
Completing the User Interface
• Herman Juarez has asked you to create an application that he can use to calculate the monthly payment on a car loan
• To make this calculation, the application needs:
– The loan amount (principal)
– The annual percentage rate (APR) of interest
– The life of the loan (term) in years
Programming with Microsoft Visual Basic .NET, Second Edition 32
Completing the User Interface (continued)
Figure 4-31: Sketch of the Monthly Payment Calculator user interface
Programming with Microsoft Visual Basic .NET, Second Edition 33
Adding a Group Box Control to the Form
• Use the GroupBox tool in the Toolbox window to add a group box control to the interface
• A group box control serves as a container for other controls
• Use a group box control to visually separate related controls from other controls on the form
Programming with Microsoft Visual Basic .NET, Second Edition 34
Coding the uiCalcPayButton Click Event Procedure
• The uiCalcPayButton’s Click event procedure is responsible for:
– Calculating the monthly payment amount
– Displaying the result in the uiPaymentLabel control
• Figure 4-37 shows the pseudocode for the uiCalcPayButton’s Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition 35
Coding the uiCalcPayButton Click Event Procedure (continued)
Figure 4-37: Pseudocode for the uiCalcPayButton Click event procedure
Programming with Microsoft Visual Basic .NET, Second Edition 36
Using the Financial.Pmt Method
• Use the Visual Basic .NET Financial.Pmt method to calculate a periodic payment on either a loan or an investment
• Syntax: Financial.Pmt(Rate, NPer, PV[, FV, Due])
• Rate: interest rate per period
• NPer: total number of payment periods (the term)
Programming with Microsoft Visual Basic .NET, Second Edition 37
Using the Financial.Pmt Method (continued)
• PV: present value of the loan or investment; the present value of a loan is the loan amount, whereas the present value of an investment is zero
• FV: future value of the loan or investment; the future value of a loan is zero, whereas the future value of an investment is the amount you want to accumulate; if omitted, the number 0 is assumed
Programming with Microsoft Visual Basic .NET, Second Edition 38
Using the Financial.Pmt Method (continued)
• Due: due date of payments; can be either the constant DueDate.EndOfPeriod or the constant DueDate.BegOfPeriod; if omitted, DueDate.EndOfPeriod is assumed
Programming with Microsoft Visual Basic .NET, Second Edition 39
The MessageBox.Show Method
• Use the MessageBox.Show method to display a message box that contains text, one or more buttons, and an icon
• Syntax: MessageBox.Show(text, caption, buttons, icon[, defaultButton])
• text: text to display in the message box
• caption: text to display in the title bar of the message box
Programming with Microsoft Visual Basic .NET, Second Edition 40
The MessageBox.Show Method (continued)
• buttons: buttons to display in the message box
• icon: icon to display in the message box
• defaultButton: button automatically selected when the user presses Enter
Programming with Microsoft Visual Basic .NET, Second Edition 41
Coding the TextChanged Event
• A control’s TextChanged event occurs when the contents of a control’s Text property have changed as a result of:
– The user entering data into the control, or
– The application’s code assigning data to the control’s Text property
Programming with Microsoft Visual Basic .NET, Second Edition 42
Coding the TextChanged Event (continued)
• When the user makes a change to the information entered in the three text box controls, the Monthly Payment Calculator application should delete the monthly payment displayed in the uiPaymentLabel control
Programming with Microsoft Visual Basic .NET, Second Edition 43
Completing the Monthly Payment Calculator Application
Lesson C Objectives
• Specify the keys that a text box will accept
• Align the text in a label control
• Handle exceptions using a Try/Catch block
Programming with Microsoft Visual Basic .NET, Second Edition 44
Coding the KeyPress Event
• Template
Private Sub uiPrincipalTextBox_KeyPress( _
ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyPressEventArgs) _
Handles uiPrincipalTextBox.KeyPress
• Setting e.Handled = True will cancel the key
Programming with Microsoft Visual Basic .NET, Second Edition 45
Aligning the Text in a Label Control
• The TextAlign property controls the placement of the text in a label control
• The TextAlign property can be set to TopLeft (the default), TopCenter, TopRight, MiddleLeft, MiddleCenter, MiddleRight, BottomLeft, BottomCenter, or BottomRight
Programming with Microsoft Visual Basic .NET, Second Edition 46
Using a Try/Catch Block
• An exception is an error that occurs while a program is running
• Use the Try statement to catch (or trap) an exception when it occurs in a program
• Use a Catch statement to take the appropriate action to resolve the problem
• A block of code that uses both the Try and Catch statements is referred to as a Try/Catch block
Programming with Microsoft Visual Basic .NET, Second Edition 47
Using a Try/Catch Block (continued)
Try
one or more statements that might generate an exception
Catch [variablename As exceptionType]
one or more statements that will execute when an exceptionType exception occurs
[Catch [variablename As exceptionType]
one or more statements that will execute when an exceptionType exception occurs]
End Try
Programming with Microsoft Visual Basic .NET, Second Edition 48
Summary
• To evaluate an expression containing arithmetic, comparison, and logical operators, evaluate arithmetic operators first, then comparison operators, and then logical operators
• To code a selection structure, use the If...Then...Else statement
• To create a compound condition, use the logical operators
Programming with Microsoft Visual Basic .NET, Second Edition 49
Summary (continued)
• Use the GroupBox tool to add a group box control to the form; drag controls from the form or the Toolbox window into the group box control
• To calculate a periodic payment on either a loan or an investment, use the Financial.Pmt method
• To display a message box that contains text, one or more buttons, and an icon, use the MessageBox.Show method
Programming with Microsoft Visual Basic .NET, Second Edition 50
Summary (continued)
• To allow a text box to accept only certain keys, code the text box’s KeyPress event
• To align the text in a control, set the control’s TextAlign property
• To catch an exception, and then have the computer take the appropriate action, use a Try/Catch block