Алгоритм итерационного цикла

Пример 4 Вычислить корень k-й степени из аргумента х = 2 с точностью до третьего знака после запятой.

Корень любой степени можно вычислить по итерационной формуле

Погрешность вычислений определим как модуль разности текущего и следующего значений функции у и сравнения его с заданной точностью Е = 0,001

│y(n+1)-y(n)│<E

Для вычислений нужно задать начальное приближение результата, т.е. примерное значение корня k-й степени из аргумента х, например, единицу.

y(n)=h = 1

В программе приняты обозначения:

h – начальное значение функции у;

x – значение аргумента х;

k – показатель степени корня;

E – заданная точность вычисления функции у.

 

 

Y0 – текущее значение функции у

Y1 – следующее значение функции у

Программа:

CLS

INPUT h,x,k,E

Y0=h

L2: Y1=1/k*((k-1)*Y0+x/Y0^(k-1))

IF ABS(Y1-Y0)<E THEN L1

Y0=Y1

GOTO L2

L1: PRINT Y1

END

 

Путем последовательного приближения к заданному значению E по данной итерационной формуле получается искомый результат корня. Здесь в строке 6 результат предыдущей итерации y(0) заменяется результатом, полученным при последующей итерации (y(1)). После этого управление передается по метке L2, где по итерационной формуле получается очередное приближение значения корня (y(1)) к требуемой точности вычислений. Когда заданная точность достигнута (│y(1)-y(0)│<E), осуществляется выход из цикла путем передачи управления по метке L1.

 

Контрольные вопросы

1 Какие вычислительные процессы называются итерационными?

2 Какая переменная управляет итерационным циклом ?

3 Какой метод вычислений реализуется в итерационных вычислительных процессах.

4 Как организовать вычисление факториала?

5 Как вычислить сумму чётных факториалов, начиная с 4!?

6 Как вычислить сумму нечётных факториалов, начиная с 5!?

7 Как организовать вычисление произведения факториалов?

Как ввести вычисление знакопеременности членов ряда?