Здесь мы перечислим общие сведения о циклических конструкциях.
Определение. Циклом называется многократно повторяющаяся последовательность операторов, а программа, содержащая цикл, циклической.
Необходимость использования циклов разберем на следующем примере: составить программу, выводящую на экран первые 10 натуральных чисел. Приведем две последовательности операторов, которые реализуют данную задачу:
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.