Selection Structure If Then Else Case Selection Structure

  • Slides: 30
Download presentation
Selection Structure If. . . Then. . Else Case

Selection Structure If. . . Then. . Else Case

Selection Structure • Use to make a decision or comparison and then, based on

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 perform these tasks End If Perform

Selection Structure Pseudocode If condition is true Then perform these tasks End If Perform these tasks whether condition is true or false If condition is true then perform these tasks Else perform these tasks End If Perform these tasks whether condition is true or false

If. . Then…Else Statement If condition Then [instructions when the condition is true] [Else

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

Relational Operators = > >= < <= <> • • • Equal to Greater than or equal to 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 • 5 *

Expressions Containing Relational Operators 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 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

Examples of Relational Operators used in the condition • Write a condition that checks if the value stored in the int. Num variable is greater than 123 int. Num > 123 • Write a condition that checks if the value stored in the str. Name variable is “Mary Smith” UCase(str. Name) = “MARY SMITH”

Logical Operators Not • Reverses the truth value of condition; false becomes true and

Logical Operators Not • Reverses the truth value of condition; false becomes true and true becomes false And • All conditions connected by the And operator must be true for the compound condition to be true Or • Only one of the conditions connected by the Or operator needs to be true for the compound condition to be true. These operators are evaluated after any mathematical and relational operators. The order of precedence is Not, And, Or.

Expressions Containing the And Logical Operator 3 > 2 And 6 > 5 •

Expressions Containing the And Logical Operator 3 > 2 And 6 > 5 • 3 > 2 is evaluated first, giving true • 6 > 5 is evaluated second, giving true • true And true is evaluated last, giving true • • 10 < 25 And 6 > 5 + 1 is evaluated first, giving 6 10 < 25 is evaluated second, giving true 6 > 6 is evaluated third, giving false true And false is evaluated last, giving false

Expression Containing the Or Logical Operator • • 8 = 4 * 2 Or

Expression Containing the Or Logical Operator • • 8 = 4 * 2 Or 7 < 5 4 * 2 is evaluated first, giving 8 8 = 8 is evaluated second, giving true 7 > 5 is evaluated third, giving false true Or false is evaluated last, giving true All expressions containing a relational operator will result in either a true or false answer only.

Evaluation of Expressions Containing Logical Operators • If you use the And operator to

Evaluation of Expressions Containing Logical Operators • If you use the And operator to combine two conditions, Visual Basic does not evaluate the secondition if the first condition is false. • If you use the Or operator to combine two conditions, Visual Basic does not evaluate the secondition if the first condition is true.

Example of Logical Operators used in the condition • To pass a course, a

Example of Logical Operators used in the condition • To pass a course, a student must have an average test score of at least 75 and an average project score of at least 35. Write the condition using the variables sng. Test and sng. Proj. sng. Test >= 75 And sng. Proj >= 35

Example of Logical Operators used in the condition • Only people living in the

Example of Logical Operators used in the condition • Only people living in the state of Michigan who are over 65 years old receive a discount. Write the condition using the variables str. State and int. Age. UCase(str. State) = “MICHIGAN” And int. Age > 65

Example of Logical Operators used in the condition • Only employees with job codes

Example of Logical Operators used in the condition • Only employees with job codes of 34 and 67 will receive a raise. Write the condition using the variable int. Code = 34 Or int. Code = 67

Nested Selection Structure • A nested selection structure is one in which either the

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 condition 1 Then [instructions when condition 1

Nested If in the true path If condition 1 Then [instructions when condition 1 is true] If condition 2 Then [instructions when both condition 1 and condition 2 are true] [Else [instructions when condition 1 is true and condition 2 is false]] End If Else [instructions when condition 1 is false]] End If

Nested If in the false path If condition 1 Then [instructions when condition 1

Nested If in the false path If condition 1 Then [instructions when condition 1 is true] Else If condition 2 Then [instructions when condition 1 is false and condition 2 is true] [Else [instructions when both condition 1 and condition 2 are false]] End If

Nested If Example 1 Write a selection structure that assigns a sales tax rate

Nested If Example 1 Write a selection structure that assigns a sales tax rate to the sng. Tax variable. The tax rate is determined by the state code stored in the int. Code 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 int. Code = 1 Or int. Code = 3

Nested If Example 1 If int. Code = 1 Or int. Code = 3 Then sng. Tax =. 04 Else If int. Code = 2 Then sng. Tax =. 05 Else sng. Tax =. 02 End If

Nested If Example 2 Write a selection structure that assigns a bonus to the

Nested If Example 2 Write a selection structure that assigns a bonus to the sng. Bonus variable. The bonus is determined by the salesperson’s code (int. Code) and, in some cases, by the sales amount (sng. Sales). 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 int. Code = 1 Then If sng. Sales >=

Nested If Example 2 If int. Code = 1 Then If sng. Sales >= 10000 Then sng. Bonus = 500 Else sng. Bonus = 200 End If Else If int. Code = 2 Then If sng. Sales >= 20000 Then sng. Bonus = 600 Else sng. Bonus = 550 Else sng. Bonus = 150 End If

Nested If Example 2 If int. Code = 1 And sng. Sales >= 10000

Nested If Example 2 If int. Code = 1 And sng. Sales >= 10000 Then sng. Bonus = 500 Else If int. Code = 1 And sng. Sales < 10000 Then sng. Bonus = 200 Else If int. Code = 2 And sng. Sales >= 20000 Then sng. Bonus = 600 Else If int. Code = 2 And sng. Sales < 20000 Then sng. Bonus = 550 Else sng. Bonus = 150 End If

Case Form of the Selection Structure • Referred to as the extended selection structure

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 expressionlist 1 [instructions for the first Case]]

Select Case Statement Select Case testexpression [Case expressionlist 1 [instructions for the first Case]] [Case expressionlist 2 [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

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

Select Case Example 1 Write a selection structure that assigns a sales tax rate to the sng. Tax variable. The tax rate is determined by the state code stored in the int. Code 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 int. Code Case 1, 3 sng. Tax =.

Select Case Example 1 Select Case int. Code Case 1, 3 sng. Tax =. 04 Case 2 sng. Tax =. 05 Case Else sng. Tax =. 02 End Select

Select Case Example 2 Write a selection structure that assigns a bonus to the

Select Case Example 2 Write a selection structure that assigns a bonus to the sng. Bonus variable. The bonus is determined by the salesperson’s code (int. Code) and, in some cases, by the sales amount (sng. Sales). 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 int. Code Case 1 Select Case sng. Sales

Select Case Example 2 Select Case int. Code Case 1 Select Case sng. Sales Case Is >= 10000 sng. Bonus = 500 Case Else sng. Bonus = 200 End Select Case 2 Select Case sng. Sales Case Is >= 20000 sng. Bonus = 600 Case Else sng. Bonus = 550 End Select Case Else sng. Bonus = 150 End Select

Select Case Example 2 Select Case True Case int. Code = 1 And sng.

Select Case Example 2 Select Case True Case int. Code = 1 And sng. Sales >= 10000 sng. Bonus = 500 Case int. Code = 1 And sng. Sales < 10000 sng. Bonus = 200 Case int. Code = 2 And sng. Sales >= 20000 sng. Bonus = 600 Case int. Code = 2 And sng. Sales < 20000 sng. Bonus = 550 Case Else sng. Bonus = 150 End Select