Навигация
Оглавление
Оператор ветвления if
Оператор ветвления if - одно из самых популярных средств, изменяющих естественный порядок выполнения операторов программы. Вот его общий вид:

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

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

Логика работы оператора if очевидна: выполнить оператор 1, если условие истинно, и оператор 2, если условие ложно. Поясним сказанное на примере:

program Console;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
A, B, C: Integer;

begin
A := 2;
B := 8;
if A > B then
C := A
else
C := B;
Writeln('C=', C);
Writeln('Press Enter to exit...');
Readln;
end.

В данном случае значение выражения А > В ложно, следовательно на экране появится сообщение C=8.

У оператора if существует и другая форма, в которой else отсутствует:
if <условие> then <оператор>;

Логика работы этого оператора if еще проще: выполнить оператор, если условие истинно, и пропустить оператор, если оно ложно. Поясним сказанное на примере:

program Console;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
A, B, C: Integer;

begin
A := 2;
B := 8;
C := 0;
if A > B then C := A + B;
Writeln('C=', C);
Writeln('Press Enter to exit...');
Readln;
end.

В результате на экране появится сообщение С=0, поскольку выражение А > В ложно и присваивание С := А + В пропускается.

Один оператор if может входить в состав другого оператора if. В таком случае говорят о вложенности операторов. При вложенности операторов каждое else соответствует тому then, которое непосредственно ему предшествует. Например:

program Console;

{$APPTYPE CONSOLE}

uses
SysUtils;

var
A: Integer;

begin
Readln(A);
if A >= 0 then
if A <= 100 then
Writeln('A попадает в диапазон 0 - 100.')
else
Writeln('A больше 100.')
else
Writeln('A меньше 0.');
Writeln('Press Enter to exit...');
Readln;
end.

Конструкций со степенью вложенности более 2-3 лучше избегать из-за сложности их анализа при отладке программ

 

Сайт создан в системе uCoz