Chapter 5 Decisions. Outline and Objectives Relational and Logical Operators If Blocks Select Case...
-
date post
18-Dec-2015 -
Category
Documents
-
view
221 -
download
3
Transcript of Chapter 5 Decisions. Outline and Objectives Relational and Logical Operators If Blocks Select Case...
Chapter 5
Decisions
Outline and Objectives
Relational and Logical Operators If Blocks Select Case Blocks
Condition
A condition is a Boolean expression that can be either true or false
Conditions can be formed by using the six Relational operators and the three Logical operators
Relational Operators
Mathematical Notation
Visual Basic Notation
Numeric Meaning
= = Equal to
≠ < > Not equal to
< < Less than
> > Greater than
<= <= Less than or equal to
>= >= Greater than or equal to
Examples
1<=1 True1 < 1 False2 < 5 True3 <> 3 False0 < 3.5 True5 <= 3 False
Examples
Determine whether each of the following conditions is true or false
assume that: •a = 4, b = 3, c = “hello” , d = “bye”
(a+b) < 2 * a True
(Len(c) – b) = (a / 2) True
Computers use a special coding system to compare character strings called ANSI
With ANSI each character has a number associated with it, this number is called ANSI value of the character.
The ANSI values of characters are given in following table. (Appendix A)
You do not need to memorize the table
Just know the numbers, small and capital lettersA= 65 a=97 sp=32 0=48
Using Relational Operators on Strings
8
Punctuation < Capitals letters < Small letters
Using Relational Operators on Strings
The string str1 is said to be less than the string str2 if str1 precedes str2 alphabetically when using the ANSI (or ASCII) table
Two strings are compared working from left to right, character by character, to determine which one should precede the other.
Example of Comparing Character Strings
“Hope” < “Hopeful”
“Chase” < “Chaz” True
“ Cat” < “Cat” True
“Pay” < “Pay “ True
“Jones” <> “James” True
True
Example…
Determine whether the following condition is true or false
(assume that c = “hello” and d = “bye”)
c < (“good” & d) False
Logical Operators
The result of a logical operator is also True or False
The three Logical Operators are: Not And Or
Not Not: Negates a single expression Example: Suppose answ = “Y”
Not (answ = “y”) is True
X Not X
F T
T F
And Takes two expressions, returns True only if
both expressions are evaluated as being true
Example: Suppose answ = “Y”
•(answ = “Y”) And (answ = “y”) is False
X Y X And Y
F F F
F T F
T F F
T T T
Or
Takes two expressions, returns true if either one of the expressions is evaluated as being true.
Example: Suppose answ = “Y”
•(answ = “Y”) Or (answ = “y”) is True
X Y X Or Y
F F F
F T T
T F T
T T T
Truth Tables
X Y X And Y X Or Y Not X
F F F F T
F T F T T
T F F T F
T T T T F
Chapter 5 - Visual Basic Schneider 16
Not ( X And Y ) = Not X OR Not Y Not ( X Or Y ) = Not X And Not Y
Precedence
First, all Arithmetic operations are carried out
Then all expressions involving >, <, and = are evaluated to true or false
The logical operations are next applied in the order Not, then And, and Finally Or.
Examples…
Evaluate the following to True or False
Assume a=4, b=3 Print a*3-2=5-b False Print a=b+3<=a+b True Print not (a<2) or b<4 = a+b True Print Not(a<b)=(a>=b+2)
FalseBe careful about the priorities
Notes A Condition such as 2<n<5 (not a
syntax error) but should never be used, because visual basic will not evaluate it as intended.
The correct condition is (2<n) And (n<5)
The following conditions are equivalent:a<>b Not (a=b)a>b Not (a<=b)Not (n<m) (n>=m)
Are these conditions equivalent?
Not(n<m); n>m n>=m
(a=b) and (a<b); a<>b try a=4 b=5
Not ((a=b) or (a=c)) ; a<>b and a<>c
Not (a>=b); (a<b) and not (a=b)
a<b is enough
Chapter 5 - Visual Basic Schneider 22
Write an Exp equal to the negation of
a>b a<b Or a=b a<=b (a<b) and (c<>d) (a>=b) Or (c=d) (a=b) or (a=d) (a<>b) and (a<>d) Not ( (a=b) or (a>b) ) (a=b) or (a>b)
(a<> “”) and (a<b) and (len(a) < 5)(a =“”) Or (a>=b) Or (len(a)>=5)
Chapter 5 - Visual Basic Schneider 23
Types of Decision Structures
If Block Statement•Single alternative: If...Then
•Compound alternative: If Then...Else
Select Case Statement
Single Alternative Decision An action is taken if the condition is
true, otherwise the control goes to the next statement.
Syntax:If condition Then actionEnd If
If condition is true, action is executed. Otherwise, action is skipped
Example
Example
Compound Alternative Decision
SyntaxIf condition Then action1 Else action 2End If
Example
Example
Example
Example
If cond1 Then If cond2 Then action(s) End IfEnd If
If cond1 And cond2 Then action(s)End If
This is easier to understandA confusing If Block
Compound Alternative Decision
SyntaxIf condition1 Then action1 ElseIf condition2 Then action 2 ElseIf condittion3 Then action3 Else action4End If
This block statement searches for the first True condition, carries out its action, and then skips to the statement following end if.
If none of the conditions is true, then else’s action is carried out.
In general, an IF block can contain any number of ElseIf clauses.
Example
Single Line If Statement
SyntaxIf condition Then action
There is no End If If the condition is true, the action will
be executed If the condition is false, the (else)
action will be taken
Example
Example
Examples
If 2 < n < 5 Then
action(s)
End If
Wrong (not a compiler error)
(n > 2) And (n < 5)
If 5 Then
action(s)
End If
If n Then
action(s)
End If
If Not(n < m) Then
action(s)
End If
Equivalent to
If (n >= m) Then
action
End If
If n <> 0 then
action(s)
End if
The Select Case Block
Similar to If statement Used instead of compound If
statements Action is selected from a list of
alternatives Avoids confusion of deeply nested If
blocks
Select Case Block (Syntax)
Select Case selector Case value-list-1 action1 Case value-list-2 action2 ….. Case Else action of last resortEnd Select
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.
Example
Example
Example
Example
Example
Example
Example
what is the output of the following code
a = 3b = 4Select Case a = b
Case 3Print "A"Case 4Print "B"Case 1Print "C"Case 0Print "D"
End Select
Answer: D
what is the output of the following code
a = "hello"Select Case a
Case "apple" To "orange"Print "A"Case "Hello"Print "B"Case Is <= "z"Print "C"Case "hello"Print "D"
End SelectAnswer: A
what is the output of the following code
a = 0Select Case a
Case 3.5Print "A"Case a > 5Print "B"Case a - 1 To a + 1Print "C"Case 3Print "D"
End SelectAnswer: B
References
Chapter 5 - Visual Basic Schneider