Top Banner
Chapter 7 Decision Making
53

Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Jan 28, 2016

Download

Documents

Osborne Flowers
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Chapter 7

Decision Making

Page 2: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Class 7: Decision Making

• Use the Boolean data type in decision-making statements

• Use If statements and Select Case statements to make decisions

• Use logical operators to create complex conditions• Use decision-making statements to perform input

validation• Create structured exception handlers so that run-

time errors will not cause an application to terminate

Page 3: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Introduction to Boolean Data

• Boolean data operates similarly to an on/off switch– True signifies on– False signifies off

• Many properties store Boolean data– Visible and Enabled for example

Page 4: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Declaring a Boolean Variable

• Declare a Boolean variable– Uninitialized Boolean variables have a value

of False

Dim Valid As Boolean

• Declare and initialize a Boolean variableDim BrowseMode As Boolean = True

• Declare multiple Boolean variablesDim Test1, Test2 As Boolean

Page 5: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Boolean Assignment Statements

• The keywords True and False are used in Boolean assignment statements

• Example:Dim Valid As Boolean

Valid = True

Valid = False

Page 6: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Introduction to Decision-making Statements

• Applications need the capability to execute one group of statements in certain circumstances and other statements in other circumstances

• These statements are called decision-making statements

• The If statement is used to make decisions

Page 7: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-1: Flowchart of a Decision-making Statement

Page 8: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

If Statements and Comparison Operators

• A conditional statement executes one group of statements when a condition is True and another group of statements when a condition is False

• Comparison operators are used in conditional statements

• Conditional operations always produce a Boolean result

Page 9: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Comparison Operators

• Equal to (=)

• Not equal to (<>)

• Less than (<)

• Greater than (>)

• Less than or equal to (<=)

• Greater than or equal to (>=)

Page 10: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Using Comparison Operators (Example)

• Example:

Dim Result As Boolean

Dim Value1 As Integer = 3, Value2 As Integer = 5

Result = Value1 < Value2 ' True

Result = Value1 + 2 = Value2 – 1 ' False

Page 11: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Using Comparison Operators (Example, continued)

• Parentheses can clarify the order of evaluation

• The following two statements are equivalent:Result = Value1 + 2 < Value2 – 1

Result = (Value1 + 2) < (Value2 – 1)

Page 12: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-2:Evaluating a Condition

Page 13: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Comparison Operators and If Statements

• Comparison operators are most commonly used with an If statement– A group of statements executes only when a

condition is True– This form of If statement is called a one-way If statement

– The statements that execute as a result of a condition are called a statement block

Page 14: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

One-Way If Statement (Syntax)

If condition Then

statements(A)

End If

Statement(B)

– condition must evaluate to a Boolean value– If the condition is True, statements(A) execute– If the condition is False, statements(A) do not execute

• Execution continues at the statement (B) following the End If

– Statements (A) make up a statement block

Page 15: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

One-Way If Statement (Example)

Dim CurrentValue As Boolean = True

If CurrentValue = True Then

' Statements that execute when

' CurrentValue is True

End If

' statements

Page 16: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-3:One-Way If Statement

Page 17: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Comparison Operations with Dates

• Comparison operations can be performed on dates– Dates in the past are less than dates in the future

• Example:

Dim StartDate As DateTime = #10/22/2007#

Dim EndDate As DateTime = #10/24/2007#

If StartDate < EndDate = True Then

EndDate = System.DateTime.Today

End If

Page 18: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Comparison Operations with Numeric Data Types

• Comparison operations can be performed on numeric data

• Example:Dim Value1 As Integer = 90If Value1 < 100 Then ' Statements execute when ' Value1 is less than 100End If' statements

Page 19: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Comparison Operations with Strings

• Comparison operations can be performed with strings

• Strings are compared character-by-character from left to right

• String comparisons are performed in two ways

– Case sensitive (binary comparison)• A < B < E < Z < a < b < e < z• Option Compare Binary

– Case insensitive (text comparison)• (A=a) < (B=b) < (E=e) < (Z=z)• Option Compare Text

Page 20: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Table 7-1: String Equality Using Text and Binary Comparison

Page 21: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Introduction to Two-way If Statements

• One statement block executes when a condition is True and another statement block executes when the condition is False

• This form of If statement is commonly referred to as an If . . . Then . . . Else statement

Page 22: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Two-way If Statements (Syntax)

If condition Then

statements(True)

Else

statements(False)

End If

statements

– Statements(True) execute if the condition is True– Statements(False) execute if the condition is False

Page 23: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Two-way If Statements (Example)

• If Grade is greater than 75, set Pass to True. Otherwise, set Pass to False

Dim Pass As BooleanDim Grade As Integer = 80If Grade > 75 Then Pass = TrueElse Pass = FalseEnd If' statements

Page 24: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-4:Two-way If Statement

Page 25: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Introduction to Multiway If Statements

• Multiway If statements have three or more possible outcomes

Page 26: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Multiway If Statements (Syntax)

If condition1 Then

[statements]

[ElseIf condition2 Then

[elseifStatements]]

[Else]

[elseStatements]]

End If

statements

Page 27: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Multiway If Statements (Dissection)

• condition1 is first tested– If True, then the first statement block executes

• Execution continues as the statement following the decision-making statement

– If False, condition2 is tested and then the remaining conditions are tested

• If no conditions are True, then the statements in the Else block execute– The Else block is optional

Page 28: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-5:Multiway

If Statement

Page 29: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Multiway If Statement (Example)

Dim NumericGrade As Integer = 84Dim LetterGrade As StringIf NumericGrade >= 90 Then LetterGrade = "A"ElseIf NumericGrade >= 80 Then LetterGrade = "B"ElseIf NumericGrade >= 70 Then LetterGrade = "C"ElseIf NumericGrade >= 60 Then LetterGrade = "D"Else LetterGrade = "F"End If' statements

Page 30: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Introduction to Select Case Statements

• Select Case statements are similar to multiway If statements

• The same expression must be used in each condition

• Select Case statements are faster than comparable multiway If statements

• Select Case statements tend to be more readable than comparable multiway If statements

Page 31: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Select Case Statement (Syntax)

Select Case testExpression Case expressionList-1 statement-block1 [Case expressionList-2 statement-block2] [Case expressionList-n statement-blockn] [Case Else statements]End Select' statements

Page 32: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Select Case Statement (Dissection)

• testExpression is evaluated once• Each expressionList is then tested. If True, the

corresponding statement-block executes and the Select Case statement ends

• Each expressionList is tested in order– When an expressionList is found to be True, the

statement block executes and the Select Case statement ends

• If no expessionList is True, then the statements in the Case Else block execute

Page 33: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Select Case Statement (Example)

Dim Quarter As Integer = 1Dim QuarterString As StringSelect Case Quarter Case 1 QuarterString = "First" Case 2 QuarterString = "Second" Case 3 QuarterString = "Third" Case 4 QuarterString = "Fourth" Case Else QuarterString = "Error"End Select' statements

Page 34: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-7: Select Case Statement

Page 35: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Select Case Statement (Variations)

• The To clause is used to test a range of values– Case 90 to 100

• The Is clause is used with comparison operators– Case is > 90

• A list of values can be created with a comma separated list– Case 1, 3, 5

Page 36: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Logical Operators (Introduction)

• Logical operators are used in conjunction with comparison and arithmetic operators

• Logical operators perform the same task as a conjunction (and) or a disjunction (or) in English

• The logical operators are And, Or, Not, Xor

• See Table 7-2 for examples

Page 37: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Logical Operators (Precedence)

• Logical operators have an order of precedence– Arithmetic operators are evaluated first– Comparison operators are evaluated second– Logical operators are evaluated last, from left

to right in the following order:•Not, And, Or, Xor

Page 38: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Logical Operators (Example)

• Evaluation of an expression:

Dim Result As Boolean

Result = (3 + 4) > 6 And (4 + 1) < 6

Result = 7 > 6 And 5 < 6

Result = True And True

Result = True

Page 39: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Logical Operators (Example, continued)

• Evaluation of an expression using And and Xor

Dim Result As Boolean

Result = (7 > 6) And (5 > 3) Xor (3 > 2)

Result = True And True Xor True

Result = True Xor True

Result = False

Page 40: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

The Not Operator

• The Not operator is a unary operator

• Examples:– Result = Not (True) ' False– Result = Not (False) ' True– Result = Not (4 > 3) ' False

Page 41: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Using Logical Operators

• Logical operators are typically combined with comparison and arithmetic operators in decision-making statements

• Example:If Input >= CurrentMin And _ Input <= CurrentMax Then

Valid = TrueElse Valid = FalseEnd If' statements

Page 42: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Decision-making and Input Validation

• Input validation is used to check input to make sure it is valid or at least plausible

• Use the IsDate method to determine whether a string can be converted to a date

• Use the IsNumeric method to determine whether a string can be converted to a number

• These methods return True if the value can be converted and False otherwise

• The methods do not actually convert the value

Page 43: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Decision-making and Input Validation (continued)

• Use range checking to determine whether a value falls between a range of values– A person's age, for example

• The format of some data can be validated– Social Security numbers– Telephone numbers– Zip codes

Page 44: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Input Validation Events

• The Validating event fires just before a control instance loses focus– This event can be canceled– The Validated event does not fire in this

case

• If the Validating event is not canceled, the Validated event fires

Page 45: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-12: Focus and Validating Event Sequence

Page 46: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Validating Event (Example)

• Validate a text box and cancel the event if the contents are invalid

Private Sub txtDOB_Validating( _

ByVal sender As Object, _

ByVal e As _

System.ComponentModel.CancelEventArgs) _

Handles txtDOB.Validating

If Not (IsDate(txtDOB.Text)) Then

e.Cancel = True

End If

End Sub

Page 47: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Introduction to Structured Exception Handling

• Run-time errors will cause a program to terminate because of an exception being thrown

• Exceptions can be thrown for several reasons– Numeric overflow errors

– Type conversion errors

– Division by zero errors

• Create structured exception handlers to prevent a program from terminating

Page 48: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Structured Exception Handlers (Syntax)

Try ' Place executable statements that might throw ' an exception in this block.Catch ' This code runs if the statements in the Try ' block throw an exception.Finally ' This code always runs immediately before ' the Try block or Catch block exits.End Try

Page 49: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Structured Exception Handlers (Syntax Dissection)

• The Try statement marks the beginning of an exception handler– Place the statement(s) that may cause the

exception in the Try block

• The Catch statement contains the code that executes if an exception is thrown– Multiple Catch blocks are possible

• The statements in the optional Finally block always execute

Page 50: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Structured Exception Handler (Example)

• Handle all exceptions and display a message box, if necessary

Dim Value1 As Short = 100Dim Value2 As Short = 0Dim Result As ShortTry Result = Value1 / Value2Catch ex As System.Exception MessageBox.Show(ex.Message, "Error")End Try

Page 51: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Figure 7-15: Execution Flow of a Structured Exception Handler

Page 52: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

The System.Exception Class

• All exceptions are derived from the System.Exception class

• Properties– The Message property contains an informational

message– The Source property is a string containing the

name of the application causing the error– The StackTrace property returns a string

containing the error location

Page 53: Chapter 7 Decision Making. Class 7: Decision Making Use the Boolean data type in decision-making statements Use If statements and Select Case statements.

Types of Exceptions

• An ArithmeticException can be thrown because of type conversion errors

• A DivideByZeroException is thrown when trying to divide a number by zero

• An OverflowExcpetion is thrown in cases of numeric overflow

• Trying to reference an object that does not exist throws a NullReferenceException