``` Handling Arithmetic, Logical and Character Operators in FORTRAN 77 - EaseMyPhD
Subscribe To Our Newsletter
Enter your email to receive a weekly round-up of our best posts. Learn more!
icon

1. Arithmetic Operations

Arithmetic operations are denoted by following arithmetic operators:

  • Addition +
  • Subtraction –
  • Multiplication *
  • Division /
  • Exponentiation **

Order of Precedence

Operands of an arithmetic operation may be a numeric constant, numeric variable or an arithmetic expression in parentheses. Two operators cannot be written consecutively. Operations must be defined in a particular sequence as is done in a simple mathematics using BODMAS rule. But here the rules are slightly different from standard BODMAS.

Evaluation begins with the leftmost operand and follow the trend:

  • **
  • * /
  • + –

such that operators in the same line have equal precedence and precedence decreases downwards. A parenthesized expression is evaluated first than others. Exponentiation is performed from the right to left to in contrast to other operators that are applied from left to right.

Example 1: 2**3**3 = 2*27 = 134,217,728

Example 2: 9/5*100 = 1*100 = 100

Type Rules

Broadly, three rules are worth considering here for application of arithmetic operators. Firstly, if both the operands are of same type. i.e both are of type REAL or both are INTEGER, then the result is also REAL or INTEGER respectively. Secondly, when a INTEGER operates upon another INTEGER, result may be a REAL for example while computing 7/5, we get 1.4. In such a case, FORTRAN truncates the answer to the corresponding INTEGER value and thus result in the above case is 1. Lastly, If one operator is INTEGER and other is REAL, firstly convert the INTEGER to its REAL equivalent and then compute the result. This way result obtained is of type REAL.

Arithmetic Assignment

numeric_variable= arithmetic expression

Example:

REAL   A B C
A  =  B+C

2. Logical Operations

Logical operations use following operators:

  • Both A and B are true – .AND
  • Either A or B is true – .OR
  • A is not true – .NOT
  • If A is true/false, B is also true/false – .EQV
  • If A is true, B is false or vice versa – .NEQV

where A and B are logical expressions and the syntax for the operation is

Logical Expression (A) _Logical operator_Logical Expression (B)

Logical Expressions

Syntax for a logical expression is

Arithmetic Expression _ Relational Operator _ Arithmetic Expression

There are several Relational Operators:

  • Less Than – .LT.
  • Less Than or equal to – .LE.
  • Greater Than- .GT.
  • Greater Than or Equal To – .GE.
  • Equal to – .EQ.
  • Not Equal To- .NE.

Logical Assignment

LOGICAL VALID 
VALID= X.GT.MIN .AND. X.LT.MAX

This means Answer is VALID when X is greater than MIN and less than MAX.

Order of Precedence

  • Arithmetic Operators
  • Relational Operators
  • .NOT.
  • .AND.
  • .OR.
  • .EQV. and .NEQV.

3. Character Operations

The only character operator is concatenation operator whose symbol is //. Here a//z means concatenate a with z. In a character operation , operands are of type character. They may be constant, variable, string, function or an array element.

Subscribe To Our Newsletter
Enter your email to receive a weekly round-up of our best posts. Learn more!
icon

No responses yet

Leave a Reply

Your email address will not be published. Required fields are marked *


[instagram-feed feed=1]

Translate »

Notice: Undefined index: sfsi_riaIcon_order in /home/u429894052/domains/easemyphd.com/public_html/wp-content/plugins/ultimate-social-media-icons/libs/controllers/sfsi_frontpopUp.php on line 165

Notice: Undefined index: sfsi_inhaIcon_order in /home/u429894052/domains/easemyphd.com/public_html/wp-content/plugins/ultimate-social-media-icons/libs/controllers/sfsi_frontpopUp.php on line 166

Notice: Undefined index: sfsi_inha_display in /home/u429894052/domains/easemyphd.com/public_html/wp-content/plugins/ultimate-social-media-icons/libs/controllers/sfsi_frontpopUp.php on line 252
error

Enjoy this blog? Please encourage us by following on

Instagram