## 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.

## No responses yet