44
6.2. Сложные операторы
RepetativeStat =
ForStatement |
WhileStatement |
RepeatStatement.
6.2.4.1. Цикл с предусловием (WHILE)
WhileStatement =
'while' Expression 'do' Statement.
Expression является выражением логического типа. Оператор (Statement)
повторно выполняется до тех пор, пока выражение не даст значение ложь (FALSE).
Каждый раз вычисляется значение логического выражения перед выполнением
оператора. Если в самом начале значение логического выражения - ложь (FALSE), то
оператор не выполняется вовсе.
6.2.4.2. Цикл с постусловием (REPEAT)
RepeatStatement =
'repeat' Statement {';'
   Statement }
'until ' Expression.
Expression является выражением логического типа. Последовательность
операторов повторно выполняется до тех пор, пока выражение не даст значение истина
(TRUE) (по крайней мере один раз она выполнится). Значение логического выражения
вычисляется после выполнения последовательности операторов.
6.2.4.3. Цикл с шагом (FOR)
Цикл FOR указывает, что необходимо повторять выполнение оператора и
одновременно присваивать переменной, называемой управляющей переменной цикла,
последовательно возрастающие (убывающие - если использовано зарезервированное
слово DOWNTO) значения.
ForStatement =
'for' Ident ':=' Expression ('to' | 'downto') Expression 'do'
Statement.
Управляющая переменная (Ident) должна быть описана в разделе описаний
переменных блока, в разделе операторов которого находится данный оператор FOR.
Эта переменная должна относиться к ординальному типу, совместимому с типами
начального и конечного значения.
Начальное и конечное значения вычисляются перед началом цикла и не
изменяются во время его выполнения.
Оператор, содержащийся в цикле, выполняется один раз для каждого значения
управляющей переменной. Если в цикле FOR использовано TO, значение управляющей
переменной увеличается на единицу после каждого повторения оператора. Если
начальное значение превышает конечное значение, то оператор (Statement) не
выполняется ни один раз. Если в цикле FOR использовано DOWNTO, значение
управляющей переменной уменьшается на единицу после каждого повторения
оператора. Если конечное значение превышает начальное значение, то оператор
(Statement) не выполняется ни один раз.
Никакой оператор внутри цикла не должен изменять значение управляющей
переменной.
После нормального окончания цикла FOR значение управляющей переменной
неопределено.
<<  <  GO  >  >>

Вернуться к началу сайта