依照敘述出現的先後次序執行, 每一敘述執行一次.
.TRUE.
.FALSE.
LOGICAL list
例如,
LOGICAL ENDATA, SORTED, NEG, SATUR
SATUR = .TRUE.
NEG = SATUR
X .LE. 1.0
B**2 .GE. 4*A*C
.GT. >
.LT. <
.GE. >=
.LE. <=
.EQ. =
.NE. !=
注意 -- FORTRAN 90 已可直接使用符號。
使用 .EQ. 和 .NE. 時,記得許多實數值都不能準確地儲存。 因此用 .EQ. 比較兩項實數值,往往結果為 .FALSE.,即使兩數在代數上相等。
例題: APPROX : roundoff error
.NOT.
.AND.
.OR.
.EQV.
.NEQV.
(N .GT. 10) .AND. (N .LT. 100)
(A .AND. B) .OR. (.NOT. A .AND. .NOT. B)
()
* / %
+ -
.GT. .LT. .GE. .LE. .EQ. .NE.
.NOT.
.AND.
.OR.
.EQV. .NEQV.
例題:
HADDER : Half Adder
IF (score .GT. 60) THEN
PRINT *, '及格'
END IF
IF (score .GT. 60) PRINT *, '及格'
IF (score .GT. 60) THEN
PRINT *, '及格'
ELSE
PRINT *, '不及格'
END IF
例題:
IF (score .GT. 80) THEN
PRINT *, '甲'
ELSE
IF (score .GT. 70) THEN
PRINT *, '乙'
ELSE
IF (score .GT. 60) THEN
PRINT *, '丙'
ELSE ...
END IF
END IF
END IF
注意: ELSE's 和最接近的 IF 配對
IF (score .GT. 80) THEN
PRINT *, '甲'
ELSE IF (score .GT. 70) THEN
PRINT *, '乙'
ELSE IF (score .GT. 60) THEN
PRINT *, '丙'
ELSE ...
END IF
例題:
QUAD3 : 解二次方程式