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

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

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

Автор: drug 23.11.2007 17:27

Вычислить сумму ряда с точностью е=10^(-5) при n изменяющимся от 0 до бесконечности

3^n/((n+1)*x^(n+1))

вот код:

program z1_13;
uses crt;
const e=0.0001;
var
x,s,p:real;
n:integer;
begin
clrscr;
write('vvedite x (x<>0) ');
readln(x);
n:=0;
s:=0;
repeat
if x>0 then p:=exp(n)*ln(3)/((n+1)*exp(n+1)*ln(x))
else p:=exp(n)*ln(3)/((n+1)*exp(n+1)*ln((-1)*x));
inc(n);
s:=s+p;
until s<e;
write ('summa ryada ravna ',s:12:5);
end.


просто крайне малый интервал что я могу вводить икс

и чивота меня напрягает степень через экспоненту

М
Пожалуйста, используй правильные теги. Лопарь


Автор: Lapp 23.11.2007 17:48

Ты неправильно считаешь степень.
Надо так:

a^n = e^(n*Ln(a))

А у тебя e^n*Ln(a)

Автор: volvo 23.11.2007 18:57

Цитата
чивота меня напрягает степень через экспоненту
Правильно напрягает. Экспонента здесь не нужна, так же как и вообще вычисление степени. Уже были примеры вычисления рядов, почему каждый раз приходится говорить одно и то же?

const
e = 0.0001;

var
X, s, next: real;
n: integer;

begin
write('[Abs(X) > 3] X = '); readln(X);
next := 1 / X;
s := next;
n := 0;

repeat

next := next * 3 / X;
inc(n);
s := s + next / n;

until abs(next / n) < e;
writeln('s = ', s:10:5);
end.
Х должен быть в интервале -inf .. -3 или 3 .. +inf

От -3 до 3 - ряд возрастает, ты не сможешь найти сумму с заданной точностью.

Автор: drug 23.11.2007 18:59

спасибо исправил ..


Добавлено через 19 мин.
а эт можно ищо спросить
почему он возрастает на промежутке -3..3?

а то на защите я ж не скажу:
"Патамушта так сказали на форуме"

Автор: volvo 23.11.2007 19:27

Потому что в числителе имеем 3n, а в знаменателе - Xn+1, следовательно если X будет по модулю меньше 3, то числитель (а следовательно и весь n-ый член ряда) будет расти быстрее знаменателя.

(вроде, нигде не ошибся...)

Автор: drug 23.11.2007 19:28

записал
спасибо ышо раз

Автор: Lapp 23.11.2007 19:33

Цитата(volvo @ 23.11.2007 14:57) *

От -3 до 3 - ряд возрастает, ты не сможешь найти сумму с заданной точностью.

Точнее, на этом промежутке ряд расходится, и суммы у него нет совсем. А поскольку ее нет, то нет смысла ее и искать.. smile.gif

Есть еще одно соображение. Оценка по последнему члену верна только для знакопеременного ряда. Этот ряд при x>0 не является знакопеременным, так что оценка его суммы по последнему члену неправомерна. Я не знаю, что имели в виду те, кто задавал задачу. Может, ты приведешь более точное условие?

Автор: drug 26.11.2007 14:22

более точного условия нету...
это с методички для контрольной
там тока такое