The most general form of the **IF-THEN-ELSE-END IF** statement
is the following:

whereIF (logical-expression) THEN statements-1 ELSE statements-2 END IF

- the
*logical-expression*is evaluated, yielding a logical value - if the result is
**.TRUE.**, the statements in*statements-1*are executed - if the result is
**.FALSE.**, the statements in*statements-2*are executed - after finish executing statements in
*statements-1*or*statements-2*, the statement following**END IF**is executed.

- The following code first reads in an integer into
**INTEGER**variable**Number**. Then, if**Number**can be divided evenly by 2 (*i.e.*,**Number**is a multiple of 2), the**WRITE(*,*)**between**IF**and**ELSE**is executed and shows that the number is even; otherwise, the**WRITE(*,*)**between**ELSE**and**END IF**is executed and shows that the number is odd. Function**MOD(x,y)**computes the remainder of**x**divided by**y**. This is the the*remainder (or modulo) function*INTEGER :: Number READ(*,*) Number IF (MOD(Number, 2) == 0) THEN WRITE(*,*) Number, ' is even' ELSE WRITE(*,*) Number, ' is odd' END IF

- The following program segment computes the absolute value of
**X**and saves the result into variable**Absolute_X**. Recall that the absolute value of**x**is**x**if**x**is non-negative; otherwise, the absolute value is**-x**. For example, the absolute value of 5 is 5 and the absolute value of -4 is 4=-(-4). Also note that the**WRITE(*,*)**statement has been intentionally broken into two lines with the*continuation line*symbol**&**.REAL :: X, Absolute_X X = ..... IF (X >= 0.0) THEN Absolute_X = X ELSE Absolute_X = -X END IF WRITE(*,*) 'The absolute value of ', x, & ' is ', Absolute_X

- The following program segment reads in two integer values into
**a**and**b**and finds the smaller one into**Smaller**. Note that the**WRITE(*,*)**has also been broken into two lines.INTEGER :: a, b, Smaller READ(*,*) a, b IF (a <= b) THEN Smaller = a ELSE Smaller = b END IF Write(*,*) 'The smaller of ', a, ' and ', & b, ' is ', Smaller

Draw a rectangular box and a vertical line dividing the box into two parts.
Then, write down the logical expression in the left part and draw a
horizontal line dividing the right parts into two smaller ones.
The upper rectangle is filled with what you want to do when the logical
expression is **.TRUE.**, while the lower rectangle is filled with what
you want to do when the logical expression is **.FALSE.**:

logical-expression |
what you want to do when the
logical expression is .TRUE. |

what you want to do when the
logical expression is .FALSE. |

For example, the third example above has the following description:

a <= b |
a is the smaller number |

b is the smaller number |

Although this is an easy example, you will sense its power when you will be dealing with more complex problems.