Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Помощь студентам


Ответ
 
Опции темы Опции просмотра
Старый 01.05.2011, 22:36   #1 (permalink)
Tymvie
Новичок
 
Регистрация: 01.05.2011
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Ряд Тейлора

Помогите плиз. Язык - Паскаль

Замечание:
Правила форума, п. 3.6
Цитата:
Каждый участник имеет один аккаунт на форуме. Регистрация дополнительных аккаунтов запрещена.
Поэтому:
1. "Пользователь" VizPark заблокирован.
2. Тема-дубль удалена.
3. Вам делается первое, оно же последнее, предупреждение о недопустимости подобного.
Модератор.
Миниатюры
s.jpg  
Tymvie вне форума   Ответить с цитированием

Старый 01.05.2011, 22:36
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Пожалуйста, попробуйте поискать ответ в схожих обсуждениях

Помогите с задачей. Ряд Тейлора.
Ряд Тейлора.
Тоже проблема с Рядом Тейлора.
Помогите пожалуйста решить задачу по ряду Тейлора
Ряд Тейлора

Старый 02.05.2011, 09:22   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Так, ну прежде всего, можете сказать, что тот, кто составлял это задание - полный профан в математике, придурок и неуч, поскольку функция ArTh (ареатангенс) определена ТОЛЬКО в диапазоне |x|<1, а приведенный ряд - это разложение функции ArCth (ареакотангенс), действительно определенной только при |x|>1. В программе предусмотрена проверка правильности ввода исходных данных, а также в четвертой колонке для сравнения выводится точное значение функции ареакотангенс. Точность задана в виде константы.
Код:
CONST
 Eps=0.0001;
VAR
 SUM,X,Xbeg,Xfin,dX:REAL;
 N,NX:WORD;
 i:Integer;

FUNCTION ArCth(Xa:Extended):Extended;
BEGIN
    ArCth:=(1/2)*Ln((Xa+1)/(Xa-1));
END;


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

Function B:boolean;
begin
 B:=((Xbeg>1) and (Xfin>Xbeg) and (dX>0)) or
    ((Xbeg<-1) and (Xfin<-1) and (Xfin>Xbeg) and (dX>0)) or
    ((Xbeg<-1) and (Xfin<Xbeg) and (dX<0));
end;

BEGIN
 WriteLn('If X range is POSITIVE, then Xbeg must be >1,');
 WriteLn('Xfin must be >Xbeg and dX>0');
 WriteLn('If X range is NEGATIVE, then Xbeg and Xfin must be <-1,');
 WriteLn('in case of dX>0 Abs(Xfin) must be <Abs(Xbeg),');
 WriteLn('whereas for dX<0 Abs(Xfin) must be >Abs(Xbeg)');
 WriteLn;
 Repeat
  Write('Xbeg= ');
  ReadLn(Xbeg);
  Write('Xfin= ');
  ReadLn(Xfin);
  Write('dX= ');
  ReadLn(dX);
  If B=false then
   WriteLn('Incorrect values! Repeat the input.');
 Until B;
 NX:=Round((Xfin-Xbeg)/dX);
 WriteLn('         Results of calculation:');
 WriteLn('    X          SUM          N      ArCth(X)');
 WriteLn;
 For i:=0 to NX do
  begin
   X:=Xbeg+dX*i;
   SUMS(X,SUM,N);
   WriteLn(X:8:5,'    ',SUM:9:6,'     ',N:3,'     ',ArCth(X):9:6);
  end;
 ReadLn;
END.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




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

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.