Условный оператор дает возможность, в зависимости от заданного в нём условия, выполнить то или иное действие, что позволяет разветвлять
вычислительный процесс. Он имеет несколько форм записи:
1. IF <условие> Then<оператор >;
Если условие принимает значение TRUE (истина), тогда (THEN) выполняется оператор, если же FALSE, то оператор не выполняется и управление в этом случае передается оператору, следующему за IF. В качестве оператора может использоваться любой простой или сложный (структурный) оператор.
Примеры записи оператора по этой форме:
IF P>0.2 then go to 13;
Z:=X;
13: P1:=P+3;
…
IF y>x THEN Z:=q+q1 и т. д.
2. IF <условие> Then<оператор 1> Else <оператор 2>;
где условие - логическое выражение;
оператор 1, оператор 2 - любые операторы языка ТР.
Здесь ключевые слова имеют смысл:
IF — если;
THEN — тогда;
ELSE — иначе.
Условный оператор работает следующим образом: если <условие> принимает значение TRUE (истина), то выполняется оператор 1, а оператор 2 пропускается; если - FALSE (ложь), то оператор 1 пропускается, а выполняется оператор 2.
На месте оператора 1 или оператора 2 может стоять группа операторов, заключенных в операторные скобки (Begin ... end).
Часть Else (оператор 2) может быть опущена. Тогда при значении TRUE
условного выражения выполняется оператор 1, в противном случае выполняется оператор, стоящий за оператором IF.
Пример: Вычислить значение функции Y, в зависимости от значения x.
Условный оператор будет иметь вид:
If x>0 Then Y:=a*x+b Else Y:=a*x*x+b;
3. IF <условие1> Then<оператор 1>
Else IF <условие2> Then <оператор 2>
Else <оператор 2>;
Оператор IF является сложным, так как в него входят другие операторы.
В этой форме возможности оператора IF расширены за счет вложенности новых условий.
Пример:
IF T<=Y Then Z:=cos(X)
Else IF T>Q Then Z:=sqrt(T)
Else Z:=sin(X);
Порядок выполнения оператора таков: при T£Y (TRUE) вычисляется Z=COS(X); если это условие FALSE, проверяется значение T>Q. Если оно TRUE, то вычисляется , если это условие FALSE, то просто вычисляем Z=Sin X.