вот задачка:
вычислить приближенное значение бесконечной суммы.Нужное приближение считается полученным если сумма первых нескольких слагаемых , и очередное слагаемое оказалось по модулю меньше данного положительного e .
X+1*X^3/(2*3) + 1*3X^5/(2*4*5) + 1*3*5*X^7/(2*4*6*7)+ 1*3*5*7*X^9/(2*4*6*8*9)+...... и тд
const MaxIter = 500;
var x, eps : double;
c, y : double;
n : integer;
done : boolean;
begin
writeln('vvedite x u tochnost:');
readln(x, eps);
if sqr(x)>=1 then writeln('x ne podhodit')
else
done := true;
c := x; y := c;
n := 0;
while abs© > eps do begin c := c*sqr(x)*x/(2*n + 1)/(2*n + 3);
y := y + c;
inc(n);
if n > MaxIter then begin
writeln('piad pacxoditcia!');
done := false; break
end
end;
if done then
writeln('Dlia argumenta ', x , 'znachenie funkcii: ' , y , ' vicheslino s tochnostiu', eps, ' za ', n, ' iteraciy');
readln;
end.
количество итераций у меня вседа =0, и я очень не уверен в правильности c := c*sqr(x)*x/(2*n + 1)/(2*n + 3);