Читайте также:
|
|
Общий вид оператора цикла с параметром:
FOR i:= A TO B DO оператор;
где i - параметр цикла (счетчик повторов) - переменная целого типа (integer);
A и B - начальное и конечное значения параметра цикла-выражения того же типа, что и параметр цикла;
оператор - любой простой или составной оператор, который требуется повторить несколько раз.
Оператор цикла типа FOR...TO...DO предусматривает последовательное увеличение на единицу параметра цикла i от начального значения A до конечного значения B и выполнение входящего в цикл алгоритма при каждом значении параметра цикла.
В качестве иллюстрации применения оператора цикла FOR...TO...DO рассмотрим решение с его помощью предыдущей задачи, где на экран несколько раз выводится слово "ЦИКЛ".
Program Primer;
Uses Crt;
Var i:integer;
Begin
TextColor(Yellow); TextBackGround(Blue);
ClrScr;
FOR i:=1 TO 5 DO Writeln('ЦИКЛ');
Readln
End.
Приведем еще один пример использования оператора цикла с параметром. В этом примере с клавиатуры вводится целое число N, после чего вычисляется сумма всех целых чисел от 1 до N.
Program Primer;
Uses Crt;
Var i,N,S:integer;
Begin
TextColor(Green); TextBackGround(Cyan);
ClrScr;
Write('N= '); Readln(N); {C клавиатуры ввели целое число в переменную “N”}
S:=0; {Задали начальное значение суммы}
FOR i:=1 TO N DO S:=S+i; { во время каждого из повторов значение суммы "S" увеличивается }
{ на новую величину счетчика "i" }
Writeln('S= ',S:6);
Readln
End.
В этой программе оператор S:=S+i выполняется N раз, при различных значениях параметра цикла i.
В некоторых случаях бывает удобно, чтобы параметр цикла принимал последовательно убывающие, а не возрастающие значения. Для этого предусмотрена следующая разновидность оператора цикла:
FOR i:=B DOWNTO A DO оператор;
где i, A и B имеют прежний смысл. Отличие от предыдущего варианта цикла в том, что в операторе цикла типа FOR...DOWNTO...DO шаг наращивания параметра равен -1, при этом начальное значение счетчика повторов B больше конечного значения A.
Проследим, как изменится предыдущий пример при нисходящем изменении значения параметра цикла:
Program Primer;
Uses Crt;
Var i,N,S:integer;
Begin
TextColor(Red); TextBackGround(White);
ClrScr;
Write('N= '); Readln(N);
S:=0; {начальное значение суммы}
FOR i:=N DOWNTO 1 DO S:=S+i;
Writeln('S= ',S:6);
Readln
End.
Для операторов цикла с параметром существуют некоторые ограничения:
- нельзя задавать шаг изменения значения параметра, отличный от 1 или -1;
- не желательно изменять внутри цикла значения параметра цикла, начальное и конечное значения параметра;
- входить в цикл можно только через его начало, а выходить - либо при исчерпании значений параметра цикла, либо при выполнении оператора перехода по метке, расположенной вне данного цикла.
Дата добавления: 2014-12-18; просмотров: 101 | Поможем написать вашу работу | Нарушение авторских прав |