![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Wlad |
|
|||
|
Unregistered |
Помогите пожалуйста – не могу никак справиться с написанием проги на Паскале для этого задания - где-то ошибка. Данные такие: отрезок [0.1,0.8] разбивается на 20 равных интервалов. В каждой из образующихся при таком разбиении n+1 точек подсчитать сумму ряда
S=k*(k+2)*x^k с точностью 0.01. Сравнить полученную сумму ряда со значениями функции f(x)=x*(3-x)/((1-x)^3) в соответствующих точках. При правильном вычислении суммы ряда значения в колонках S и f должны быть приблизительно равны. А вот то , что мне удалось состряпать: ║program rad{Нахождение суммы ряда}; ║ Uses Crt; ║ var ║ x,a,t,b,h,y,s:real; ║ k,n:integer; ║ begin ║ Clrscr; ║ a:=0.1; b:=0.8; x:=a; n:=20; s:=0; h:=(b-a)/(n); ║ while x<=b do ║ begin ║ k:=1; ║ while k<n do ║ begin ║ t:=k*(k+2)*(exp(k*ln(x))); s:=s+t; k:=k+1; ║ end; ║ y:=x*(3-x)/(exp(3*ln(1-x))); ║ writeln(x:7:2,s:9:2,y:11:2); ║ x:=x+h; ║ end; ║ Readkey; ║end. А результаты такие: 0.10__ 0.40__ 0.40 0.14__ 1.00__ 0.60 0.17__ 1.84__ 0.84 0.21__ 2.98__ 1.14 0.24__ 4.49__ 1.51 0.28__ 6.45__ 1.97 0.31__ 8.99__ 2.54 0.34__ 12.25__ 3.26 0.38__ 16.43__ 4.18 0.41__ 21.79__ 5.36 0.45__ 28.68__ 6.90 0.48__ 37.61__ 8.93 0.52__ 49.27__ 11.66 0.55__ 64.66__ 15.40 0.59__ 85.26__ 20.63 0.62__ 113.29__ 28.15 0.66__ 152.20__ 39.29 0.69__ 207.42__ 56.46 0.73__ 287.71__ 84.19 0.76__ 407.40__ 131.75 0.80__ 590.27__ 220.00 Первый и третий столбцы (x,y) получаются вроде правильными (считал на калькуляторе), а вот S (второй столбец) считает неправильно. Помогите!!!!! Заранее премного благодарен!!!!!!!!!!!!! Это сообщение отредактировал kwns - 4.03.04 5:09 |
|||
|
||||
| remax |
|
|||
|
Доцент ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 686 Регистрация: 7.4.2002 Где: Украина, Харьков Репутация: 1 Всего: 5 |
Почему не правильно?
А результаты такие: 0.10__ 0.40+0 = 0.40 0.14__ 0.40+0.60 = 1.00 0.17__ 1.00+0.84 = 1.84 0.21__ 1.14+1.84 = 2.98 ............. вплоть до 0.55 там начинается отличие во втором знаке. А почему - да потому, что вы выводите только два разряда и не видете какие округления получаете! Поставте 8 разрядов и увидете погрешность только в последнем знаке, т.е. примерно 0.00000001-0.00000002! -------------------- Как бы ты не старался быть хорошим и правильным человеком с принципами и уважительным отношением к другим, всегда найдется кто-то, кто бросит в тебя какашку |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |