Циклические процессы
Если вычисления по одним и тем же формулам нужно повторить несколько раз при различных значениях переменных, входящих в эти формулы, то необходимо организовать ЦИКЛИЧЕСКИЙ вычислительный процесс.
Применение алгоритмов циклической структуры позволяет существенно сократить объем программы.
Для организации цикла необходимо выбрать ПАРАМЕТР ЦИКЛА - простую переменную, которая будет изменять свое значение при каждом повторении цикла и управлять работой цикла, а также предусмотреть 4 основных действия :
1. Задание начального значения параметра цикла.
2. Рабочий участок ( или " тело цикла " ) - повторяемые в цикле действия, необходимость
которых вытекает непосредственно из математической постановки задачи.
3. Изменение параметра цикла.
4. Проверка условия окончания повторений цикла и переход к его началу, если повторения не закончены.
Пример 5. Вычислить все квадраты чисел от 1 до 100. Формализация этой задачи в математическом смысле означает вычисление значении Y = N2 для (N=l,...,100).
Словесный алгоритм:
Ввести значение N=0.
Вычислить значение N=N+1
Вычислить значение функции Y
Напечатать значение функции Y.
Проверить значение N. Если N<100, перейти к п.2, иначе окончание счета
да
нет
Рис. 5. Блок-схема циклического алгоритма для примера 5
Пример 6. В этом примере надо вычислить значения функции F для значений Х, изменяющимся с постоянным шагом D. Значения А, В, С – постоянны.
Fi =Сos2(Хi + А/В)-A-Sin(Xi +C), где Xi+1=Xi+D,
D- const, (i=0,1, 2,...,10 ), X0 =e-a/b
Здесь параметр I будет управлять количеством повторов при вычислении (11 раз)
Начальное значение переменной цикла I равно нулю, конечное равно 10.
Словесный алгоритм:
Ввести значения A, B, C, D.
Присвоить начальное значение I=0
Вычислить значение X=e-a/b
Вычислить значение функции F=Cos2(X+A/B)…
Напечатать значение функции F.
Увеличить значение Х на значение шага, т.е. Х=Х+D
Увеличить значение параметра цикла I=I+1
Проверить значение I. Если I<=10, перейти к п.4, иначе окончание счета
Блок-схема циклического алгоритма для примера 6
Ввод
A,B,C,D
Рассмотрим еще один вариант организации циклического процесса.
Ниже приведена блок-схема вычисления функции
Y = X*LN(X) при X = 0.1; 0.4; 0.7 с указанием основных действий:
Словесный алгоритм:
Присвоить значение X=0,1 (задание начального значения параметра цикла)
Вычислить значение Y=XLn(X) (рабочий участок цикла – тело цикла)
Напечатать значение функции Y(рабочий участок цикла – тело цикла)
Х=Х+0,3 (изменение параметра цикла)
Проверить на окончание цикла. Если X<=0,7, перейти к п.2, иначе окончание счета
Блоки 2,3 - тело цикла образуют линейный участок вычислительного процесса. Параметр X - простая переменная вещественного типа.
Для Х известно начальное ( 0.1 ), конечное ( 0.7 )значения и шаг изменения ( 0.3 ).
Выход из цикла произойдет при X>0.7 ( 1 )
Эту задачу называют еще задачей табулирования функции на заданном диапазоне изменения аргумента. В инженерных расчетах такая задача встречается, когда необходимо получить таблицу значений некоторой величины, определяемой формулой, если известно, что один из параметров, входящих в эту формулу, может принимать любые значения в диапазоне [a;b].
Шаг h изменения параметра выбирается в зависимости от того, сколько значений табулируемой величины нужно получить.
Графическая блок-схема алгоритма будет такой:
Ввод
Х=0,1
да
нет