Операторы цикла заставляют выполнять входящие в их состав операторы
несколько раз.
В Паскале существует три вида операторов цикла: оператор цикла с параметром, оператор цикла с предусловием, оператор цикла с постусловием.
Оператор цикла с параметром
Формат оператора цикла с параметром:
for V:=E1 to E2 do S
где V - переменная порядкоавого типа, Е1, Е2 - выражения того же типа, S - оператор, называемый телом цикла. Выражения Е1 и Е2 вычисляются один раз при входе в цикл. Параметр V принимает сначала значение Е1 затем непос редственно следующее за ним (SUCC(V)) и т.д. до достижения Е2. При каждом значении V выполняется оператор S. Если в теле цикла необходимо выполнить несколько операторов, то их объединяют в один с помощью составного оператора. Если конечное значение Е2 меньше начального Е1, то оператор S не выполняется ни разу.
Оператор цикла с параметром применяется также в следующем виде:
for V:=Е1 downto E2 do S
В отличии от первого случая V изменяется от Е1 до Е2, переходя от V к pred(V).
Отметим, что если V, Е1, Е2 типа INTEGER, то в первом случае это цикл с шагом +1, а во втором с шагом -1.
|
|
Оператор цикла с предусловием
Формат оператора цикла с предусловием:
while B do S
где B - логическое выражение, S - оператор. Оператор S будет выполняться пока условие B будет истинно. Выполнение оператора цикла завершится когда выражение B впервые примет значение false.
Оператор цикла с постусловием
Формат оператора цикла с постусловием:
repeat S until B
где B - логическое выражение, S - оператор. Оператор S выполняется до тех пор, пока B не станет истинным. Оператор REPEAT выполняется по крайней мере один раз, так как проверка истинности условия B осуществляется после выполнения оператора S.
Служебные слова REPEAT и UNTIL уже играют роль скобок, поэтому операторные скобки BEGIN и END являются необязательными.