Основы визуальной алгоритмизации


Циклические алгоритмы - часть 2


                            

n

Y

Реккурентные  соотношения

       

 

1

Y[1]=X

 

Y=X

 

2

Y[2]=X*X  или Y[2]=Y[1]*X

Y=X*X  или Y=Y*X

3

Y[3]=X*X*X или Y[3]=Y[2]*X

 

Y=X*X*X  или Y=Y*X

 


 

Рис.12. Алгоритм вычисления суммы ряда S=x+x^2+x^3+…+x^n

 

 

Пример 5.Пусть требуется составить алгоритм вычисления суммы ряда S=x+x^2+x^3+…+x^n.

Решение. Исходные данные для алгоритма это переменные x и n. На каждом шаге будем вычислять очередной член суммы Y и прибавлять его к предыдущему значению суммы S.Для этого используем реккурентную формулу вычисления степени Х (см. таблицу 3) Y=Y*Х, тогда сумма ряда на каждом шаге итерации будет вычисляться по формуле S=S+Y. Количество итераций K изменяется от 1 до  n и равно количеству членов ряда.  Начальное  значение суммы ряда S равно 0. На рис. 12 представлен циклический алгоритм с предусловием для вычисления заданной суммы ряда.

 

Пример 6. Требуется составить алгоритм получения на отрезке

[-15,15]  множества значений функции Y= SIN(X) в виде таблицы значений (X,Y) при изменении аргумента Х по формуле  X[k]=X[k-1]+h, где h=1,5.

 

Решение. Такие задачи относят к задачам табулирования функций. Из


условия задачи определяем, что начальное значение отрезка табулирования  X= -15, конечное значение  - X=15. Процесс получения множества пар Х,Y) является итерационным, значит проектируемый алгоритм будет циклическим. Условие выхода из цикла Х>15. На рис. 13  представлен циклический алгоритм  с предусловием вычисления табличного значения функции Y= SIN(X) на отрезке  -15<X<15 при изменении Х на каждом шаге итерации на величину 1,5. Результатом выполнения алгоритма является циклический вывод множеств пар (Y,X) .

 

 

 

Рис. 13. Циклический алгоритм табулирования функции Y =sin (X)

 

 




Начало  Назад  Вперед