Циклические конструкции

Оператор цикла с параметром

Оператор цикла с параметром

Оператор цикла с параметром организует выполнение одного оператора заранее известное количество раз.

Структура оператора

Существуют два варианта оператора

Вариант первый

For i:=<start> to <finish> do <оператор>;

Вариант  второй

For i:=<start> downto <finish> do <оператор>;

В этих структурах:

i — параметр цикла;

<start> — начальное значение параметра;

<finish> — конечное значение параметра;

<оператор> — тело цикла;

Тип переменной цикла i и значений <start > и <finish> должен быть порядковым!

Порядок выполнения оператора:

1.      Вычисляются и запоминаются начальное — start, и конечное — finish, значения параметра цикла. Start и finish могут быть представлены в виде конкретного значения (в этом случае нет необходимости в вычислениях) или в виде выражения, значение которого вычисляется в начале выполнения цикла.

2.      Параметру цикла i присваивается значение start.

3.      Значение параметра цикла i сравнивается со значением finish. Оператор "тело цикла" будет выполняться при выполнении следующего условия:
           первый вариант оператора: i<=finish;
           второй вариант оператора:
i>=finish;
В противном случае происходит прекращение выполнения циклического оператора.

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

5.      Выполняется пункт 3 данной схемы.

Часто говорят, что первый вариант оператора цикла с параметром — цикл с возрастающим параметром; второй вариант — с убывающим параметром.

Если при первой же проверке, параметр цикла не будет удовлетворять условий пункта 3, то тело цикла не выполниться ни разу.

Телом цикла может быть только один оператор. для того, чтобы в теле цикла с параметром выполнить несколько операторов, их необходимо  объеденить операторными скобками Begin и End.

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

Break

Процедура Break может использоваться во всех циклических операторах. Эта процедура позволяет досрочно выйти из цикла, не дожидаясь выполнения условия выхода.

Continue

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

Примеры применения

Вычислить сумму S=1+1/2+1/3+…+1/50.

Procedure TForm1.Button1Click(Sender:TObject);

Var i:Integer;

      s:Real;

Begin

s:=0;

For i:=1 to 50 do s:=s+1/I;

LabelN.Caption:=FloatToStr(s);

End;

Вычислить сумму синусов чисел от 1 до 1000. Суммировать только положительные значения синусов.

Procedure TForm1.Button1Click(Sender:TObject);

Var i:Integer;

      s:Real;

Begin

s:=0;

For i:=1 to 1000 do

            Begin

            If sin(i)<0 then Continue;

            s:=s+sin(i);

            End;

LabelN.Caption:='S='+FloaToStr(s);

End;

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

Procedure TForm1.Button1Click(Sender:TObject);

Var I,j,k,a,l:Intger;

      st:String;

Begin

st:='';

For i:=1 to 9 do

For j:=0 to 9 do

For k:=0 to 9 do

If (i<>j) and (i<>k) and (j<>k) then

   Begin

   a:=100*i+10*j+k;

   l:=l+1;

   st:=IntToStr(a)+#13#10;

   End;

Label1.Caption:=st;

Label2.Caption:='Кол-во чисел '+IntToStr(l);

End;

Контрольные вопросы

1.  Сколько раз выполняется оператор цикла с параметром?

2.  Сколько существует вариантов тела цикла с параметром?

3.  Что называется параметром цикла, начальным и конечным значениями параметра цикла?

4.  Что называют телом цикла с параметром?

5.  Объясните порядок выполнения цикла с параметром.

6.  Объясните назначение и применение процедур Break и Continue.

На главную.
Используются технологии uCoz