Помощь - Поиск - Пользователи - Календарь
Полная версия: Ряд и ещё раз ряд..
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
xlr8
помогите решить ряд...сумму ряда

program Ind_Ryad;
Uses Crt;
Var x,y:real;

Function my_func(x:real):real;

Var i:integer;
z,s,p,a,b,k,t:real;

begin
i:=1;
a:=1;
b:=1;
k:=-1;
p:=1;
s:=1;

while abs(a/b)>0.01 do

begin


a:=a*abs(k);

b:=b*(2*i);
s:=s+((a/b)*p*x);
p:=-p;
x:=x*x;
k:=k+2;
i:=i+1;

end;
my_func:=s;
writeln('s=',s);
end;
Begin
clrscr;

x:=-1;
while x<=1 do

begin
y:=my_func(x);
x:=x+0.1;
end;

readkey;
End.
мисс_граффити
Цитата
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!

xlr8
люди..я знаю и извеняюсь за то что спрашиваю уже давно избитую тему..но всё таки..я вас очень прошу..я же не прошу с нуля всё это делать..пожалуйста, просто подскажите..
volvo
Подсказываю: во-первых, в приведенный тобой ряд функция раскладывается только при 0 <= X <= 1, не забывай это при вводе данных... А во-вторых, я бы делал вот так:

const
eps = 0.000001;

var
X, s, p: real;
p_above: longint;

next: real;
n, sign: integer;

begin
write('X [0 .. 1] = '); readln(X);

s := 1; p := 1; sign := 1;
p_above := 1;

n := 1;
repeat
if n <= 2 then p_above := 1 else inc(p_above, 2);
p := p * X * (p_above / (2 * n));
s := s + sign * p;

sign := - sign; inc(n);
until p < eps;

writeln('sqrt(1 + x) = ', s:10:6);
writeln('test: ', sqrt(1 + x):10:6); { <--- Это для теста, можно убрать эту строку }
readln;
end.
xlr8
спасибки..будем разбиратся..ВОТ только гадость..если вот с таким условием? я прикрепил правильное изображ. просто устный коммент. плз..
xlr8
 Function _func(x:real):real;

Var i:integer;
sum,p,a,b:extended;

begin
i:=1;
a:=1;
b:=1;
p:=1;
sum:=1;

while abs(a/b*p)>0.00001 do

begin
a:=-a*(2*i-3);
p:=p*x;
b:=b*2*i;
sum:=sum+a/b*p;

i:=i+1;
end;
_func:=sum;

end;


Всё..вышло..решение собственно вверху..всем спасибо..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.