Оператор цикла с параметром
В тех случаях, когда циклом управляет одна переменная, и закон ее изменения: новое_значение := старое_зачение ± шаг_ изменения; повторение группы действий можно реализовывать с помощью цикла с параметром. Семантику этой конструкции словесно можно записать следующим образом: для параметр_цикла от начальное_значение до конечное_значение с шагом тело_цикла Реализация циклов в языке программирования Pascal Если тело цикла состоит из нескольких операторов, то их оформляют в виде составного оператора (заключают в операторные скобки begin-end). Следовательно, форма записи оператора цикла с предусловием: while логическое_выражение do тело_цикла; Телом цикла может являться как простой, так и составной оператор (т.е. последовательность операторов, заключенных в операторные скобки begin-end). Следовательно, формат оператора цикла с предусловием можно записать следующим образом: While логическое_выражениеdoоператор. Формат оператора цикла с постусловием: Repeat тело_цикла Последовательность операторов, составляющих тело цикла с постусловием можно не оформлять в виде составного оператора. В цикле с параметром в качестве параметра цикла может использоваться только переменная порядкового типа, в качестве m1 и m2 могут использоваться выражения соответствующего порядкового типа. Закон изменения параметра цикла: новое_значение :=succ (старое_зачение) или for параметр_цикла := начальное_значение to | downto конечное_значение do оператор; Если значение параметра цикла возрастает, то для того, чтобы тело цикла выполнилось хотя бы один раз, нужно, чтобы начальное значение параметра цикла было не меньше конечного значения. Заголовок цикла в этом случае выглядит следующим образом: for параметр_цикла := начальное_значение to конечное_значение do; Если значение параметра цикла уменьшается, то для того, чтобы тело цикла выполнилось хотя бы один раз, нужно, чтобы начальное значение параметра цикла было не больше конечного значения параметра цикла. Заголовок цикла в этом случае выглядит следующим образом: for параметр_цикла := начальное_значение downto конечное_значение do; Подчеркнем, что после завершения циклов с предусловием (while) и с параметром (for) значения параметра цикла будут различны. В первом случае параметр цикла будет равен succ(конечное_значение)(или pred(конечное_значение)), а во втором он будет равен конечному значению параметра цикла. Цикл может завершаться с помощью конструкции Exit.
|