Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика (методичка).doc
Скачиваний:
272
Добавлен:
03.03.2016
Размер:
1.43 Mб
Скачать

4.3. Циклы с неизвестным числом повторений

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

В циклах с неизвестным числом повторений вычислительный процесс завершается при выполнении некоторого дополнительного условия. Значения параметра цикла уже не задаётся в виде диапазона, а только указывается его начальное значение и шаг изменения. Тем не менее, организация цикла выполняется по стандартной методике, указанной в п. 4.1. Отличие заключается в том, что не любой тип циклического вычислительного процесса можно использовать. Тип цикла определяется в соответствии с заданным дополнительным условием завершения вычислений. Это однозначно исключает возможность использование цикла «Для» на основе блока модификации. Для определения количества шагов повторения цикла необходимо организовать счетчик.

Пример 4.3.Составить блок-схему алгоритма, вычисляющего значения функцииу = ln(1 + 0.2x), при различных значениях параметрах, изменяющегося отxn ≤ 3 с шагомhx = -2.При этом вычислятьудо тех пор, пока выражение под знаком логарифма остается больше 0. Определить количество (k) вычисленных значенийy.

Перед решением задачи необходимо определить тип цикла, который будет использоваться. Вычисляемое выражение содержит «аномалию» (значение под знаком логарифма должно быть больше 0), которая в тоже время является условием завершения вычислений. Другими словами, необходимо вначале проверить возможность вычисления значения у, а только затем вычислять его. Поэтому в данном случае для организации вычислительного процесса можно использовать только цикл с предусловием (рис. 4.3).

В качестве исходных данных вводятся значения переменных хn, hx(блок 2). В блоке 3 задаются начальные значения для параметра циклаxи счетчика количества повторений циклаk. После этого, в блоке 4 одновременно проверяются условие продолжения цикла и возможная «аномалия» (выражение под знаком логарифма должно быть больше 0). В теле цикла для текущего значенияхвычисляется и выводится соответствующее значениеу(блоки 5-6), а также увеличивается значение счетчика вычисленныху(блок 7). В конце тела цикла выполняется переход к следующему значению параметра циклах(блок 8). Цикл работает до тех пор, пока под знаком логарифма не появится выражение ≤ 0. После выхода из цикла в блоке 9 выводится переменнаяk– количество вычисленных значенийу.

Результаты пошагового выполнения цикла в алгоритме, приведенном на рис. 4.3, представлены в таблице 4.3.

Таблица 4.3. Пошаговое выполнение цикла

шага

Текущее

значение х

начале цикла)

Результат проверки

условия продолжения

цикла (1+0.2x>0)

Вычисл.

значение у

Текущие

значения k

Новое

значение х

конце цикла)

1

3(xn)

Истина (1+0.23=1.6 >0)

0.47

k=1

1

2

1

Истина (1+0.21=1.2 >0)

0.18

k=2

-1

3

-1

Истина (1+0.2-1=0.8 >0)

-0.22

k=3

-3

4

-3

Истина (1+0.2-3=0.4 >0)

-0.92

k=4

-5

5

-5

Ложь (1+0.2-5=0 >0)