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

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Вычисление функции разложением ее в ряд, Паскаль (http://www.tehnari.ru/f41/t98710/)

Vikesiya 06.10.2014 00:26

Вычисление функции разложением ее в ряд, Паскаль
 
Вложений: 1
Помогите с задачкой tehnoangel
Составить алгоритм и программу нахождения суммы ряда с заданной точностью Е. Использовать рекуррентные соотношения при вычислении очередного члена ряда. Для оценки правильности результата предусмотреть вычисление по контрольной формуле. Вычисление суммы заканчивается, если модуль очередного слагаемого оказывается меньше заданного значения точности (Е), причем для этих рядов (при |X|<1) абсолютная величина суммы всех отброшенных членов ряда при этом оказывается меньше Е. (Pascal)
Во Вложение Ряд и Контрольная формула





понимаю что нужно составить формулу,но не могу понять как именно в этой ситуации это сделать,помогите пожалуйста
получилось написать лишь начало программы,а дальше уже все с помощью формулы идет,по моему мнению,вообще не понимаю... думала пол дня над этим


Код:

Var s,x,e,b,c,a,y:real;
i:integer;
Begin
  Read (x,e);
  if ...


Vikesiya 06.10.2014 00:29

Контрольная формула: 1-(1/((1+x)^(1/3)))

Николай_С 06.10.2014 00:59

Тут всё немного сложней...
- сначала надо проверить ряд на сходимость. Если ряд расходящийся - то всё псу под хвост.
- расчетная формула оформляется в виде подпрограммы (точнее - функции).
- пишется программа, в которой есть цикл с выходом по значению функции меньшему Е и суммированием всех её значений.

Надеюсь, теперь кое-что прояснилось. Сами справитесь?

Vladimir_S 06.10.2014 10:14

Цитата:

Сообщение от Vikesiya (Сообщение 1067385)
думала пол дня над этим

Этого мало. Но лучше бы Вы воспользовались поиском: у нас на форуме рассмотрено 100000000 подобных задач. Вот и сейчас я не стал заморачиваться с написанием программы "с нуля", а просто взял первую попавшуюся аналогичную, да чуть-чуть подправил под Ваши условия. Работы аж на пять минут.
Код:

VAR
 i:Integer;
 S,x,A,Eps:Real;

Function F(z:real):real;
begin
 F:=1-1/Exp(Ln(1+z)/3);
end;

Begin
 Write('x (-1<x<1) = ');
 Readln(x);
 Write('Eps (e.g. 0.0001)= ');
 Readln(Eps);
 i:=0;
 A:=-1;
 S:=0;
 Repeat
  Inc(i);
  A:=-A*(3*i-2)/(3*i)*x;
  S:=S+A;
 Until Abs(A)<Eps;
 Writeln('x= ',x:0:3,'  Sum= ',S:0:5,'  Accurate value= ',F(x):0:5);
 Readln
End.

P.S. Коля, не надо грузить человека лишним: условие сходимости (|X|<1) прописано в формулировке задачи.


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

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