Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
информатика ЗКМЗКЕ_1курс / Основы алг-ции и прог-ие.doc
Скачиваний:
81
Добавлен:
05.06.2015
Размер:
1.88 Mб
Скачать
      1. Условный оператор.

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

IF <логическое выражение> THEN<оператор 1>

[ ELSE <оператор 2>] ;

<следующий оператор >;

Оператор выполняется таким образом: если результат вычисления логического выражения TRUE, то выполняется <оператор 1>, затем <следующий оператор >; если – FALSE, то выполняется <оператор 2>, затем <следующий оператор>. Операторы 1 и 2 могут быть простым или составным оператором. Если часть оператора, начинающаяся ELSE, отсутствует, то при логическом выражении равным FALSE, будет выполняться <следующий оператор>. При вложенности условных операторов ELSE всегда относится к ближайшему предшествующему IF. Следует избегать большой глубины вложенности условных операторов, так как при этом теряется наглядность и возможно появление ошибок.

Например,

… IF A > 0 THEN P := P + 1

ELSE

IF A < 0 THEN O := O + 1

ELSE N := N + 1 ; …

… IF A > 0 THEN

BEGIN

S := S+ A ; K := K + 1

END ;…

      1. Оператор выбора.

Оператор выбораCASEможет быть использован вместо условного оператора, если требуется сделать выбор более, чем из двух возможностей.

C

]

[

ASE
<селекторное выражение> OF

<метка> ,<метка> : <оператор 1> ;

[

]

,<метка> . . <метка>

<метка> ,<метка> : <оператор 2> ;

,<метка> . . <метка>

[

]

. . . . .

<метка> ,<метка> : <оператор n>;

,<метка> . . <метка>

[ ELSE <оператор>]

END;

Селекторное выражение(селектор, переключатель) и метки-константы (метки варианта, метки выбора) должны иметь один и тот же простой тип (кроме вещественного). Метки-константы в отличие от меток программы не требуется описывать в разделе описания меток. Но на них нельзя ссылаться в оператореGOTO. Метки варианта могут быть перечисляемого и интервального типа.

<оператор 1>,<оператор 2>,<оператор n> - простой или составной оператор.

Оператор выбора выполняется следующим образом. Сначала вычисляется селекторное выражение; затем выполняется оператор, метка варианта которого равна текущему значению селектора; после этого происходит выход из оператора CASEна следующий оператор. Если значение селектора не совпадает ни с одной из меток варианта, будет выполнен оператор послеELSE. Если ветвь ELSE отсутствует, то управление передается следующему заCASEоператору.

Например,

CASE K OF

0: Z := LN(X) ;

1: Z := EXP(X) ;

2: Z := SIN(X) ;

3: Z := COS(X)

ELSE

Z := 0

END ; …

В этом примере результат вычисляется по одной из стандартных функций в зависимости от параметра К, который получает свое значение перед выполнением этого оператора.

В следующем примере переменная OTVETполучает значениеYESилиNOв зависимости от введенного значения символьной переменнойV. Здесь метки варианта задаются перечислением.

… VAR V : CHAR;

OTVET : STRING;

CASE V OF ‘D’, ‘d’, ‘Д’, ‘д’ : OTVET := ‘YES’;

N’, ‘n’, ‘Н’, ‘н’ : OTVET := ‘NO’

ELSE

OTVET := ‘ ‘

END; …

В следующем примере метки выбора заданы интервалом.

VAR V : CHAR;

OTVET : STRING;

CASE V OF ‘A’ . . ‘Z’,’a’ . . ‘z’ : OTVET := ‘буква’;

0’ . . ‘9’ : OTVET := ‘цифра

ELSE

OTVET := ‘специальный символ‘

END; …