Scorpio News |
January–March 1987 – Volume 1. Issue 1. |
Page 19 of 63 |
---|
Two types of IF UF statement are used in Fortran – the arithmetic form and the logical form. The arithmetic IF takes the form:
IF(expression) L1,L2,L3 (L1,L2 and L3 are statement numbers)
If the value of the expression is less than 0, control passes to statement no. 1, if it is equal to 0 then statement no. 2 to and if it is greater than 0, control passes to the last named statement –
IE(N-1) 3,5,7 | – | if the value of N-1 is 0 then control passes to the statement label no. 5 |
The Logical IF statement has an almost exact parallel in BASIC and it takes the form:
IF(logical expr.) statement
The logical expression is evaluated as .TRUE. or .FALSE.; if true, control passes to the statement immediately following otherwise control passes to the next program line. The logical expression can contain both logical and relational operators, which are defined as follows:
.NOT. .AND. .OR, .XOR.
.LT. | less than |
.EQ. | equal to |
.GT. | greater than |
.LE. | less than or equal to |
.NE. | not equal to |
.GE. | greater than or equal to |
Relational operators are self explanatory but Logical operators may need a little clarification.
If A and B are logical expressions, then:
.NOT.A | is the logical opposite of A (0 bits become 1 and vice versa) |
A.AND.B | the value of this expression is the product (logical) of A and B. This implies that the value is .TRUE. if A and B are .TRUE. and .FALSE. otherwise |
A.OR.B | this produces the logical sum of A and B. In this case the value is .FALSE. if A and B are .FALSE. and .TRUE. otherwise. |
A.XOR.B | the value of this expression is the exclusive OR of A and B. Here, the value is .TRUE. if only one of A and B is .TRUE. otherwise it is .FALSE.. |
This is self explanatory. It causes program execution to cease at that point; if the form:
STOP (string of 1 – 6 characters)
is used, then the characters in the string will be printed out on the monitor and program execution then finishes.
Page 19 of 63 |
---|