Организация программ циклической структуры. Массивы (регулярные типы)
При выполнении оператора FOR выполняются следующие действия: • вычисляется , которое присваивается параметру цикла; • проверяется условие окончания цикла: больше при использовании конструкции TO и меньше при использовании конструкции DOWNTO; • выполняется тело цикла, если параметр цикла не вышел за границу цикла; • наращивается (TO) или уменьшается (DOWNTO) на единицу параметр цикла; • все этапы, кроме первого, циклически повторяются. При использовании оператора необходимо помнить: • внутри цикла FOR нельзя изменять начальное, текущее или конечное значения параметра цикла; • если в цикле с шагом +1 начальное значение больше конечного, то цикл не выполнится ни разу. Аналогично для шага –1, если начальное значение меньше конечного; • после завершения цикла значение параметра цикла считается неопределенным, за исключением тех случаев, когда выход из цикла осуществляется оператором GOTO или с помощью процедуры BREAK; • телом цикла может быть другой оператор цикла. Если телом цикла является другой цикл, то циклы называются вложенными или сложными. Цикл, содержащий в себе другой цикл, называют внешним. Цикл, содержащийся внутри другого цикла, называется внутренним. Внутренний и внешний циклы могут быть любыми из трех видов: FOR, WHILE или REPEAT. При построении вложенных циклов необходимо, чтобы все операторы внутреннего цикла полностью находились в теле внешнего цикла. Оператор цикла WHILE позволяет организовать цикл с неизвестным числом повторений, так как он зависит от вычислений в операторе: WHILE B DO S; где B – логическое выражение, S – тело цикла (один или несколько операторов). Если логическое выражение имеет значение true, то выполняются операторы, входящие в тело цикла. Как только логическое выражение принимает значение false, выполнение операторов цикла прекращается. Если логическое выражение сначала имеет значение false, то оператор не выполняется. Значение переменных, входящих в условие, должно изменяться в теле цикла, иначе оператор никогда не завершится