Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Помогите пожалуйста решить задачу по ряду Тейлора (http://www.tehnari.ru/f41/t40424/)

Akardion 29.09.2010 22:19

Помогите пожалуйста решить задачу по ряду Тейлора
 
Вложений: 1
Язык программирования - паскаль. Помогите пожалуйста

KiD2 30.09.2010 20:51

Чего же Вы по примеру уже сами то решить не можете
Код:


CONST
 Eps=0.0001;
VAR
 Xbeg,Xfin,DX,SUM,X:REAL;
 N:WORD;
 Nx,i:INTEGER;

PROCEDURE SUMS(Xs:REAL; Var S:REAL; Var Ns:WORD);
 VAR
  a:REAL;
 Begin
  a:=Xs;
  S:=Xs;
  Ns:=1;
  Repeat
  Inc(Ns);Inc(Ns);
  a:=a*Xs*Xs;
  S:=S+a/Ns;
  Until Abs(a/Ns)<Eps;
  S:=2*S;
 End;

BEGIN
 Write('Xbeg= ');
 ReadLn(Xbeg);
 Write('Xfin= ');
 ReadLn(Xfin);
 Write('DX= ');
 ReadLn(DX);
 WriteLn;
 WriteLn('        Results of calculation:');
 WriteLn('    X          SUM        N    ln((1+x)/(1-x))');
 WriteLn;
 Nx:=ROUND((Xfin-Xbeg)/DX);
 X:=Xbeg;
 For i:=0 to Nx do
  begin
  X:=Xbeg+DX*i;
  SUMS(X,SUM,N);
  WriteLn(X:8:5,'    ',SUM:8:5,'    ',N:3,'    ',ln((1+x)/(1-x)):8:5);
  end;
 ReadLn;
END.

Почти полностью скопирована у Vladimir_S

Akardion 13.10.2010 09:12

Удалось проверить задачу только вчера. Запускаю программу ввожу xbeg и xfin
Потом просят ввести DX
Ввожу такие числовые значения:
xbeg - 0
xfin - 1
dx - 0.1
Сворачивается окно и пишет ошибку #200: Divizion by zero
а бывает если другие значения взять пишит ошибку #205 floating point overflow
что можно предпринять? Программу сегодня надо сдавать в институте

Akardion 13.10.2010 09:25

Забыл добавить что после всего этого, снова запускаю RUN выдает вычисление.
И задача вроде работает и решает.Ссылка удалена

Vladimir_S 13.10.2010 09:43

Вложений: 1
Цитата:

Сообщение от Akardion (Сообщение 404323)
Удалось проверить задачу только вчера. Запускаю программу ввожу xbeg и xfin
Потом просят ввести DX
Ввожу такие числовые значения:
xbeg - 0
xfin - 1
dx - 0.1
Сворачивается окно и пишет ошибку #200: Divizion by zero
а бывает если другие значения взять пишит ошибку #205 floating point overflow
что можно предпринять? Программу сегодня надо сдавать в институте

Естественно, ругается! Потому что условие |х|<1 - СТРОГОЕ неравенство, и значение Xfin=1 НЕДОПУСТИМО! Вот результат счета для интервала
-0.9 ≤ x ≤ 0.9
Вложение 23356
И еще небольшая "косметика": формат вывода изменен с 7:5 на 8:5, иначе отрицательные числа "ломают" колонку.

Akardion 13.10.2010 11:35

Vladimir_S спасибо что помогаете мне, но скажите мне, что надо ввести в xbeg xfin и dx(имею ввиду какие значения)
чтобы задачу засчитали мне. Просто я не понимаю программирование.

Vladimir_S 13.10.2010 12:06

Цитата:

Сообщение от Akardion (Сообщение 404340)
Vladimir_S спасибо что помогаете мне, но скажите мне, что надо ввести в xbeg xfin и dx(имею ввиду какие значения)
чтобы задачу засчитали мне. Просто я не понимаю программирование.

Например:
Xbeg = -0.9
Xfin = 0.9
dx = 0.1

Akardion 13.10.2010 21:42

о! Спасибо Большое Владимир


Часовой пояс GMT +4, время: 17:17.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.