Операторы языка Delphi. Условный оператор

С помощью условного оператора происходит проверка заданного условия и в зависимости от полученного результата происходит выбор одного из двух действий. Условный оператор представляет средство ветвления алгоритмического процесса.

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

if условие then список операторов 1 else список операторов 2 ;

где if, then, else - зарезервированные слова, по русски означающие - если, то, иначе.

Условие выбора - это логическое выражение (в основном используются операторы сравнения).

список операторов 1 и список операторов 2 - любые операторы языка Delphi.  В состав списка операторов может входить один  оператор или несколько, тогда это должен быть составной оператор. Один из выборов может отсутствовать, (быть пустым). Обычно это выбор действий расположенный после слова else. В такой ситуации, при условии равном FALSE, управление передается операторам следующим сразу за условным оператором.

Алгоритм работы условного оператора имеет следующий вид. Первоначально вычисляется выражение условие. Получаем результат логического типа. Если результат равен TRUE, то выполняются операторы входящие в список операторов 1, а список операторов 2 пропускается. Если результат равен FALSE,  то происходит обратное действие - выполняются операторы входящие в список операторов 2, а список операторов 1 пропускается.

Еще важный момент перед словом else  не ставиться точка c запятой.

Давайте расположим на форме кнопку Button и компонент Label. Для кнопки напишем такой обработчик события:

procedure TForm1.Button1Click(Sender: TObject);
var
i : integer;
begin
i :=2;
if i = 1 then
  begin
   Label1.Caption := 'Переменная i  равна 1';
   Form1.Color := clRed
  end else
  begin
   Label1.Caption := 'Переменная i не равна 1';
   Form1.Color := clGray
  end
end;

Изменяя значение переменной i с 1 на двойку мы увидим работу условного оператора в действии. Как результат будет выбор цвета формы и название заголовка компонента label.

Если условие сложное и само в себе включает несколько условий, то их необходимо объединить путем организации вложений условных операторов или используя логические операторы and, or, xor, not.

В сложных логических выражениях отдельные части-условия необходимо заключать в скобки:

if (i  > y) and (j = 55) then ...

Запись без скобок будет ошибочной, так как компилятор воспримет его следущим образом:

if i > (y and j) = 55 then ...

 Список операторов 1 и список операторов 2 могут содержать любые операторы, в том числе содержать условные операторы. В свою очередь любой из вложенных может содержать в себе еще условные операторы. Бывает не у всех вложенных условных операторах имеется слово else. В этих случаях следует исходить из того, что else всегда ассоциируется с ближайшим к нему (сверху по тексту) словом if, которое еще не связано с else:

var
   i, y, j, k : integer;
begin
// определение значений переменных i, y, j, k
 if (i > y) and (j = 55) then
   if  k > y then
        k := y
   else  // относиться к if  k > y
        y := k;
end;

С помощью комментария можно показывать к какому if относиться else. Это подсказка себе на будущее для компилятора она не имеет никакого значения. Писать вложенных друг в друга составные операторы следует с особой тщательностью, аккуратно, не допуская ошибок и неточностей.

Итог: нами был рассмотрен условный оператор.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>