Помогите пожалуйста решить - Используя оператор цикла с дальнейшим условием, вычислить сумму бесконечного ряда, учитывая только те слогаемые, которые по абсолютной величине больше заданного числа :
При вычислении члена ряда использовать рекурентные соотношения, число Х ввести склавиатуры. Вот функция :
При при малых k последовательность под знаком суммы возрастает, а при больших k - убывает, так что нужно найти примерно, где у нее максимум и на него ориентироваться.
Пожалуйста, покажи свои наработки по этому вопросу.
это я уже решил. спосибо...и забыл сказать что там ограничение до 10 в минус 5 степени...сначала создаю функцию вычисления факториала а потом ее использую...это кусок кода
Function Tform1.ResFact(N:real) : real;
Begin
if N <= 1
then
ResFact := 1
else
ResFact := N*ResFact(N-1);
End;
procedure TForm1.Button1Click(Sender: TObject);
const e=exp(-5*ln(10));
var w,k,s,x:real;
i:integer;
begin
k:=1;
s:=0;
val(edit1.text,x);
repeat
w :=exp(2*k*ln(x))/resfact(2*k);
k:=k+1;
s:=s+w;
until w > e;
label1.caption:=floattostr(s);
end;
И где у тебя "рекурентные соотношения"?
факториал не нужен
k:integer; и зачем тебе i?
begin
val(edit1.text,x);
k:=1;
w:=sqr(x)/2;
s:=w;
repeat
k:=k+1;
w :=w*sqr(x)/(2*k)/(2*k-1);
s:=s+w;
until w > e;
label1.caption:=floattostrf(s, ffFixed, 10, 7);
end;
разве (2k)! в функции не означает факториал? рекурсия вроде бы используется в функции вычисления факториала...может я чтото не так понимаю, как по вашему должно это выглядеть?
k дано по условию... i тоже присутствует в функции...я его ввожу с клавы.