Новый не-ответ выявил этот глупый вопрос.
ELSE в IF - это 100% очевидный ответ.Крайне странно, что GO TO должен использоваться, тогда как ELSE может не использоваться.
Другой способ, удивленный, что это не подошло:
MOVE SECOND TO WS
IF FIRST LESS THAN SECOND
MOVE FIRST TO WS
END-IF
MOVE WS TO RESULT
Нет ELSE, нет GO TO,Дополнительный MOVE выполняется, когда FIRST меньше секунды, однако.
Включить GO TO просто, но глупо.Добавить GO TO.GO TO должен пойти куда-нибудь (если не использует ALTER ... TO PROCEED TO ..., чего все надеялись, что вы не были), поэтому сделайте метку в том месте, куда вы хотите, чтобы она прибыла, и добавьте название этой меткиПерейти к.
Метка - это пользовательское слово.Если на него ссылаются (как в этом случае), он должен быть уникальным в СЕКЦИИ, если вы используете СЕКЦИИ, которые вам не нужны, в другом случае уникальны в программе, и независимо от того, ссылаются они или нет, они могут не совпадать с другими именами (как определение данных или внутреннее имя файла).
Метка - это имя процедуры.Имя процедуры должно заканчиваться точкой / полной остановкой, а сама процедура также должна заканчиваться точкой / полной остановкой.
А как насчет MOVE FUNCTION MIN ( ... ) ...
как решения?
Ну, это работает.Если другие сотрудники на вашем сайте не привыкли к нему, вы не будете благодарны за его использование (в любом случае, без предварительного обсуждения).
Что он делает?В Enterprise COBOL компилятор генерирует дополнительную небольшую область, копирует первый аргумент в эту область, проверяет второй аргумент, копирует копию первого аргумента или второго аргумента, в зависимости от того, что имеет отношение к результату.
По сравнению с ELSE, это определенная дополнительная область памяти, дополнительная инструкция для адресации этого и дополнительное перемещение Ассемблера (MVC) плюс отсутствие распознавания готовности.
Лучше для программистов, новыхк COBOL, используется для множества функций на других языках?Не совсем, так как они будут разумно избиты, если не будут писать программы, которые могут быть поняты (в 2 часа ночи) остальным персоналом.
IF FUNCTION MIN(VAR1 VAR2 VAR3 VAR4 VAR5) = 17
Это еще один недостаток FUNCTION.Вы видите, вы можете сделать это.Затем, в 2 часа ночи, когда программа потерпела крах 32 строки спустя, после того, как VAR1 и VAR3 были изменены, вы сможете найти результат этого IF в дампе ядра?Может быть, а может и нет.Зависит от того, были ли использованы какие-либо другие функции и какого типа.В 2 часа ночи ты не хочешь этого.Совсем нет.
С другой стороны, это меньше печатать.Для тех, кто печатает, а не пользуется редактором.