Sign Guestbook
View Guestbook
Invite Your Friends
Website Awards
Message Forum
Source Codes
Downloads
Links
About Me
 
     
Lesson 1 - The first few steps in Pascal Programming
Lesson 2 - Variables, Constants and the Assignment  Statement
Lesson 3 - Special Functions: ClrScr(), GotoXy(), etc...
Lesson 4 - Program Control
Lesson 5 - The CASE-OF Statement
Lesson 6 - Logical Operators and Boolean Expressions
Lesson 7 - Procedures and Functions
Lesson 8 - BGI Graphics
Lesson 9 - File Handling
Lesson 10 - Arrays
Lesson 11 - Record Data Structure
Lesson 12 - Strings

Add this site to your Favourites

   



 
Lesson 6 - Logical Operators and Boolean Expressions

 
This lesson will cover:
  1.   AND
  2.   OR
  3.   NOT
  1.   AND
  2.   OR
  3.   NOT
 
 

The logical operators are expressions which return a false or true result over a conditional expression. They are also used in assignments (an example of this would be shown later). Such  operators consist of simple logical operators, such as 'Not' or 'And'. They should be used between two conditional expressions ; for example:

If (x = 0) AND (a = 2) then...

The Logical Operators

There are three types of logical operators, each of which are concerned with conditional expressions. These are:

   AND
   OR
   NOT

All of these logical operators have a different effect on the conditional expressions. Let's see what each of the logical operator does two (or more) conditional expressions...

And

If  *1(Str1 = 'a')  AND  *2(Str2 = 'b') then writeln('Yes, you got it right.');

Expression 1

Expression 2 AND (result)
true true true
false true false
true false false
false false false

If expression 1 and expression 2 are both true(i.e. the user inputs 'a' and 'b' into variables 'Str1' and 'Str2' respectively), the message will be displayed. Above  is a table showing the possible combinations.

So, from the above table, one can conclude that for a logical operation such as AND, to give out a true result, both conditional expressions should be true.

OR

If  *1(Str1 = 'a')  OR  *2(Str2 = 'b') then writeln('Yes, you got it right.');

Expression 1

Expression 2 OR (result)
true
true true
false
true true
true
false true
false
false false

Either expression 1 or expression 2 should be true to display the message. If for example expression 1 is true and any other conditional expressions are false, the result is true! Above is a table(the truth table) showing the possible combinations.

So, from the above table, one can conclude that for a logical operation such as OR, to give out a true result, only one of the conditional expressions should be true.

NOT

Not is almost different from the two logical gates. It only accepts one input and is well-known as the 'inverter'. If for example the result of two conditional expressions is true, the 'not' operator would invert the result to false! So, the of the logical operator, 'not', is to output the inverse of the input. The simple truth table for the not operator is:

Input
Output
true
false
false
true

Example of the AND Operator

Program Lesson6_Program1;
Uses Crt;
Var n1, n2 : string;
             
Begin
 Writeln('Enter two numbers: (''0'' & ''0'' to exit)');
 Repeat
  Write('No.1: ');
  Readln(n1);
  Write('No.2: ');
  Readln(n2);
  If (n1 = '0') AND (n2 = '0') then Halt(0);
 Until (n1 = '0') AND (n2 = '0');
End.

Example of the OR Operator

Program Lesson6_Program2;
Uses Crt;
Var n1, n2 : String;
             
Begin
 Writeln('Enter two numbers: (''1'' & ''2'' to exit)');
 Repeat
  Write('No.1: ');
  Readln(n1);
  Write('No.2: ');
  Readln(n2);
  If (n1 = '1') OR (n2 = '2') then Halt;
 Until (n1 = '1') OR (n2 = '2');
End.

Example of the NOT Operator
Program Lesson6_Program3;
Uses Crt;
Var n1 : String;
             
Begin
 Writeln('Enter two numbers: (any number except 0 to exit)');
 Repeat
  Write('No.1: ');
  Readln(n1);
  If not(n1 = '0') then Halt;
 Until not(n1 = '0');
End. 

The Boolean Expressions

The boolean expressions are the terms 'true' and 'false'. These are simply similar to 1's (for true) and 0's(for false). They describe an expression whether it is false or true. The variable types over boolean expressions is the 'boolean' type. Example:

Var bool : Boolean;

Example Program:

Program Lesson6_Program4; 
Var quit : Boolean;
    a    : String;
             
Begin
 Repeat
  Write('Type ''exit'' to quit:');
  Readln(a);
  If a = 'exit' then quit := True else quit := False;
  If quit = True then Halt; 
 Until quit = True;
End. 

 
 
Comments are no longer accepted due to a defeated battle against an overwhelimg amounts of incoming spam! Apologies for any inconvenience.
 
[HOME][LESSON INDEX][INVITE A FRIEND][FORUM][ABOUT ME]

modified last: September 2005 (Article Version: 2)

mail to: victorsaliba@hotmail.com

© Victor John Saliba 2006  | Privacy Statement | Disclaimer | Contact Us |
 
 
 
www.pascal-programming.info © Victor John Saliba 2006