Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TP_Ch_I_izm.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.27 Mб
Скачать

2. Оператор цикла repeat … until.

Его синтаксис:

repeat S1;S2;...Sn until B;

где B- логическое выражение;

S1;S2;...Sn – любые операторы языка;

repeat ( повторить ), until ( до тех пор, пока ) – служебные слова.

false

true

В такой конструкции цикла проверка условия производится в его конце (постусловие), что обеспечивает выполнение операторов S1,...Sn хотя бы один раз. Тело цикла выполняется в операторе repeat до тех пор, пока условие ложно (оператор «лжи»). Выход из цикла осуществляется при истинности логического выражения B, то есть противоположно оператору while...do (см. схему). Зацикливание происходит, если В никогда не будет принимать значение true.

Еще одно отличие состоит в том, что оператор repeat имеет нижнюю границу, обозначенную словом until, и поэтому нет необходимости тело цикла заключать в операторные скобки begin...end.

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

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

3. Суммирование рядов.

Рассмотрим конечную последовательность действительных чисел:

S=

Входящая в это выражение переменная k называется индексом суммирования, а целые числа 0 и n – пределами суммирования.

Организуем вычисление суммы: . Зададим начальное значение =a0, а затем последовательно будем накапливать все элементы ряда:

Таким образом, для нахождения суммы ряда необходимо n-раз повторить вычисления по формуле:

где индекс k пробегает значения от 1 до n. Это соотношение, называемое рекуррентной формулой, можно сформулировать так: «новое» значение суммы ряда Sk получается из «старого» Sk-1 путем добавления очередного слагаемого . Индекс при вычислении переменной S можно опустить и записать алгоритм так:

1. «подготовка» цикла: ввод n; k:=0; S:=a0;

2. «тело» цикла: k:=k+1; S:=S+

3. «управление» циклом: если k<n, то выполнять пункт 2 (тело цикла);

4. вывод S.

В некоторых случаях удается написать рекуррентные соотношения и для слагаемых ak. Так, например, можно поступить в случае арифметической и геометрической прогрессии. Для арифметической последовательности справедливо соотношение:

где d – постоянная разность. Сумма арифметической последовательности равна произведению среднего первого и последнего членов ряда на число членов:

.

Для геометрической прогрессии рекуррентное соотношение выглядит так:

,

где q – знаменатель геометрической прогрессии. Сумма членов геометрической последовательности равна частному от деления разности первого входящего и первого не входящего членов ряда на разность единицы и знаменателя прогрессии q:

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]