Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2012 02 26 Основы программирования в Delphi.docx
Скачиваний:
4
Добавлен:
16.08.2019
Размер:
204.56 Кб
Скачать
  1. Управление вычислениями Операторы if, then, else

Оператор if используется для проверки некоторого условия с последующим выполнением (или невыполнением) некоторых операторов.

Рассмотрим пример:

var

X : Integer;

begin

X := StrToInt(Edit1.Text);

if X > 10 then

Label1.Caption := 'Вы ввели число больше чем 10.';

end;

В этом фрагменте кода от компонента Edit1 (такой компонент должен быть на форме) мы получаем значение целого числа, которое вводит пользователь. Если введенное число окажется больше 10, значением выражения x > 10 будет True и на экране появится сообщение, а в противном случае – нет. Когда условие истинно, выполняется оператор, который следует сразу после выражения if...then. Иными словами, условная часть оператора следует сразу после then.

Новый термин: Оператор if используется для проверки истинности некоторого условия и выполняет один или несколько операторов если это условие истинно.

Выполнение нескольких инструкций.

Допустим, что при истинном условии необходимо выполнить несколько операторов. В данном случае группу операторов следует объединить в один блок – ограничить ключевыми словами begin – end:

if X > 10 then

begin

Label1.Caption := 'Вы ввели число больше 10.';

DoSomethingWithNumber(X);

end;

Если условное выражение примет значение False, блок кода, связанный с выражением if игнорируется, а выполнение программы продолжается с оператора, следующего за этим блоком.

ПРИМЕЧАНИЕ. При проверки истинности переменной логического типа достаточно употребить ее имя в соответствующем контексте. Пусть

var

FileGood : Boolean;

Тогда вместо if FileGood = True then ReadData;

можно написать if FileGood then ReadData;

Следующий пример показывает как применить операцию отрицания

var

FileGood : Boolean;

begin

FileGood := OpenSomeFile;

if not FileGood then ReportError;

end;

Когда при истинности условия требуется выполнить одно действие, а при его ложности – другое, в состав условного оператора вводят else:

if X = 20 then

DoSomething(X)

else

DoADifferentThing(X);

В этом примере будет выполнено одно из двух действий – либо процедура DoSomething, либо процедура DoADifferentThing.

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

Обратите внимание на то, что перед else нет «точки с запятой». Это связано с тем, что вся последовательность if...then...else образует один оператор.

Приведем еще несколько примеров синтаксиса if...then...else

if X = 20 then

DoSomething(X)

else

DoADifferentThing(X);

if X = 20 then

begin

DoSomething(X);

end else

begin

DoADifferentThing(X);

end;

if X = 20 then

begin

DoSomething(X);

X := 200;

Y := 30;

end else

begin

DoADifferentThing(X);

X := 100;

Y := 15;

end;

Вложенные условия.

Операторы if могут быть вложены друг в друга произвольное число раз:

if X > 10 then

if X < 20 then

Label1.Caption := 'Значение X заключено между 10 и 20';

Имейте в виду, что это упрощенный пример. В сложной последовательности вложений легко запутаться, особенно когда много begin – end операторов выделяют блоки кода:

if X > 100 then begin

Y := 20;

if X > 200 then begin

Y := 40;

if X > 400 then begin

Y := 60;

DoSomething(Y);

end;

end;

end else if X < -100 then begin

Y := -20;

if X < -200 then begin

Y := -40;

if X < -400 then begin

Y := -60;

DoSomething(Y);

end;

end;

end;

ПРИМЕЧАНИЕ. Если фрагмент кода содержит две и более последовательностей условий, проверяющих значения одной и той же переменной, то вместо условного оператора лучше применить оператор case (см. ниже).

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

if (X = 20) and (Y = 50) then DoSomething;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]