DO m, WHILE (логическое выражение)
…
Область цикла
…
M CONTINUE
Здесь происходит выполнение цикла в области до метки m до тех пор, пока выполняется (TRUE) логическое выражение в скобках. Если логическое выражение стало ложным (FALSE), то управление передаётся оператору, следующему после области цикла.
Пример:
X=XN
DO 5, WHILE (X.LT.XK)
Z=…
WRITE (…
5 X=X+DX
Следующая модификация цикла DO:
DO WHILE (логическое выражение)
…
Область цикла
…
END DO
Цикл выполняется, пока логическое выражение не примет значение FALSE.
Кроме того, внутри цикла DO WHILE или оператора DO (в котором цикл заканчивается оператором END DO) используются операторы CYCLE (цикл) и EXIT (выход). Оператор CYCLE передаёт управление на конец цикла, а оператор EXIT осуществляет выход из области цикла и передаёт управление оператору, следующему после END DO.
Пример:
X=XN
DO WHILE (X.LT.XK)
Y=…
Z=…
IF (Y.LT.0.05) CYCLE
IF (Z.GT.10.5) EXIT
WRITE (…
X=X+DX
END DO
Строки IF(Y.LT.0.05) CYCLE и IF (Z.GT.10.5) EXIT соответствует следующим операциям:
DO 8 I=1,10
X=…
IF(Y.LT.0.05) GO TO 8
IF (Z.GT.10.5) GO TO 10
WRITE …
8 CONTINUE
10 Y=…
Модификации оператора цикла DO удобно использовать в тех случаях, когда не заданы начальные и конечные значения цикла, а цикл должен выполняться только тогда когда выполняется какое либо условие.
Дата добавления: 2015-06-10; просмотров: 1040;