"Все сообщения пользователя sveto4ek"


Страницы: 1
как вычислить сумму с заданной точностью
Пользователь: sveto4ek
Сообщений: 2
Статус: Незримый
Зарегистрирован:
27 марта 2009, 8:01
Был:16 июня 2011, 9:44
sveto4ek
smsup
Дата: 27 марта 2009, 8:24 Сообщение №
Код анологичной задачи:
Дана некая функция у и интервал переменной х. х изменяется с заданным шагом.
Задана формула приближенного вычисления функции y для конкретного х.
Требуется вычислить сумму ряда с заданой точностью для каждого х и сравнить полученную сумму с точным значением функции в этой точке. Сумму вычислять с заданной точностью.
для каждого значения х вычислялась бесконечная сумма и точное значение. Далее х увеличивался на заданый шаг и вычисления повторялись.

Код на Pascal
  1. {Вычислить сумму ряда с заданной точностью e}
  2. Const p=3.14;
  3. e=0.001; {точность}
  4. Var S, S1, x, y, a :real;
  5. i, n: Integer;
  6. Begin
  7. x:=0.1; {начало отрезка вычислений}
  8. writeln('|*-*-*-*-*-*-*-*-*-*-*-*-*-*|');
  9. Writeln('| x | function | summa |');
  10. writeln('|*-*-*-*-*-*-*-*-*-*-*-*-*-*|');
  11. While x<=0.8 do begin {цикл прохода по всему отрезку}
  12. S:=0; {обнуляем сумму}
  13. a:=1; {начальные константы,}
  14. n:=1; {зависят от формулы ряда}
  15. While a>e do begin {собственно вычисление суммы}
  16. a:=a*x;
  17. S1:=S;
  18. S:=S+a*Sin(n*p/4); {формула определена заданием}
  19. n:=n+1; {подсчет числа итераций}
  20. end;
  21. y:=(x*Sin(p/4))/(1-2*x*Cos(p/4)+x*x); {точное значение функции}
  22. Write('| ',x:3:1,' |'); {для каждого х}
  23. Write(' ',y:8:5,' |');
  24. Writeln(' ',S:8:5,' |');
  25. writeln('|---------------------------|');
  26. {увеличение х и повтор вычислений}
  27. end;
  28. readln;
  29. End.
  30.  
При использовании обязательна ссылка на http://DMTSoft.ru

Страницы: 1