Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 5 6 ятп.doc
Скачиваний:
8
Добавлен:
22.02.2015
Размер:
240.13 Кб
Скачать

9) Оператор цикла for.

For(инициализация; выражение; модификации)оператор;

For(инициализация; выражение; модификации){оператор;… оператор;}

Инициализация – Здесь объявляются переменные, используемые в цикле, в том числе и параметр цикла, далее им могут быть присвоены начальные значения. Всё это выполняется в начале цикла(НУ).

Выражение – задаёт условие выполнения цикла, значение выражения приводится к типу bool, если оно истинно, тело цикла выполняется, если ложно – происходит выход из цикла.

Модификации – здесь записаны действия, которые выполняются после каждой итерации цикла, обычно они служат для изменения параметра цикла. Любая из этих частей может быть опущена.

for (int i=n/2;i<5,i<10;i++) cout<<i<<" ";// проверка возможностей цикла for

i<5,i<10- работает последнее условие.

Примеры. 1. int m,s; //s- сумма цифр m

сin>>m; for(s=0;m>0;s+=m%10,m/=10);cout<<s;

2. int n,i,r0,r1,r2; //n-ое число Фибоначчи

cin>>n;

for(r1=1,r2=1,i=2;i<=n;i++,r0=r1,r1=r2,r2=r1+r0);

cout<<r2<<endl;

Замечание О выборе эталона цикла.

Дано: [a,b],N. Отрезок делится на N частей длины h, найти

s=f(a)+f(a+h)+…f(a+N*h); пусть f(x)=cos(x);

double s=0,a,b; int N;

cin>>a>>b>>N;

double x=a,h=(b-a)/N;

while (x<b){s+=cos(x);x+=h;}//Здесь параметр цикла вещест. типа!

Возможны разные результаты на разных компьютерах:

h-вещ.типа и его значение представлено с погрешностью ε.

Либо h+ ε, либо h- ε, в конце эталон будет либо a+N*h+N*ε,

либо a+N*h-N*ε, в первом случае последнее слагаемое не вычисляется.

Замечание: Циклы while и for взаимозаменяемы.

b1;

while(b2) {

оператор;…оператор;for(b1;b2;b3){оператор;…оператор;} B3;

}

Кратные циклы.

Цикл наз. простым, если он не содержит в себе других циклов, в противном случае цикл наз. кратным. Уровень кратности – уровень вложенности цикла.

A

-простой B –кратный (двойной) D- кратный (тройной)

A

B D

С –

Внутренний цикл вкладывается в тело внешнего. Каждый цикл организуется по тем же правилам, что и простой.

Рекомендации:

  1. Если внешний и внутренний циклы – оба циклы с параметрами, в качестве параметров каждого цикла выбираются разные переменные.

Замечания об оптимизции циклов:

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

2. Понижать сложность операций, выполняющихся в цикле: можно вычислять двояко: либо sqrt(x), либо pow(x,0.5).Лучше первый способ, т.к. во втором случае работают exp(x) и ln(x).