In the previous lessons, we have learned how to
program code that accept input from the users and display the output
without controlling the program flow. In this chapter, you will
learn how to write VB2010 code that can make
decision when it process input from the users, and control the
program flow in the process. Decision making process is an important
part of programming because it will help solve practical problems
intelligently so that it can provide useful output or feedback to
the user. For example, we can write a VB2010 program that can ask
the computer to perform certain task until a certain condition is
met, or a program that will reject non-numeric data. In order to
control the program flow and to make decisions, we need to use
the conditional
operators and
the logical
operators together
with the If control structure.
9.1 Conditional
Operators
The conditional operators are powerful
tools that resemble
mathematical operators . These
operators allow a VB2010 programto compare data values
and then decide what actions to take, whether to execute a program
or terminate the program andmore. They are
also known as numerical comparison operators. Normally they are used
to compare two values to see whether they are equal or one value
is greater or less than the other value. The comparison will
return a true or false
result. These operators are shown in Table 9.1.
Table
9.1: Conditional Operators
Operator |
Meaning |
= |
Equal to |
> |
More than |
< |
Less Than |
>= |
More than and equal |
<= |
Less than and equal |
<> |
Not Equal
to |
|
9.2 Logical Operators
Sometimes we might need to make more than one
comparisons before a decision can be made and an action taken. In
this case, using numerical comparison operators alone is not
sufficient, we need to use additional operators, and they are the
logical operators. These logical operators are shown in Table
9.2.
Table
9.2
Operator |
Meaning |
And |
Both
sides must be true |
or |
One
side or other must be true |
Xor |
One
side or other must be true but not both |
Not |
Negates truth | s
* Normally the above
operators are use to compare numerical data. However, you can
also compare strings with the above operators. In making
strings comparison, there are certain rules to follows:
Upper case letters are less than lowercase letters,
"A"<"B"<"C"<"D".......<"Z" and number are less
than
letters. |
|
9.3 Using the If control
structure with the Comparison Operators
To effectively control the VB2010 program flow, we shall use
the If control structure together with the conditional operators and
logical operators. There
are basically three types of If control structures, namely If....Then statement, If....Then...
Elsestatement and If....Then....ElseIf statement.
9.3(a) If....Then Statement This is
the simplest control structure which ask the computer to
perform a certain action specified by the VB expression if the
condition is true. However, when the condition is false, no action
will be performed. The general format for the if...then.. statement
is
If condition Then
VB expression
End
If
Example 9.1
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click Dim
myNumber As Integer myNumber = TextBox1.Text If
myNumber > 100 Then Label2.Text = " You win a
lucky prize" End If End Sub
* When you run the
program and enter a number that is greater than 100,
you will see the "You win a lucky prize" statement. On
the other hand, if the number entered is less than or
equal to 100, you don't see any
display. |
|
9.3(b) If....Then...Else
Statement Using jus If....Then statement is not very useful
in programming and it does not provide choices for the users. In
order to provide a choice, we can use the If....Then...Else
Statement. This
control structure will ask the computer to perform a certain
action specified by the VB expression if the condition is true.
And when the condition is false ,an alternative action will be
executed. The general format for the if...then..
Else statement
is
If condition Then
VB expression
Else
VB expression
End If
Example 9.2
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Dim myNumber
As Integer myNumber = TextBox1.Text If myNumber
> 100 Then Label2.Text = " Congratulation! You win
a lucky prize" Else Label2.Text = " Sorry, You dif
not win any prize" End If End Sub
* When you run the
program and enter a number that is greater than 100, the
statement "Congratulation! You win a lucky prize" will be shown. On the other hand, if
the number entered is less than or equal to 100, you
will see the "Sorry, You dif not win any prize"
statement
|
Example
9.3
Private Sub
Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click Dim myNumber,
MyAge As Integer myNumber = TextBox1.Text MyAge =
TextBox2.Text
If myNumber > 100 And myAge >
60 Then Label2.Text = " Congratulation! You win a
lucky prize" Else Label2.Text = " Sorry, You
did not win any
prize" End If
End Sub
* This program use the
logical And operator beside the conditional operators.
This means that both the conditions must be
fulfilled in order for the conditions to be true,
otherwise the second block of code will be executed. In
this example, the number entered must be more than 100
and the age must be more than 60 in order to win a lucky
prize, any one of the above conditions not fulfilled
will disqualify the user from winning a
prize. |
9.3(c) If....Then...ElseIf
Statement If there are more than two alternative choices,
using jus If....Then....Else statement will not be
enough. In order to provide more choices, we can use the If....Then...ElseIf
Statement. executed. The general format for the
if...then.. Else statement is
If condition Then
VB expression
ElseIf condition Then
VB expression
ElseIf condition Then
VB expression
.
.
Else
VB expression
End
If
Example 9.4
Private Sub Button1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Button1.Click Dim Mark As Integer
Dim Grade as String
Mark = TextBox1.Text If
myNumber >=80 Then Grade="A"
ElseIf Mark>=60 and
Mark<80 then
Grade="B"
ElseIf Mark>=40 and
Mark<60 then
Grade="C"
Else
Grade="D"
End If End
Sub
|
Copyright 2010 Dr.Liew Voon Kiong . All rights
reserved |Contact: vbtutor facebook page [Privacy
Policy] |