Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 300094.doc
Скачиваний:
2
Добавлен:
30.04.2022
Размер:
342.53 Кб
Скачать

2. Циклические управляющие структуры

- оператор цикла с предусловием:

while ( В ) S;

где B – выражение, определяющее условие выполнения тела цикла; S – оператор (тело цикла).

Структурная схема оператора цикла с предусловием:

ложь

Таким образом, тело цикла с предусловием может ни разу не выполнится, если выражение B сразу ложно. Выражение B и оператор S должны быть связаны так, чтобы когда-нибудь выражение стало ложным и, цикл завершился.

– оператор цикла с постусловием:

do S while ( B );

где B – выражение, определяющее условие выполнения цикла; S – оператор (тело цикла).

Структурная схема оператора цикла с постусловием:

истина ложь

Таким образом, тело оператора цикла с постусловием всегда, хотя бы один раз выполнится. Выражение B и оператор S должны быть связаны так, чтобы когда-нибудь выражение стало ложным и, цикл завершился.

-оператор пошагового цикла:

for (e1; e2; e3) S;

где e1- выражение, задающее начальные условия выполнения цикла; e2 – выражение, задающее условие продолжения цикла; e3 – выражение, изменяющее (модифицирующее) условия, заданные выражением e1; S – оператор – тело цикла. Выполнение оператора цикла for состоит из следующих действий:

e1;

while (e2);

{ S; e3;

}

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

3. Схемы итерационного цикла

1. v = v0;

while p(v) { S; f(v) ;}

Такая схема используется в задачах, в основе решения которых лежат рекуррентные соотношения. При этом если v принимает последовательно значения v0, v1, v2,..., vn, то эти значения имеют следующие свойства:

, для всех ,

, для всех ,

, для всех ,

, для всех .

2. t = t0; s = t;

while p(s,t) { t = f(t); s += t ;}

Такая схема используется в задачах, реализующих какой-либо процесс последовательных приближений, например вычисление суммы ряда, заканчивающееся при условии, по которому можно судить о погрешности вычислений. При этом если t0, t1, t2,..., tn – последовательность членов ряда, то

, для всех ,

, для всех ,

, для всех ,

, для всех ,

, для всех .

Реализуя приближенные вычисления, необходимо помнить, что в памяти ЭВМ действительные числа представляются приближенно и поэтому сравнение действительных значений необходимо производить, задавая уровень точности. Например, необходимо проверить, лежат ли три точки на одной прямой. Для этого в уравнение прямой, проходящей через две точки, необходимо подставить координаты третьей точки. Все точки лежат на одной прямой тогда и только тогда, когда в результате получается нуль. Из-за неточности машинной арифметики для действительных чисел нуль почти никогда не будет получен. Поэтому условие приходится считать выполненным, если полученный при подстановке результат по модулю меньше некоторого предусмотренного разработчиком малого числа, например 10-5, называемого точностью вычислений.