0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 16
1

Программа с использованием рекуррентных соотношений

07.12.2014, 18:54. Показов 848. Ответов 2
Метки нет (Все метки)

Состаьте пожалуйста рекуррентную формулу к этой программе. И что выводить на черном экране? само задание ниже
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Program V19_N5;
 var
  x,eps,Z,zn,ch,e,p :real;
  i,t               :integer;
 BEGIN
  write('Vvedite x (1<|x|): ');
  readln(x);
  write('Vvedite eps: ');
  readln(eps);
  t:=0;e:=eps;p:=1;
  repeat
   e:=e*10;
   t:=t+1;
   p:=p*10;
  until eps*p=1;
  i:=2;
  Z:=1;ch:=sqr(x);zn:=i;
  while (abs(ch/zn)>=eps) do begin
   Z:=Z+ch/zn;
   ch:=ch*sqr(x)*(-1);
   zn:=zn*(i+1)*(i+2);
  end;
  write('Z = ',Z:7:t);
 END.
Задание:

Даны x, ε, |x|≤1.

https://www.cyberforum.ru/cgi-bin/latex.cgi?Z=1+\frac{x^2}{2!}-\frac{x^4}{4!}+\frac{x^6}{6!}-...

Определить Z с точностью ε.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.12.2014, 18:54
Ответы с готовыми решениями:

Вычисление рекуррентных соотношений)
С помощью модернизированной программы N1: Program N1; Var n,i: integer; Function...

Проверить справедливость соотношений
Помогите.... я не понимаю как сделать накопитель дроби... с остальным коекак разберусь Добавлено...

Вычисление сумм с использованием рекуррентных соотношений
составьте программу вычисления суммы (для натуральных чисел k,n,m,p, вещественных x и a&gt;1): ...

Написать программу на С/С++ с использованием рекуррентных соотношений решения задачи:
Я написала программу, преподавателю что-то не понравилось. Подскажите пожалуйста, в чем ошибка? ...

2
Модератор
9528 / 4857 / 3228
Регистрация: 17.08.2012
Сообщений: 15,194
08.12.2014, 03:18 2
Зачем используется цикл
Pascal
11
12
13
14
15
  repeat
   e:=e*10;
   t:=t+1;
   p:=p*10;
  until eps*p=1;
Этот цикл практически всегда будет завершаться аварийно из-за ошибок усечения чисел с плавающей точкой, в результате чего eps*p, скорее всего, никогда не будет равно точно 1, и возникнет переполнение числа с плавающей точкой в переменной p.

Ну да ладно. В программе Вашей уже используется рекуррентное соотношение, только не для всего члена ряда, а отдельно для числителя и знаменателя. Это плохое решение, поскольку не удастся вычислить с гарантированной точностью сумму более 9 членов ряда, поскольку все значащие цифры факториала более, чем 16!, в тип real банально не влезают.

Имеется ряд

https://www.cyberforum.ru/cgi-bin/latex.cgi?Z=1+\frac{x^2}{2!}-\frac{x^4}{4!}+\frac{x^6}{6!}-...=1+\sum_{n=1}^\infty \frac{(-1)^{n+1}x^{2n}}{(2n)!}=1+\sum_{n=1}^\infty a_n

Ищем рекуррентное соотношение для членов ряда.

https://www.cyberforum.ru/cgi-bin/latex.cgi?a_1=\frac{x^2}{2}\ ;\ \ a_n=\frac{(-1)^{n+1}x^{2n}}{(2n)!}\ ;

https://www.cyberforum.ru/cgi-bin/latex.cgi?a_{n+1}=\frac{(-1)^{n+1+1}x^{2(n+1)}}{(2(n+1))!}=\frac{(-1)^{n+2}x^{2n+2}}{(2n+2)!}=\frac{-x^2}{(2n+1)(2n+2)}\cdot a_n

Мой вариант программы:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
var n: integer;
    z, x, a, e: real;
 
begin
  repeat
    write('x = ');
    readln(x);
    if abs(x) > 1 then writeln('Error: |x| > 1, reenter.')
  until abs(x) <= 1;
  repeat
    write('Eps = ');
    readln(e);
    if e <= 0 then writeln('Error: e <= 0, reenter.')
  until e > 0;
  a := x * x / 2;
  z := 1 + a;
  n := 1;
  while abs(a) > e do
    begin
      a := -a * x * x / (2 * n + 1) / (2 * n + 2);
      z := z + a;
      inc(n)
    end;
  write('z = ', z);
  readln
end.
1
0 / 0 / 0
Регистрация: 23.11.2014
Сообщений: 16
08.12.2014, 18:16  [ТС] 3
спасибо большое!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.12.2014, 18:16
Помогаю со студенческими работами здесь

Вычислить ln(1+x)/(1-x) с использованием рекуррентных соотношений для степенных рядов
С помощью рекуррентных соотношений для степенных рядов вычислить приближенное значение функции в...

Вычисление суммы ряда с использованием метода рекуррентных соотношений
Никак не могу решить с помощью метода рекуррентных соотношений, не сходится на проверке, пробовал...

Найти суммы бесконечного ряда с использованием рекуррентных соотношений
Пытался решить но компилятор ругается на епсилант, не могу понять как исправить?? from math...

Метод рекуррентных соотношений
Помогите разобратся в методе рекуррентных (или возвратных) соотношений из курса линейной алгебры ??...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru