+ All Categories
Home > Documents > Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Date post: 21-Dec-2015
Category:
View: 249 times
Download: 5 times
Share this document with a friend
33
Chapter 5 - Visual Basic Schneider 1 Chapter 5 Decisions
Transcript
Page 1: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 1

Chapter 5

Decisions

Page 2: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 2

Outline and Objective

Relational and Logical OperatorsIf Blocks

Select Case Blocks

Page 3: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 3

Relational Operators

The execution of the block If is controlled by a Boolean Expression

A Boolean Expression can be either True or False Boolean Expressions are formed by using six

Relational operators and three Logical operators

Page 4: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 4

Relational OperatorsMathematical

NotationVisual Basic Notation Numeric Meaning

= = Equal to

# <> Unequal to

< < Less than

> > Greater than

<= <= Less than or equal to

>= >= Greater than or equalto

Page 5: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 5

Using Relational Operators on Strings

Computer uses a special coding system to compare character strings

Usually ANSI (also called ASCII) coding system is used on PC.

The association between characters and values of characters are given in Appendix A.

Page 6: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 6

Example of Comparing Character Strings

“Chase” < “Chaz” True

“ Cat” < “Cat” True

“Pay” < “Pay “ True

“Jones” <> “James” True

“Hope” < “Hopeful” True

Page 7: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 7

Logical Operators

The result of a logical operator is also True or False

The three Logical Operators are:

Not

And

Or

Page 8: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 8

Not

Not: Negates a single expression

Example: Suppose answ = “Y”

Not ( answ = “y”) is True

Page 9: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 9

And

Combines two expressions; each expression must be True for the entire expression to be True.

Example: Suppose answ = “Y”

(answ = “Y”) And (answ = “y”) is False

Page 10: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 10

Or

Combines two expressions; either expression (or both expressions) must be True for the entire expression to be True.

Example: Suppose answ = “Y”

(answ = “Y”) Or (answ = “y”) is True

Page 11: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 11

Determine whether the following conditions are true or false?

(“Y” <> “X”) And (143.55 < 143.55)

( 0 = 14) Or (6 ^ 2 - 3 <= 4 / 2 + 8)

Not ( 6 = 7) And ( 44 > 33)

Page 12: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 12

Control Structures

Allows the programmer to alter the normal flow of statement execution.

Types of control structures: Loop Decision

Page 13: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 13

Types of Decision Structures

The Block If Statement Simple alternative if Compound alternative if….else

Select Case Statement

Page 14: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 14

Single Alternative Decision

An action is taken if the condition is true, otherwise the control goes to the next statement.

Page 15: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 15

Single Alternative Decision

Syntax

If condition Then

action(s)

End If

If condition is true, action(s) is executed;otherwise action(s) is skipped

Page 16: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 16

Example of single-alternative decision

If (grade > = 90) Then

picOutput.Print “Excellent Student”

letterGrade = “A”

picOutput.Print “Your grade is “; letterGrade

End If

Page 17: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 17

Compound Alternative Decision

Syntax

If condition Then

action1

Else

action 2

End If

Page 18: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 18

Example of Compound If statement (find the larger of two numbers)

Private Sub cmdFindLarger_Click()

Dim largerNum As Single

picResult.Cls

If Val(txtFirstNum.Text) > Val(txtSecondNum.Text) Then

largerNum = Val(txtFirstNum.Text)

Else

largerNum = Val(txtSecondNum.Text)

End If

picResult.Print "The larger number is"; largerNum

End Sub

Page 19: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 19

Important Points in Using If Statement

Use indentation In the nested If statement, each If must have

its own End If statement Care should be taken to make If blocks easy

to understand

Page 20: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 20

Example

If cond1 Then

If cond2 Then

action(s)

End If

End If

If cond1 And cond2 Then

action(s)

End If

This is easier to understandA confusing If Block

Page 21: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 21

Compound Alternative Decision

SyntaxIf condition1 Then

action1

ElseIf condition2 Then

action 2

ElseIf condittion3 Then

action3

Else

action4

End If

Page 22: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 22

Example (find the larger of two numbers, and report if the two numbers are equal)

Private Sub cmdFindLarger_Click()

picResult.Cls

If Val(txtFirstNum.Text) > Val(txtSecondNum.Text) Then

picResult.Print "The larger number is"; txtFirstNum.Text

ElseIf Val(txtSecondNum.Text) > Val(txtFirstNum.Text) Then

picResult.Print "The larger number is "; txtSecondNum.Text

Else

picResult.Print "The two numbers are equal."

End If

End Sub

Page 23: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 23

Example (find cost of phone call from NY to LA)

Private Sub cmdDisplay_Click()

Dim length As Single

Call InputLength (length)

Call DisplayCost(length)

End Sub

Page 24: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 24

Sub DisplayCost & InputLenght

Private Sub DisplayCost (length As Single)

' Display the cost of a call

PicOutput.Print "Cost of call: " ; FormatCurrency ( Cost (length))

End Sub

Private Sub InputLength(length As Single)

' Request the length of a phone call

length = Val (InputBox("Duration of the call in minutes? "))

End Sub

Page 25: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 25

Function Cost

Private Function Cost (length As Single) As Single

If length < 1 Then

Cost = .46

Else

Cost = .46 + (length –1) * .36

End If

End Function

Page 26: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 26

The Select Case Block

Similar to If statement Used instead of nested If statement An action to be selected from a list of

alternatives Avoids confusion of deeply nested If blocks

Page 27: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 27

Select Case Block (Syntax)

Select Case selector

Case value-list-1

action1

Case value-list-2

action2

…..

Case Else

action of last resort

End Select

Page 28: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 28

Select Case Block

Each value-list contains one or more of the following types of items separated by a comma

a constant a variable an expression an inequality sign preceded by Is and followed by a

constant, variable, or expression a range expressed in the form a To b , where a and b

are constants, variables, or expressions.

Page 29: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 29

Example of Select Case

letterGrade = txtGrade.text

Select Case letterGrade

Case “A”, “B” picOutput.Print “ Good Work”

Case “C” picOutput.Print “Average Work”

Case Else picOutputPrint “Poor Work”

End Select

Page 30: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 30

Example of If statement

letterGrade = txtGrade.Text

If ( letterGrade = “A”) Or (letterGrade = “B”) Then

picOutput.print “Good Work”

ElseIf (letterGrade = “C”) Then

picOutput.Print “ Average Work”

Else

picOutput.Print “Poor Work”

End If

Page 31: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 31

Several different types of value-list

Private Sub cmdInterpret_Click() Dim x As Integer, y As Integer, num As Integer ' One, Two, Buckle My Shoe picPhrase.Cls x = 2 y = 3 num = Val(txtNumber.Text) Select Case num Case y - x, x picPhrase.Print "Buckle my shoe." Case Is <= 4 picPhrase.Print "Shut the door." Case x + y To x * y picPhrase.Print "Pick up sticks." Case 7, 8 picPhrase.Print "Lay them straight." Case Else picPhrase.Print "Start all over again." End SelectEnd Sub

Page 32: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 32

Selector Is a String Variable

Private Sub cmdInterpret_Click()

Dim firstName As String

firstName = txtAnswer.Text

Select Case firstName

Case "Thomas"

picSolution.Print "Correct."

Case "Woodrow"

picSolution.Print "Sorry, his full name was"

picSolution.Print "Thomas Woodrow Wilson."

Case "President"

picSolution.Print "Are you for real?"

Case Else

picSolution.Print "Nice try, but no cigar."

End Select

End Sub

Page 33: Chapter 5 - Visual Basic Schneider1 Chapter 5 Decisions.

Chapter 5 - Visual Basic Schneider 33

Summary Points

How to use If statements Select Case statements How to use relational operators How to use Not, And, and Or in Boolean

expressions


Recommended