CH 6 VB
CH 6 VB
If . . . Then . . Else
Case
Selection Structure
• Use to make a decision or comparison and
then, based on the result of that decision or
comparison, to select one of two paths.
• The condition must result in either a true
(yes) or false (no) answer.
• 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.
Selection Structure Pseudocode
If condition is true Then If condition is true then
perform these tasks perform these tasks
End If Else
Perform these tasks perform these tasks
whether condition is true End If
or false Perform these tasks
whether condition is true
or false
If..Then…Else Statement
If condition Then
[instructions when the condition is true]
[Else
[instructions when the condition is
false]]
End If
Relational Operators
= • Equal to
> • Greater than
>= • Greater than or equal to
< • Less than
<= • Less than or equal to
<> • Not equal to
These operators are evaluated from left to right, and are
evaluated after any mathematical operators.
Expressions Containing
Relational Operators
10 + 3 < 5 * 2 7>3*4/2
• 5 * 2 is evaluated first, • 3 * 4 is evaluated first,
giving 10 giving 12
• 10 + 3 is evaluated • 12 / 2 is evaluated
second, giving 13 second, giving 6
• 13 < 10 is evaluated • 7 > 6 is evaluated last,
last, giving false giving true
All expressions containing a relational operator will result in
either a true or false answer only.
Examples of Relational
Operators used in the condition
• Write a condition that checks if the value stored in
the intNum variable is greater than 123
intNum > 123
• Write a condition that checks if the value stored in
the strName variable is “Mary Smith”
intCode = 34 Or intCode = 67
Nested Selection Structure
• A nested selection structure is one in which
either the true path or the false path
includes yet another selection structure.
• Any of the statements within either the true
or false path of one selection structure may
be another selection structure.
Nested If in the true path
If condition1 Then
[instructions when condition1 is true]
If condition2 Then
[instructions when both condition1 and
condition2 are true]
[Else
[instructions when condition1 is true and
condition2 is false]]
End If
Else
[instructions when condition1 is false]]
End If
Nested If in the false path
If condition1 Then
[instructions when condition1 is true]
Else
If condition2 Then
[instructions when condition1 is false and
condition2 is true]
[Else
[instructions when both condition1 and
condition2 are false]]
End If
End If
Nested If Example 1
Write a selection structure that assigns a
sales tax rate to the sngTax variable. The tax
rate is determined by the state code stored in
the intCode variable. Codes of 1 and 3
represent a 4% rate; a code of 2 represents a
5% rate. All other codes represent a 2% rate.
Nested If Example 1
If intCode = 1 Or intCode = 3 Then
sngTax = .04
Else
If intCode = 2 Then
sngTax = .05
Else
sngTax = .02
End If
End If
Nested If Example 2
Write a selection structure that assigns a bonus
to the sngBonus variable. The bonus is
determined by the salesperson’s code
(intCode) and, in some cases, by the sales
amount (sngSales). If the code is 1 and the
salesperson sold at least $10,000, then the
bonus is $500; otherwise these salespeople
receive $200. If the code is 2 and the
salesperson sold at least $20,000, then the
bonus is $600; otherwise these salespeople
receive $550. All others receive $150.
Nested If Example 2
If intCode = 1 Then
If sngSales >= 10000 Then
sngBonus = 500
Else
sngBonus = 200
End If
Else
If intCode = 2 Then
If sngSales >= 20000 Then
sngBonus = 600
Else
sngBonus = 550
Else
sngBonus = 150
End If
End If
Nested If Example 2
If intCode = 1 And sngSales >= 10000 Then
sngBonus = 500
Else
If intCode = 1 And sngSales < 10000 Then
sngBonus = 200
Else
If intCode = 2 And sngSales >= 20000 Then
sngBonus = 600
Else
If intCode = 2 And sngSales < 20000
Then
sngBonus = 550
Else
sngBonus = 150
End If
End If
End If
End If
Case Form of the Selection
Structure
• Referred to as the extended selection
structure
• Easier than the nested If to write and
understand
• Typically used when a selection structure
has several paths from which to choose
Select Case Statement
Select Case testexpression
[Case expressionlist1
[instructions for the first Case]]
[Case expressionlist2
[instructions for the second Case]]
[Case expressionlistn
[instructions for the nth Case]]
[Case Else
[instructions for when the
testexpression does not match any
of the expressionlists]]
End Select
To and Is Keywords
• Use the To keyword to specify a range of
values when you know both the minimum
and maximum values
• Use the Is keyword to specify a range of
values when you know only one value,
either the minimum or the maximum
Select Case Example 1
Write a selection structure that assigns a
sales tax rate to the sngTax variable. The tax
rate is determined by the state code stored in
the intCode variable. Codes of 1 and 3
represent a 4% rate; a code of 2 represents a
5% rate. All other codes represent a 2% rate.
Select Case Example 1
Select Case intCode
Case 1, 3
sngTax = .04
Case 2
sngTax = .05
Case Else
sngTax = .02
End Select
Select Case Example 2
Write a selection structure that assigns a bonus
to the sngBonus variable. The bonus is
determined by the salesperson’s code
(intCode) and, in some cases, by the sales
amount (sngSales). If the code is 1 and the
salesperson sold at least $10,000, then the
bonus is $500; otherwise these salespeople
receive $200. If the code is 2 and the
salesperson sold at least $20,000, then the
bonus is $600; otherwise these salespeople
receive $550. All others receive $150.
Select Case Example 2
Select Case intCode
Case 1
Select Case sngSales
Case Is >= 10000
sngBonus = 500
Case Else
sngBonus = 200
End Select
Case 2
Select Case sngSales
Case Is >= 20000
sngBonus = 600
Case Else
sngBonus = 550
End Select
Case Else
sngBonus = 150
End Select
Select Case Example 2