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 VB2008
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 VB2008 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 VB2008 program to compare data values and then decide
what actions to take, whether to execute a program or terminate the program and
more. 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 |
|
* 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 VB2008 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...
Else statement 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
|