Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабраторная работа №15 Прогр.doc
Скачиваний:
14
Добавлен:
10.11.2018
Размер:
401.92 Кб
Скачать

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

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

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целые числа. Задачу можно сформулировать так:

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

Program Summering;

Var I,M,N,Summa: Integer;

Begin

Write('M='); ReadLn(M);

Write('N='); ReadLn(N);

Summa:=0;

For I:=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;

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

Repeat <операторы> until <условие>;

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

операторы

Цикл Repeat повторяется, если условие ложно (False), и заканчивается, если условие верно (True), т. е. цикл Repeat повторяется до выполнения условия. Цикл Repeat заканчивается проверкой условия, поэтому <операторы> выполняются не менее одного раза. В теле цикла может записываться более одного оператора.

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

S:=0;

I: =1;

Repeat

S:=S+1/I;

I:=I+1

Until (1/K<Eps) Or (I>=MaxInt);