Условный оператор
End
Begin
Begin
y:=x/2;
x:=x+h;
Sym:='A';Str:='Строка'
end;
Условный оператор используется для программирования развилки, если условие сформулировано как логическое выражение.
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;
Примеры полных условных операторов:
IF x<0 THEN i:=i+1 ELSE j:=j+1;
IF (x<y) AND (x<>0) THEN begin x:=y/x; y:=y+k end ELSE begin x:=x+0.01; y:=y-k end;
Примеры использования условного оператора в сокращенной форме:
IF x>y THEN Max:=x;
IF x<>0 THEN begin a:=y/x; Writeln('A= ', a:6:2) end;
Оператор выбора CASE может быть использован вместо условного оператора, если требуется сделать выбор более, чем из двух возможностей.
CASE <селекторное выражение> OF
<метка1>: <оператор 1>;
<метка2>: <оператор 2>;
…………..
<меткаN>: <операторN>
[ ELSE <оператор>]
END;
Селекторное выражение (селектор, переключатель) и метки-константы (метки варианта, метки выбора) должны иметь один и тот же простой тип (кроме вещественного). Метки-константы в отличие от меток программы не требуется описывать в разделе описания меток. Но на них нельзя ссылаться в операторе GOTO. Метки варианта могут быть перечисляемого и интервального типа.
Оператор выбора выполняется следующим образом. Сначала вычисляется селекторное выражение; затем выполняется оператор, метка варианта которого равна текущему значению селектора; после этого происходит выход из оператора CASE на следующий оператор. Если значение селектора не совпадает ни с одной из меток варианта, будет выполнен оператор после ELSE. Если ветвь ELSE отсутствует, то управление передается следующему за CASE оператору.
Пример: Вычислено значение К. Если К=0, то Z= ln x, при K=1 Z=ln x, при K=2 Z=sin x, при K=3 Z=cos x, в остальных случаях Z=0.
………..