# (Logical Operations)

Objectives

• Logical Operators

• Relational Operators

• Logical Expressions

Logical Operators

.AND            .OR.              .NOT.

Examples

 P Q P .AND. Q P .OR. Q .NOT. P .FALSE. .FALSE. .FALSE. .FALSE. .TRUE. .FALSE. .TRUE. .FALSE. .TRUE. .TRUE. .TRUE. .FALSE. .FALSE. .TRUE. .FALSE. .TRUE. .TRUE. .TRUE. .TRUE. .FALSE.

Priority of Logical Operators

1. .NOT.

2. .AND.

3. .OR.

Relational Operators

 Operator Meaning Example .LT. Less than X  .LT.  Y .LE. Less than or equal to Y  .LE.  Z .EQ. Equal to A  .EQ.  B .NE. Not equal to A  .NE.  C .GT. Greater than B  .GT.  D .GE. Greater than or equal to D  .GE.  F

Examples

If A = 4.7, B = 4.3 and  C = 3.4

A .GT. B    evaluates to .TRUE.

B .LT. C     evaluates to .FALSE.

Logical Expressions

Example

Given that X has a value of 3.0, Y has a value of  5.0, Z has a value of 10.0, and FLAG

is a logical variable with .FALSE. Value,  evaluate the following FORTRAN expression:

GOAL = .NOT. FLAG .AND. X*Y .GT. Z .OR. X + Y .GT. Z

Exercise 1

A > 5

B < 8

9 <= X <= 15

18 > Y >= 12

17 > Z > 33

(X > 6) AND (Y >= 14)

###### Exercise 2

Complete the following program by making the assignment:

GOAL = .NOT. FLAG .AND. X*Y .GT. Z .OR. X + Y .GT. Z

X = 4.5 , Y= 6.5 , Z = 11.0

LOGICAL  FLAG , GOAL

REAL  X, Y, Z

FLAG = .FALSE.

X  =  ---------------

Y  =  ---------------

Z  =  ---------------

PRINT*, ' THE OUTPUT IS = ' , GOAL

END

Exercise 3

Complete the following program by making the assignment:

GOAL = X*Z .EQ. 20.0  .OR. FLAG .AND. .NOT. Z .EQ. 25.0

X = 5.5 , Z = 12.0 , FLAG = .FALSE.

LOGICAL   -------------------------------

REAL         -------------------------------

GOAL =      -------------------------------

PRINT*, ' THE OUTPUT IS = ' , ------------------

END