logo search
Информатика_ЗФ / 2013_Информатика УМО_легпром

Условный операторIf … then

Далеко не всякий алгоритм можно описать только линейными структурами. Условный оператор позволяет реализовать алгоритмическую структуру «Ветвление», показанную на рисунке 11.1, и выполнить нужный вариант вычислений из двух (или более) предусмотренных в зависимости от выполнения некоторых условий (логических выражений).

Рис. 11.42. Базовая алгоритмическая структура «Ветвление»

Для реализации структуры «Ветвление» (Если – То – Иначе) и её частного случая «обход» (Если – То) в VBA используется так называемый строчныйвид оператораIF … THEN. Его синтаксис имеет следующий вид:

IF условиеTHEN операторы_А[ELSE операторы_В]

В качестве условия (англ. condition) может выступать любое выражение, значение которого расценивается как истина (не ноль) или ложь (ноль). А в качестве операторов А и В – один или несколько, разделённых двоеточиями, операторов. Если опустить часть оператора в квадратных скобках, то будет реализована структура «обход». Приведём пример использования оператораIF … THEN, в котором можно обойтись без комментариев:

IF рейтинг < 60THEN итог = «незачёт»ELSE итог = «зачёт»

Блочныйвид оператораIF … THENпозволяет, кроме того, реализовать более сложное вложенное ветвление. Синтаксис этого оператора имеет следующий вид:

IFусловие_1THEN

[блок_операторов_1]

[ELSEIFусловие_2THEN

[блок_операторов_2]]

[ELSE

[блок_операторов_иначе]]

ENDIF

В отличие от строчной, блочная форма оператора IF … THENдопускает использование нескольких условий, после каждого из которых следует (необязательный) блок операторов, выполняющийся только в случае истинности соответствующего выражения. Следующее условие проверяется только в случае ложности предыдущего. В случае же истинности одного из условий (и последующего выполнения соответствующего блока операторов) никакие дальнейшие условия блочного оператораIF … THENуже не проверяются, а выполнение программы продолжается с оператора, следующего за ключевым словомENDIF.

Исчерпывающее рассмотрение базовой управляющей алгоритмической структуры «Ветвление» даётся в практикуме [20]. Мы же ограничимся приведением ещё одного примера, комментарии к которому могут быть составлены заинтересованным читателем самостоятельно:

IFрейтинг < 55 THEN

итог = «неудовлетворительно»

ELSEIFрейтинг < 70 THEN

итог = «удовлетворительно»

ELSEIFрейтинг < 85 THEN

итог = «хорошо»

ELSE

итог = «отлично»

ENDIF