Шаг 18.
Условная передача управления. Оператор If...Then...Else

    Здесь мы начнем знакомство с конструкциями, позволяющими создавать разветвляющиеся программы.

    Нам часто приходится что-либо делать лишь при выполнении определённых условий. Аналогичное положение мы встречаем и в математике, например,
             если x<0, то вычислить y=x+1,
             если x>=0, то вычислить y=2x.
Это условие можно записать короче:
             если x<0, то вычислить y=x+1,
             иначе вычислить y=2x .

    Таким образом, в зависимости от значения условия выполняется одно из двух действий. Для программирования таких ситуаций в языке Pascal предусмотрен условный оператор, общий вид которого следующий:


Рис.1. Общий вид условного оператора

    Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Значением логического выражения является истина (True) или ложь (False). Если условие истинно, то выполняется <оператор1>, в противном случае - <оператор2>. После служебных слов Then и Else могут выполняться несколько операторов. Как объяснить, какие операторы должны быть выполнены? В этом случае на помощь приходят операторные скобки Begin и End, которые отмечают соответственно начало и конец требуемой группы операторов.

Примечание. После <оператора1>, то есть перед служебным словом Else, символ ";" (точка с запятой) не ставится!!!

    Условные конструкции могут содержать не одно, а несколько условий. Для объединения этих условий в одном условном операторе применяются следующие логические операции: NOT (отрицание), AND ("и"), OR ("или"), XOR (исключающее "или"). Обозначения и результаты этих операций рассмотрены на 14 шаге. Приведем пример: запишем на языке Pascal формулу:


Соответствующий ей условный оператор будет выглядеть следующим образом:


    If (x>=0) and (x<=14) Then y:=x-12
    Else y:=x*x;

Примечания.
    1. Отношения, стоящие слева и справа от знака логической операции, должны быть заключены в скобки, поскольку логические операции имеют более высокий приоритет.
2. Принят следующий приоритет операций:



    На следующем шаге мы рассмотрим сокращенную форму условного оператора.


Предыдущий шаг Содержание Следующий шаг