Visual Basic: the Basics part II
Operators
Logical operators
AND = logical and
OR = logical either or
XOR = logical or (not either)
NOT = the negation of the statement
These are the main logical operators in visual basic.
There are others, but we will come to them later. It is best to learn about
logical operators by example, they are usually used in IF clauses. Each operator
is the equivalent of its logical counterpart in the real world (hence the name).
Study this example:
Private Sub Form_Load()
Dim First As Integer
Dim Second As Integer
Dim Third As Integer
First = InputBox("Enter a number")
Second = InputBox("Enter another number")
Third = InputBox("One more!")
If First > Second And Second > Third Then
MsgBox("The First number is the biggest")
ElseIf First = 2 OR Second = 2 OR Third = 2 Then
MsgBox ("One of the numbers was 2")
End
Else
MsgBox "Nice numbers"
End
End If
End Sub
This example, in fact, uses both logical and relational
operators. The logical being the AND and the OR, the relational being the >
sign.
Without running the program, predict the outcome if the
numbers entered were 10, 9 and then 6. Implement the program, did you get it
right? If not, look back over the program. The computer takes in the three
numbers and then moves to the 'if clause', it tests for the first one and sees
that, because 10 is the first number and is bigger than 9 and 9 is the second
number and is bigger than 6 which is the third number, it fits the specification
of the first one perfectly. Therefore it implements it and displays the message.
Can you predict the outcome if the numbers entered were 2,
10 and then 5? Implement the program, did you get it right? If not, look back
over the program. The computer takes in the three numbers and moves to the if
clause and sees that the first one is false because 2 is not bigger than 10. It
then moves to the second one and tests true, because 2 = 2. Therefore it
displays the message.
An example of the usage of the XOR operator is:
Private Sub Form_load()
Dim FirstNumber As Integer
Dim SecondNumber As Integer
FirstNumber = InputBox("Enter a number")
SecondNumber = InputBox("Enter another number")
If FirstNumber = 7 XOR SecondNumber = 3 Then
MsgBox("Either the first number was 7, or the second number was 3")
End
Else
MsgBox("Either the first number was not 7 and the second number was not 3.
Or the first number was 7 and the second number was 3")
End
End If
End sub
Here, as per usual, the user is asked to input 2 numbers.
The computer then checks the two numbers against the argument of the if
statement. This argument states that if the first number is 7 or the second
number is 3 but not if they are both 7 and 3 respectively, then the computer
will execute the block of code which follows. Otherwise, the computer will
execute the block of code after the else statement.
Notice the usage of the word End before the end if
statement which tells the computer to stop executing the code any further.
Relational operators
The Relational operators are:
< 
The thing on the left is less than the thing on the
right. 
> 
The thing on the left is greater than the thing on
the right. 
<= 
The thing on the left is less than or equal to the
thing on the right. 
>= 
The thing on the left is greater than or equal to
the thing on the right. 
= 
The thing on the left is exactly equal to the thing
on the right. 
These are simple to use as is displayed in the previous
sections of code.
Arithmetic operators
Cast your mind back to my first
tutorial; you met your first arithmetic operators: + and =. Here is a list
of all the arithmetic operators:
^ 
exponentiation : the thing on the left to the power
of the thing on the right ie 2 ^ 2 = 4 
+ 
addition 
 
subtraction 
= 
equals: make the thing on the left equal to the
thing on the right. 
/ 
Division 
Mod 
Modulus : the computer will perform a division of
this kind and only display the remainder 

i.e. 10 Mod 3 = 1 
\ 
Integer Division : the computer will perform a
division of this kind and only display the whole number part of the
answer 

i.e. 10 \ 3 = 3 

The other thing about division in Visual Basic is
that the computer will round up or down before it does the division 

i.e. 10.1 / 3.1 = 3 or 10.1 Mod 3.1 = 1 etc. 
Order of precedence:
In programming, the computer has an order in which it
works through the code in which multiple operators are involved. So in each
branch of the operators, there is a table of 'more important' ones that are done
first:
Logical Operators:
1. Not
2. And
3. Or
4. XOr
Arithmetic operators:
1. 
^ 
2. 
*, / 
3. 
\ 
4. 
Mod 
5. 
+,  
Comparison operators all have equal precedence and are
evaluated in the left to right order in which they appear.
When expressions contain operators from more than one
category they are done in this order:
1. Arithmetic operators
2. Comparison operators
3. Logical operators
Well, we have covered operators, you are on your way to
becoming a competent programmer...but there is still a way to go. Next time we
will be looking at working with the GUI. Happy programming! 