Если члены ряда являются функциями аргумента "x", то ряд называется функциональным. Расчет многих функций производится разложением функции в степенной ряд.Приведем пример расчета значения функции y=sin(x) при некотором значении "х" с использованием представления функции в виде ряда:
где a0= x, aN= k * aN-1, k= (-x2)/(2*N*(2*N+1)), N= 0, 1, 2, ...
Kаждый член ряда аN при N>0 можно получить умножением предыдущего члена ряда aN-1 на коэффициент k. Приближенное значение функции y=sin(x) находится как частичная сумма "N" членов ряда. Погрешность вычисления значения функции "у" при некотором значении "х" зависит от количества членов ряда и значения "х", поэтому расчет заканчивается при |aN| < eps, где eps - допустимая погрешность расчетов. В программе используем цикл с условием, например:
PROGRAM SIN_R;
Var y, y1, x, eps, a, k: real; n: Word;
Begin
Writeln('Вычисление y=sin(x) с использованием ряда !');
Write('Введите значение аргумента x='); readln(x);
Write('Введите значение погрешности еps='); readln(eps);
Writeln('Приближенное значение функции y1=', y1:-11:8, ' при n=', n )
end;
Writeln('Контрольное значение функции y=sin(x)=',y:-11:8);
Writeln('Нажмите Enter'); readln;
End.
Применение оператора Repeat. . . в данном примере имеет вид:
Repeat "операторы" Until abs(a) < eps;
Операторы цикла с условием могут применяться для анализа правильности вводимых данных. Контроль входных данных обязателен для рядов, сходящихся не во всей области "X", например, |X|<1 при разложении функции arctg(x) в степенной ряд. В этом случае можно использовать "защиту от дурака", например:
Repeat Write('введите значение |х|<1;_ _x='); readln(x)