Составной оператор представляет собой группу из произвольного числа операторов, отделенных друг от друга точкой с запятой и ограниченную операторными скобками begin и end.
Формат:
Оператор1;
Оператор2;
…
OпеpaтoрN;
Пример:
begin
A:= A*B+(C-D);
Rez:= A+B+Pi;
Writeln(Rez:12:6);
end;
Обратите внимание — составной оператор воспринимается как один оператор и обычно используется в том месте, где по правилам языка допустим лишь один оператор, а требуется выполнить несколько операторов. Обычно составной оператор используется при написании условных операторов и некоторых операторов повтора. На характер операторов, входящих в составной оператор, не накладывается никаких ограничений. Среди них могут быть и другие составные операторы, например:
begin
begin
end;
end;
Замечание: в программе на языке Паскаль каждому begin соответствует свой end, но не наоборот, т. к. на end заканчиваются разделы, начинающиеся с саsе и record, но без begin вначале.
После открывающей и перед закрывающей круглыми скобками точка с запятой не ставится. Этого же правила следует придерживаться при записи составного оператора, так как слова begin и end представляют собой операторные скобки.
Условный оператор позволяет проверить некоторое условие и в зависимости от результата выполнить тот или иной оператор или группу операторов.
С помощью условных операторов программируются алгоритмы разветвляющейся структуры. Язык Паскаль допускает использование двух условных операторов: if и case.
Условный оператор if
Формат:
if<условие>then< оператор1>else< оператор2>;
где if, then, else – зарезервированные слова (обозначают если, то, иначе соответственно);
<условие> - произвольное выражение логического типа;
<оператор1>, <оператор2> - любые операторы языка Паскаль.
Условный оператор работает по следующему алгоритму: вначале вычисляется выражение <условие>. Если результат - true (истина), то выполняется <оператор1>, а <оператор2> пропускается. Если результат - false (ложь), наоборот <оператор1> пропускается, а выполняется <оператор2>. На рисунке 3.1 приведена блок-схема условного оператора.