Условный оператор IF - THEN
Оператор IF-THEN позволяет Вам определять операции, которые будут выполнены только при выполнении некоторого условия.
Синтаксис: If Условие Then Действие;
Здесь Условие – это некоторое логическое выражение. Оно должно быть верным для того чтобы было выполнено Действие. Обычно эта часть синтаксиса используется совместно с другими операторами и командами. Например:
Variable: HighValue(0);
If High > High[1] Then HighValue = (High + High[1])/2;
Plot1(HighValue, "High Values");
Мы сначала объявляем переменную HighValue, затем проверяем условие с помощью оператора IF-THEN, после чего определяем новое значение для объявленной переменной. После этого рисуем график полученных значений (оператор Plot1).
Немного изменим пример:
Variable: HighValue(0), Compare(False);
Compare = High > High[1];
If Compare = True Then HighValue = (High + High[1])/2;
Plot1(HighValue, "High Values");
Здесь наряду с числовой переменной HighValue объявляется логическая переменная Compare. Затем этой переменной присваивается результат сравнения High > High[1] (верно или неверно). И если это выражение верно, строится график полученных значений. В выражении
If Compare = True Then
можно опустить часть «=True», т.к. это подразумевается. Т.е. можно записать If Compare Then.
В операторе IF-THEN в качестве условий могут использоваться более сложные логические выражения, соединенные словами OR и AND.
Блок команд в операторе IF-THEN. Для того, чтобы при выполнении условия в операторе IF-THEN выполнялось несколько команд, необходимо использовать специальные слова Begin и End, между которыми и находятся все необходимые команды. Например:
If High > High[1] AND Low < Low[1] Then Begin Plot1(High, "High Values"); Plot2(low, "Low Values"); End;
Здесь при выполнении условия High > High[1] AND Low < Low[1] происходит построение графиков значений High и Low. После слова Begin точка с запятой не ставится, она ставится только после слова End, а также после каждой команды в блоке.
Существует конструкция, которая позволяет выполнять некоторые действия не только если исходное условие верно, но и если оно неверно. Для этого используется оператор IF-THEN-ELSE. Например:
Variable: HighValue(0), Compare(False);
Compare = High > High[1]; HighValue = (High + High[1])/2; If Compare Then Plot1(HighValue, "High Values") Else Plot2(Low, "Low Values");
Если условие Compare верно, то происходит построение графика значений переменной HighValues. Если это условие не выполняется, то происходит построение графика значений Low.
Конструкция оператора IF-THEN-ELSE IF. Подобная конструкция позволяет проверять несколько условий и в зависимости от них выполнять некоторые действия. Рассмотрим пример:
Variable: Var1(0), Var2(0), Var3(0);
Var1 = (Open + Open[1])/2; Var2 = (Open + Open[1])*1.5/2; Var3 = (Open + Open[1])*0.5/2;
If Open > Open[1] Then Plot1(Var1, "Values for Open") Else If Open < Open[1] Then Plot1(Var2, "Values for Open") Else Plot1(Var1, "Values for Open");
Здесь мы сначала объявляем и присваиваем значения трем переменным. Затем, если верно первое условие, то строим график первой переменной. Если верно второе условие, то строим график второй переменной. Если первое и второе условия неверны, то строим график третьей переменной.
Вложенный условный оператор. Если в качестве одной из команд внутри блока в операторе IF-THEN используется другой оператор IF-THEN, то такая конструкция называется вложенным условным оператором. Например:
Variable: Var1(0);
If Open > Open[1] Then Begin If Close > Open Then Var1 = Close - Open Else Var1 = Open - Close End;
Здесь если текущая цена открытия больше предыдущей, то проводим дополнительную проверку условия Close > Open, в зависимости от которой присваиваем значение переменной. |