• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Ряд Тейлора

  • Автор темы Автор темы Tymvie
  • Дата начала Дата начала

Tymvie

Ученик
Регистрация
1 Май 2011
Сообщения
1
Реакции
0
Баллы
0
Ряд Тейлора

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

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

Вложения

  • s.webp
    s.webp
    37.6 KB · Просмотры: 105
Так, ну прежде всего, можете сказать, что тот, кто составлял это задание - полный профан в математике, придурок и неуч, поскольку функция 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.
 
Назад
Сверху