Условный оператор и его применение для организации ветвлений

Условный оператор предназначен для изменения порядка выполнения операторов при выполнении логического условия.

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

IF <условие> THEN <оператор1> [ELSE <оператор2 >];

Если условие истинно, то выполняется <оператор1>.

Если условие ложно, то выполняется <оператор2>.

Если не задана конструкция “ELSE”, то при ложном условии выполняется переход к следующему оператору.

Логические условия подразделяются на простые условия и сложные условия.

Простое условие представляет собой два выражения, между которыми помещается знак сравнения. Например: Price*Quant>=Max.

Сложное условие представляет собой последовательность простых условий, которые соединены между собой знаками логических операций And, OR, NOT. Простые условия, используемые при формировании сложного логического условия, обязательно выделяются скобками.

Пример:

If ((Day >= 22) And (Month = 12)) Or

((Day <= 20) And (Month = 1)) Then

ZnakZ:=’Козерог’;

В том случае, когда в зависимости от условия требуется выполнить несколько операторов, то они объединяются с помощью операторных скобок ‘Begin’ и ‘End’ в составной оператор.

Пример:

If A = 0 Then

Begin

X:= 4; Y:= X + 2;

Z:= X / Y;

End;

Управление ветвлениями с помощью оператора Case.

В том случае, если необходимо разветвление на значительное число ветвей алгоритма, то целесообразно использовать оператор "Case". Синтаксис оператора

Case <селекторное выражение> Of

<значение 1>: <оператор 1>;

<значение 2>: <оператор 2>;

...

<значение N>: <оператор N>;

[ Else <оператор>;]

End;

В простейшем случае, селекторное выражение, представляет собой переменную, объявленную с типом Integer. При выполнении команды "Case" поочередно просматриваются все заданные значения. Если значение переменной совпадает с заданным значением, то выполняется заданная команда. Все заданные значения должны быть уникальны.

Конструкция "Else" определяет команду, которую необходимо выполнить, если заданные значения не совпадают с имеющимся значением селекторного выражения.

Ветви оператора "Case" могут содержать команду "Case".

Пример. Ввести числовое значение дня недели и выдать на экран его символьное обозначение.

Program PrjCase;

{$APPTYPE CONSOLE}

Uses

SysUtils;

Var

A:Integer;

S:String;

Begin

Writeln ('Input number');

Readln (A);

Case A Of

1: S:='Monday';

2: S:='Tuesday';

3: S:='Wednesday';

4: S:='Thursday';

5: S:='Friday';

6: S:='Saturday';

7: S:='Sunday';

Else S:='Mistake number';

End;

Writeln (S);

Readln;

End.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: