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

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

For i:= N1 To N2 Do <оператор>;

либо

For i:= N1 DownTo N2 Do <оператор>;

Здесь i – параметр цикла (переменная целого типа),

N1, N2 - начальное и конечное значения параметра цикла i.

N1, N2 могут быть константами, переменными или выражениями порядкового типа.

Выполнение оператора For в первом варианте (То) происходит по следующей схеме:

1. Параметру цикла присваивается значение N1.

2. Значение параметра цикла сравнивается со значением N2. Если параметр цикла меньше или равен этому значению, то выполняется тело цикла (<оператор>), в противном случае выполнение цикла заканчивается.

3. Значение параметра циклаувеличивается на единицу; происходит возврат к пункту 2.

Слово DownToбуквально можно перевести как «вниз до». В таком случае параметр цикла в пункте 2 изменяется по убыванию, т. е. при каждом повторении цикла параметр изменяет свое значение на предыдущее.

Пример. Требуется вычислить сумму целых чисел от М до N путем прямого суммирования. Здесь Л/и N— целые числа. Задачу можно сформулировать так:

Алгоритм и программа решения этой задачи с использованиемцикла с параметром имеют следующий вид:

ProgramSummering; VarI,M,N,Summa: Integer; Begin Write('M='); ReadLn(M); Write('N='); ReadLn(N); Summa:=0; ForI:=M To N Do Summa:=Summa+I; WriteLn('Сумма равна', Summa) End.

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

Циклы с условием обычно используются в тех случаях, если количество повторений операторов заранее не известно. В Турбо-Паскале используется два оператора цикла с условием:

Оператор цикла пока, или цикл с предусловием

While <условие> do <оператор>;

Схема выполнения операторов имеет вид:

оператор

В циклеWhile <оператор> выполняется если условие верно (True), если условие ложно (False), то цикл заканчивается, т. е. цикл While повторяется пока выполняется условие.ЦиклWhile начинается проверкой условия, поэтому, если начальное условие ложно, то <оператор> не выполняется ни разу. Для включения в тело цикла нескольких операторов применяется составной оператор: Begin <операторы> end.

Пример. В следующем фрагменте программы на Паскале вычисляется сумма конечного числа членов гармонического ряда

Суммирование прекращается, когда очередное слагаемое становится меньше ε или целая переменная i достигает значения MaxInt.

S:=0;

I:=1;

While (1/I>=Eps) And (I<MaxInt) Do

Begin

S:=S+1/I;

I:=I+1

End;