Lesson 8    |  Home  | Lesson 10

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.ClickDim myNumber As IntegermyNumber = TextBox1.TextIf myNumber > 100 ThenLabel2.Text = " You win a lucky prize"End IfEnd 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.ClickDim myNumber As IntegermyNumber = TextBox1.TextIf myNumber > 100 ThenLabel2.Text = " Congratulation! You win a lucky prize"ElseLabel2.Text = " Sorry, You dif not win any prize"End IfEnd 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.ClickDim myNumber, MyAge As IntegermyNumber = TextBox1.TextMyAge = TextBox2.TextIf myNumber > 100 And myAge > 60 ThenLabel2.Text = " Congratulation! You win a lucky prize"ElseLabel2.Text = " Sorry, You did not win any prize"End IfEnd 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.ClickDim Mark As Integer Dim Grade as String Mark = TextBox1.TextIf myNumber >=80 ThenGrade="A" ElseIf  Mark>=60 and Mark<80 then Grade="B" ElseIf  Mark>=40 and Mark<60 then Grade="C" Else Grade="D" End IfEnd Sub