IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите! Расхождение ряда
Fellout
сообщение 12.12.2008 15:18
Сообщение #1





Группа: Пользователи
Сообщений: 9
Пол: Мужской

Репутация: -  0  +


Дана задача: с помощью библиотечной функции ln(1+x) вычислить расхождение, реализовывая этот ряд с помощью рекурентной формулу, а также использовать одноадресную систему команд, тоесть можно использовать только одну переменную, вторая в операции обязательно проходит через аккумулятор. Вычитая получившуюся сумму ряда расхождение не должно привышать 3*10 в -4 степени. В чем ошибка, расхождение никак не сходится?? sad.gif(( Помогите пожалуйста, а то кроме реализации на ЯВУ нужно ещё сделать эту задачу на Vax-11, а осталась только неделя sad.gif
Var
sx, sf:smallint;
x,F1,F3:real;
diff:real;
Begin
diff:=0;
for sx:=-6553 to 16384 do
begin
x:=sx/32768;
//x:=sx div 32768;
F1:=ln(1+x);
sf:= F2(sx);
F3:=sf/32768;
//F3:= sf div 32768;
if diff < abs(F1-F3) then diff:= abs(F1-F3);
end;
edit1.Text:=floattostr(diff);
end;

function TForm1.F2(sx:smallint):smallint;
var
x,accm,a,sf,F2:smallint;
n:integer;
temp1:longint;
begin
n:=1;
sf:=sx;
a:=sx;
x:=sx;
while a<>0 do
Begin
accm:=-1;
a:=a*accm;
accm:=x;
temp1:=a*accm;
temp1:=temp1+16384;
a:=temp1 div 32768;
accm:=n;
//a:=mul(a,accm)
a:=a*accm;
accm:=1;
n:=n+accm;
accm:=n;
a:=a div accm;
//a:=divi(a,accm);
accm:=a;
sf:=sf+accm;
end;
F2:=sf;
end;


Сообщение отредактировано: Lapp - 13.12.2008 2:07
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 12.12.2008 21:19
Сообщение #2


Гость






Цитата
не получается все равно, такое ощущение, что сумма ряда не правильно складывается...
Это ты кому-нибудь другому расскажешь, ладно? В Edit1 выводится 0.000203475073580706, что меньше твоей погрешности, значит сумма считается даже точнее...
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 18:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"