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

Оператор условия IF является одним из самых популярных средств, изменяющих естественный порядок выполнения операторов и реализует развилку в зависимости от заданного условия.
Он может быть записан в полной форме
     if <условие> then <оператор1> else <оператор2>;
или неполной форме
    if <условие> then <оператор1>;

На месте операторов может стоять любой допустимый в языке оператор, в том числе условный или составной.


Полный условный оператор выполняется следующим образом: сначала вычисляется значение условия, если оно истинно (равно true), то выполняется оператор, относящийся к ветке then, если же условие ложно (false), то выполняется оператор, относящийся к ветке else.

Например, найти максимум из 2 чисел
if  a > b then max := a else max := b;

Неполная форма if предполагает выполнение оператора (или операторов) только в случае выполнения условия. В случае, если условие ложно, управление передается на следующий оператор после оператора if.

Например, поменять местами значения переменных a и b, если a > b.
if a > b then begin temp := a; a := b; b := temp; end;

Если по ветке then (и / или по ветке else) необходимо выполнить более одного оператора, то необходимо всю последовательность команд заключить в операторные скобки begin end.
if <условие> then
begin
    <оператор>;
    …
    <оператор>;
end
else
begin

    <оператор>;
    …
    <оператор>;
end;

Например, ...


Если в ветке then используется условный оператор, то допустима следующая конструкция:
if  <условие1> then
   if <условие2> then <оператор1>
   else <оператор2>;

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


if  <условие1> then
begin
  if <условие2> then <оператор1>
end
else <оператор2>;

 

ЗАПОМНИ! Перед else никогда не ставится знак ; (точка с запятой).

При сравнении значения логической переменой с константами true или false можно пользоваться сокращенной записью.
Запись оператор if a = true  эквивалентна записи if a.
Аналогично, запись оператора if a = false соответствует оператору if not a.
Адрес: 614039, г. Пермь, ул. Комсомольский проспект, 45
Телефон: +7 (342) 212-80-71
E-Mail: school9-perm@ya.ru
Вопрос администратору сайта