Цикл FOR

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

     for I:=1 to 10 do writeln('Привет!');

     В данном  примере задано десятикратное повторение оператора вывода. Переменная I является параметром цикла и последовательно принимает значения 1, 2, 3, ... , 10 , т.е. параметр цикла автоматически принимает последовательно все целые значения,  начиная от начального значения (в примере - от 1) до конечного  значения (в примере  - до 10). 

В результате выполнения данного оператора на экран дисплея будет выведено десять строчек со  словом  'Привет!'.

     Существует другой  вариант оператора цикла FOR.  Рассмотрим его на примере:

     for I:=10 downto 1 do writeln(I);;

 

    В данном примере вместо ключевого слова TO используется ключевое слово DOWNTO. И это будет означать, что параметр цикла будет  уменьшаться  на  1  при каждом новом выполнении тела цикла, т.е.  переменная I будет принимать последовательно значения  10, 9, 8, ... , 1.

     В общем виде оператор цикла с параметром имеет два варианта записи.

         Вариант 1:

     For <имя>:=<выражение1> TO <выражение2> DO <оператор>

         Вариант 2:

     For <имя>:=<выражение1> DOWNTO <выражение2> DO <оператор>

 

     В этих операторах:

     <имя> - параметр цикла,  являющийся переменной  порядкового типа (перечислимого или ограниченного);

     <выражение1> - выражение,  определяющее начальное  значение параметра;

     <выражение2> - выражение,  определяющее  конечное  значение параметра;

     <оператор> - тело цикла (выполняемый  оператор  или  группа операторов, оформленных как составной оператор: begin ... end).

 

     Таким образом, оператор цикла с параметром определяет:

     - диапазон изменения значений управляющей переменной и, одновременно, число повторений оператора, содержащего тело цикла;

     - направление изменения значения переменной  (  возрастание или убывание);

     - собственно действия,  выполняемые на  каждом  шаге  (тело цикла).

     

Цикл действует таким образом.

     Шаг 1. Сначала вычисляются и запоминаются начальное (<выражение1>) и конечное значение (<выражение2>) параметра цикла.

     Шаг 2. Параметру цикла <имя> присваивается начальное значение <выражение2>.

    Шаг 3.  Значение  параметра цикла сравнивается со значением <выражение2>. Если параметр цикла больше конечного  значения  (в первом  варианте  оператора),  или меньше конечного значения (во втором варианте оператора), то выполнение оператора цикла завершается и управление передается команде,  следующей за оператором цикла.

     Шаг 4. Выполняется тело  цикла.

     Шаг 5.  После выполнения тела цикла происходит присваивание параметру цикла следующего значения (большего - в первом варианте записи, меньшего -во втором случае). Переход к шагу 3.

     На использование  управляющей переменной накладываются следующие ограничения:

     1. Управляющая  переменная  должна  быть  описана в текущем блоке.

     2. Управляющая переменная должна иметь дискретный тип.

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

     4. В теле цикла запрещается явное изменение значения управляющей переменной

 ( например, оператором присваивания).

     5. После завершения оператора  цикла  значение  управляющей переменной становится неопределенным.

Примеры использования цикла FOR

Обо мне
Я - Степан Сюсин, начинающий программист. Мне 17 лет, я живу в Уфе и учусь в УТЭК'е. Люблю web-программирование. Поподробнее обо мне можно узнать в социальных сетях: