Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Вычислить сумму с точностью

Автор: -Alex- 14.11.2005 3:55

Заданны действительные числа x<>0, E>0. Вычислить сумму с точностью до Е(10-6). Определить количество слагаемых. В процессе
вычисления выдать на экран промежуточные результаты.
файл, с формулой webfile.ru/631015
Буду благодарен за помощь...
Нужен аглоритм решения.. я никак не могу разобраться, все не выходит... да не выходит..

М
А сюда сложно прикрепить?
Прикрепленное изображение
volvo


Автор: Altair 14.11.2005 4:18

Проверь это

var
x,e,k,s,ai:double;
n:longint;
begin
x:=1; k:=1; e:=10E-6; s:=0; ai:=0;
repeat
repeat
ai:=(sqrt(abs(x)))/(k*k*k);
s:=s+ai;
k:=k+1;
inc(n);
until (abs(ai/s)<e) or (n>10000000);
x:=x+1; k:=1
until x>6;
writeln(s);
writeln('chislo slogaemih =',n);
readln
end.

Мне только кажется я с вычислением точности намутил. у меня ночь уже, спать хочу blum.gif

Автор: Altair 14.11.2005 4:24

да неврено!
точность вот что значит,
a[i] элемент должен отличаться от a[i-1] на eps...
значит надо ввести еще переменную где сохранять предыдущий член суммы, и смотреть разницу разницу между a[i] и a[i-1] .. и сравнивать ее с e.
доделаешь

Автор: Altair 14.11.2005 4:30

атк вроде

var
x,e,k,s,ai,save:double;
n:longint;
begin
x:=1; k:=1; e:=10E-6; s:=0; ai:=0;
repeat
repeat
save:=ai;
ai:=(sqrt(abs(x)))/(k*k*k);
s:=s+ai;
k:=k+1;
inc(n);
until (abs(ai-save)<e) or (n>10000000);
x:=x+1; k:=1
until x>6;
writeln(s);
writeln('chislo slogaemih =',n);
readln
end.

Автор: volvo 14.11.2005 4:44

To: Altair
Мне показалось, или при увеличении X переменная K должна сбрасываться в 1-цу? rolleyes.gif

Автор: Altair 14.11.2005 4:47

volvo, замнем, никто не видел! secret.gif



!tongue1.gif

(исправил secret.gif )