Оператор IF
Оператор IF определяет, что тот или иной оператор должен выполняться лишь в том случае, если справедливо заданное условие /то есть соответствующее булевское выражение принимает значение true /истина/.
Если условие не выполняется, то либо никаких действий не производится, либо выполняется оператор, записанный вслед за словом else /иначе/. Отметим, что перед словом else не нужно ставить точку с запятой.
Некоторую двусмысленность, возникающую при интерпретации синтаксических конструкций, следующего вида:
if expr1 then
if expr2 then
smit1
else
smit2;,
где expr - выржение, smit –оператор,
можно устранить, оформив данную конструкцию следующим образом:
if expr1 then
begin
if expr2 then
smit
else
smit2
end.
Предложение else оператора if-относится обычно к последнему оператору if, у которого нет предложения else.
Пример использования оператора IF. Определить наибольшее значение из переменных a, b, c:
if a>b then if a>c then max := a else max := c else if c>b then max := c else max := b; |
3.3.4.2. Оператор выбора /Case/
Оператор выполняет одну из нескольких альтернативных ветвей программы в зависимости от значения некоторого выражения, называемого индексом выбора. Оператор имеет вид
Case <индекс выбора> of
метки 1: Si;
- - - - - - - - -
метки n: Sn;
end;,
где Case (выбор), of (из), end – служебное слово оператора;
индекс выбора – выражение любого скалярного типа, кроме вещественного;
S – простой или составной исполнимый оператор;
i – список значений индекса выбора.
Метка выбора не описывается в разделе описания. На нее нельзя ссылаться в операторе goto.
Оператор выбора выбирает для исполнения тот оператор Si, одна из меток которого равна текущему значению индекса выбора.
Пример.Определить значение У в зависимости от значения текущей переменной К:
Sin(x), при К = 1, 8
У = Cos(x), при К = 3
Ln(x), при К = 4, 6
Фрагмент программы принимает вид
Case K of 1, 8 : y:=sin(x);
3 : y:=cos(x);
4, 6 : y:=ln(x);
end;
Тип индекса выбора и тип меток должны быть одинаковыми.
Дата добавления: 2015-08-08; просмотров: 496;