Это arithmetic if
statement из FORTRAN 77. Адаптированная из спецификации Fortran 77 (курсив мой):
виде арифметического IF
утверждения:
IF (e) s1 , s2 , s2
где: e
- целочисленное, реальное или двойное точное выражение
s1
, s2
и s3
- это метка оператора исполняемого оператора, которая появляется в том же программном блоке, что и оператор арифметики IF
. Тот же ярлык оператора может появляться более одного раза в одном и том же арифметическом операторе IF
.
Выполнение арифметических IF
заявления вызывает вычисление выражения e
с последующей передачей управления. Заявление, обозначенное s1
, s2
или s3
, выполняется следующим образом, когда значение e
меньше нуля, равное нулю или больше нуля, соответственно.
Для примера в вашем вопросе, из последнего предложения выше,
- Если
J1-3 < 0
оператор 20 будет выполнен
- Если
J1-3 = 0
оператор 20 также будет выполнена
- Если
J1-3 > 0
заявление 21 будет выполнен
Edit: Современный и гораздо более удобным для чтения способом, чтобы написать это было бы:
if (J1-3 > 0) J1 = J1 - 3
if (J2-3 > 0) J2 = J2 - 3
Это не было, что странно в первые дни FORTRAN - это _The only_ условный оператор доступен на языке то. –