Шаг 24.
Цикл с известным числом повторений (цикл For)


    Изучение циклических конструкций мы начинаем с цикла For.

    Приведем общий вид конструкции цикла For (рис.1):


Рис.1. Общий вид цикла For



    Как видно из этого рисунка, цикл состоит из заголовка, начинающегося со служебного слова For и заканчивающегося словом Do, и тела цикла. Перечислим основные особенности использования цикла For (он еще называется циклом "Для"):
    1) он используется тогда, когда известно количество повторений тела цикла (известны нижняя и верхняя границы изменения счетчика цикла);
    2) в качестве счетчика цикла, как правило, используется переменная целого (Byte, Integer и т.п.) или символьного типа (Char);
    3) шаг изменения счетчика цикла является величиной постоянной и равен 1 или -1. В последнем случае вместо служебного слова To используется DownTo;
    4) если тело цикла состоит из нескольких операторов, то они заключаются в операторные скобки Begin..End.

    Кратко опишем порядок выполнения цикла. При первом обращении к заголовку цикла происходит вычисление выражений, определяющих нижнюю и верхнюю границы счетчика цикла. Проверяется истинность одного из следующих утверждений:
    - если в заголовке цикла использовано служебное слово To, то вычисленное значение нижней границы должно быть не больше значения верхней границы;
    - если в заголовке цикла использовано служебное слово DownTo, то вычисленное значение нижней границы должно быть не меньше значения верхней границы.

    В случае истинности одного из этих утверждений счетчику цикла присваивается значение нижней границы и выполняется тело цикла. По завершению выполнения тела цикла проверяется, будет ли принадлежать следующее значение счетчика цикла промежутку, заданному нижней и верхней границами счетчика цикла. В случае положительного ответа счетчик цикла получает это значение и снова выполняется тело цикла. В противном случае значение счетчика не изменяется и осуществляется выход из цикла, то есть выполняется следующий после цикла оператор.

    Таким образом, задача, сформулированная на предыдущем шаге (составить программу, выводящую на экран первые 10 натуральных чисел), с помощью конструкции цикла может быть решена следующим образом:

Program Cikl1; 
Var
  i:Byte;
Begin
  WriteLn('Первые 10 натуральных чисел: ');
  For i:=1 To 10 Do {i принимает значения от 1 до 10}
     WriteLn(i);
End.
Текст этой программы можно взять здесь.


    Для закрепления изученного материала предлагаем выполнить несколько заданий.
    1. Что будет выведено на экран при выполнении этих операторов:
                  For i:=1 To 10 Do
                           WriteLn(i);
                  WriteLn(i);   ? 
    2. Измените программу Cikl1 так, чтобы она выводила на экран первые 10 натуральных чисел в обратном порядке.
    3. Измените программу Cikl1 так, чтобы она выводила на экран первые 10 четных натуральных чисел.

    Ответы вы можете посмотреть здесь.



    Следующий шаг будет посвящен рассмотрению вопросов, связанных с другими циклическими конструкциями.


Предыдущий шаг Содержание Следующий шаг