![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 16
|
![]()
Здравствуйте.
Вообщем не получается разобраться с условием задачи на вычисление значения суммы ряда с определённой точностью. В смысле, не могу понять чего от меня хотят в этой задаче... Вот она: "Вычислить сумму ряда s(x) с точностью e=10^-3: s(x)=-(1+x)^2+(1+x)^4/2-(1+x)^6/3+(-1)^n*(1+x)^2n/n" В каком смысле надо понимать здесь значение слов "с точностью e"?) Вот мои размышления по задаче=): program _; var s,x,n,e,y,z,t:real; begin writeln ('vvedite x:'); readln(x); n:=1; e:=0.001; s:=0; y:=(1+x);z:=y*y;t:=-1; while s<e do begin s:=t*(y*y/n)+s;y:=y*z;n:=n+1;t:=t*t; end; writeln('summa = ', s:1:3); end. Но в итоге получаются подозрительные ответы... |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Тосность в данном случае это когда разность между очередной вычисленной суммой и предыдущей будет меньше заданной величины.
while abs(si-s)>=e do begin s:=si; ........ si:=si+...... end; |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 16
|
![]()
не могли бы вы скинуть кусок правильного кода?!
![]() program _; var s,x,n,e,y,z,t,o,si:real; begin writeln ('vvedite x:'); readln(x); n:=1; e:=0.001; si:=0; y:=(1+x); z:=y*y; t:=-1; o:=y*y; while abs(si-s)>=e do begin s:=si; si:=t*(z/n)+si; z:=z*o; n:=n+1; t:=t*t; end; writeln('summa = ', s:1:3); end. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
В условии задачи не хватает сведений об х. Дело в том, что при положительных х функция расходится, т.е. значения поочередно полозительные и отрицательные, стремящиеся в разные стороны. Вероятно Вы что-то упустили в условии, типа х<0.
|
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Вот написал, но работает при x=[-2,0].
Код:
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 16
|
![]()
Ну не знаю... В условии задачи ничего не говорится о том каким должно быть значение х. Хотя запуская программу из поста #3, ноль постянно получается в результате, независимо от положительного или отрицательного х...((
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
А Вы ее в Экселе прогоните при х=-3 и при х=1 и сами посмотрите, чего зря сомневаться.
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 16
|
![]()
честно говоря, в экселе не силен...(( можете в двух словах объяснить как этот "прогон" можно реализовать?
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Сделай на бумаге с калькулятором, раз такой отсталый. Возьми например х=2 и считай при n=1,2,3,4,5... и увидишь что ряд расходится в разные стороны и условие никогда не будет выполнено.
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 24.10.2008
Сообщений: 16
|
![]()
Ну ладно... спасибо!)
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Табулирование функции и суммы функционального ряда | forumu | Помощь студентам | 20 | 10.12.2010 18:18 |
Расчитывание суммы бесконечного ряда до определённого значения | SLec | Помощь студентам | 3 | 17.11.2008 22:18 |
вычисления суммы ряда | kJlaCuk | Паскаль, Turbo Pascal, PascalABC.NET | 3 | 17.09.2008 23:24 |