Шаг 23.
Циклы. Общие сведения


    Здесь мы перечислим общие сведения о циклических конструкциях.

    Определение. Циклом называется многократно повторяющаяся последовательность операторов, а программа, содержащая цикл, циклической.

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

1-й вариант
2-й вариант
x:=1;
WriteLn(x);
x:=2;
WriteLn(x);
x:=3;
WriteLn(x);
x:=4;
WriteLn(x);
x:=5;
WriteLn(x);
x:=6;
WriteLn(x);
x:=7;
WriteLn(x);
x:=8;
WriteLn(x);
x:=9;
WriteLn(x);
x:=10;
WriteLn(x);
x:=1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);
x:=x+1;
WriteLn(x);

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

    Посмотрим более внимательно на второй вариант. Можно заметить, что здесь постоянно повторяются два оператора: x:=x+1; и WriteLn(x);. Попробуем воспользоваться оператором безусловного перехода Goto для организации повторений:


              x:=1;
      Metka:  WriteLn(x);
              x:=x+1;
              Goto Metka;                         

    Однако такой вариант тоже нельзя признать удачным, потому что компьютер напечатает не только первые 10 натуральных чисел, но и продолжит печать дальше.

   


Остановится ли когда-нибудь компьютер? Если остановится, то когда?


    Видимо, нужно воспользоваться оператором не безусловного, а условного перехода:


              x:=1;
      Metka:  WriteLn(x);
              x:=x+1;
              If x<=10 Then Goto Metka;       

    Этот фрагмент программы содержит цикл (вспомните определение): здесь повторяются все операторы, кроме первого.

    Практически все языки программирования содержат специальные конструкции, позволяющие организовать циклы. Имеются такие конструкции и в языке программирования Pascal.

    На следующем шаге мы изучим цикл For.


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