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

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

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

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

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

Akardion

Ученик
Регистрация
29 Сен 2010
Сообщения
5
Реакции
0
Баллы
0
Помогите пожалуйста решить задачу по ряду Тейлора

Язык программирования - паскаль. Помогите пожалуйста
 

Вложения

  • Безымянный.webp
    Безымянный.webp
    21 KB · Просмотры: 420
Чего же Вы по примеру уже сами то решить не можете
Код:
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
 
Удалось проверить задачу только вчера. Запускаю программу ввожу xbeg и xfin
Потом просят ввести DX
Ввожу такие числовые значения:
xbeg - 0
xfin - 1
dx - 0.1
Сворачивается окно и пишет ошибку #200: Divizion by zero
а бывает если другие значения взять пишит ошибку #205 floating point overflow
что можно предпринять? Программу сегодня надо сдавать в институте
 
Последнее редактирование:
Забыл добавить что после всего этого, снова запускаю RUN выдает вычисление.
И задача вроде работает и решает.Ссылка удалена
 
Последнее редактирование модератором:
Удалось проверить задачу только вчера. Запускаю программу ввожу 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
FP01.webp
И еще небольшая "косметика": формат вывода изменен с 7:5 на 8:5, иначе отрицательные числа "ломают" колонку.
 
Vladimir_S спасибо что помогаете мне, но скажите мне, что надо ввести в xbeg xfin и dx(имею ввиду какие значения)
чтобы задачу засчитали мне. Просто я не понимаю программирование.
 
Vladimir_S спасибо что помогаете мне, но скажите мне, что надо ввести в xbeg xfin и dx(имею ввиду какие значения)
чтобы задачу засчитали мне. Просто я не понимаю программирование.
Например:
Xbeg = -0.9
Xfin = 0.9
dx = 0.1
 
о! Спасибо Большое Владимир
 
Назад
Сверху