Axiom Справочник языка

Глава 5

Условия и выбор действий

Программа, которая выполняет все инструкции подряд, не учитывает данные: одну и ту же последовательность действий она проходит при любом результате. Чтобы выбрать действие по значению, нужны условные конструкции. Проверку логического условия выполняет IF, а сопоставление одного значения с несколькими вариантами — SELECT CASE. Обе конструкции описаны в статьях главы; здесь объясняется, как они устроены и когда какая подходит.

Условие как основа выбора

Операция сравнения отвечает на вопрос о значении и возвращает TRUE или FALSE. Этот результат определяет, какая ветвь программы выполнится. В следующей программе оценка сравнивается с порогом, и вывод зависит от исхода сравнения:

DIM score AS INTEGER = 74
IF score >= 60 THEN
    PRINT "Зачёт"
ELSE
    PRINT "Нужно повторить"
END IF

Результат:

Зачёт

Сравнение 74 >= 60 дало TRUE, поэтому выполнилась первая ветвь, а вторая была пропущена.

Выбор конструкции

Используйте IF, когда условия относятся к разным данным или требуют логического объединения. Используйте SELECT CASE, когда выбираете действие по одному значению: категории, коду, диапазону или строке. В первом случае каждое условие записывается отдельно, во втором значение выбора указывается один раз, а ветви перечисляют его варианты.

Общее у обеих конструкций то, что ветвление выполняет только подходящий блок. После окончания выбранной ветви программа продолжает работу ниже всей условной конструкции. Имена, объявленные внутри ветви, имеют область видимости этой ветви.

Короткая проверка

Если в каждой ветви требуется одно действие, оператор IF можно записать на одной строке:

DIM count AS INTEGER = 0
IF count = 0 THEN PRINT "Пусто" ELSE PRINT "Есть данные"

Пример выводит Пусто. Часть ELSE необязательна. Однострочная форма не требует END IF; несколько действий и дополнительные условия ELSEIF записывают блочной формой. Подробные правила приведены в статье «Оператор IF».

Статьи главы

См. также