Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
yazyk_2010.doc
Скачиваний:
3
Добавлен:
18.04.2015
Размер:
141.31 Кб
Скачать

Операторы

Составной оператор

Составной оператор представляет собой группу из произвольного числа любых операторов, отделенных друг от друга точкой с запятой, и ограниченную операторными скобками begin и end. Формат составного оператора:

begin <0ператор1>; ...; <ОператорЫ>; end;

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

Условный оператор

Условный оператор обеспечивает выполнение или невыполнение некоторых операторов в зависимости от соблюдения определенных условий. Условный оператор в общем случае предназначен для организации ветвления про­граммы на два направления и имеет формат:

if <Условие> then <0ператор1> [else <0ператор2> ];

Условие представляет собой выражение логического типа. Оператор работает следующим образом: если условие истинно (имеет значение True), то выполняется оператор1, в противном случае — оператор2. Оба оператора могут быть составными.

Допускается запись условного оператора в сокращенной форме, когда слово else и оператор после него отсутствуют. В этом случае при невыполнении условия управление сразу передается на оператор, следующий за условным.

Для организации ветвления на три и более направлений, можно использовать несколько условных операторов, вложенных друг в друга. При этом каждое else соответствует тому then, которое непосредственно ему предше­ствует. Из-за возможных ошибок следует избегать большой вложенности условных операторов друг в друга.

Пример условных операторов:

ifX<0 then

X:=5+X

else

X:=2*X;

ifX<0 then

X:=5+X;

операторы

Операторы цикла служат для организации циклов (повторов). Цикл представляет собой последовательность операторов, которая может выполняться не более одного раза. Группу неповторяемых операторов не называют телом цикла.

Оператор цикла с параметром

Оператор цикла с параметром имеет два следующих формата:

for <Параметр> := <Выражение1> to <Выражение2> do <0ператор>; // +1

<Параметр > := <Выражение1> downto <Выражение2> do <0ператор>; //-1

например:

for i:=0 to n do

begin

Оператор1;

Оператор2;

……………

……………

ОператорN;

End;

Оператор цикла с постусловием

Оператор цикла с постусловием целесообразно использовать в случаях, когда тело цикла необходимо выполнить не менее одного раза и заранее неизвестно общее количество повторений цикла. Оператор цикла с постусловием имеет следующий формат:

repeat <0ператор1>;

<ОператорМ>; until <Условие>;

Условие представляет собой выражение логического типа. Операторы, заключенные между словами repeat и until, составляют тело цикла и выполняются до тех пор, пока логическое выражение не примет значение True, т. е. тело цикла повторяется при значении логического выражения, равном False. Так как условие проверяется только в конце цикла, то операторы тела цикла выполняются минимум один раз.

В теле цикла может находиться произвольное число операторов без операторных скобок beginиend. По крайней мере один из операторов тела цикла должен влиять на значение условия, в противном случае произойдет зацикливание.

Приведем для иллюстрации цикла с постусловием расчет суммы десяти значений массива m:

repeat

Оператор1;

……………

……………

……………

ОператорN;

until x<0;

Оператор цикла с предусловием

Оператор цикла с предусловием целесообразно использовать в случаях, когда число повторений тела цикла заранее неизвестно и тело цикла может ни разу не выполняться. Этот оператор аналогичен оператору repeat ... until с той лишь разницей, что проверка условия стоит в начале оператора. Формат оператора цикла с предусловием:

while <Условие> do <0ператор>;

Оператор тела цикла выполняется до тех пор, пока логическое выражение не примет значение False, т. е., в отличие от цикла с постусловием, цикл выполняется при значении логического выражения True.

while(i<0)

begin

mag:=mag+1;

i =i /10;

end;

Если перед первым выполнением цикла условие не выполняется (значение логического выражения равно False), то тело цикла не выполняется ни разу, и происходит переход на следующий за оператором цикла оператор.