Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.05.2018
Сообщений: 2

Исправить программу вычисления суммы ряда

05.12.2022, 07:10. Показов 421. Ответов 3

Студворк — интернет-сервис помощи студентам
Рекурсия.

Никак не могу понять, что не так составляю в формуле, ведь по итогу, можете пожалуйста помочь!
Нужно чтобы сумма ряда по итогу +- сходилась с контрольной формулой
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
27
28
29
30
31
32
program req;
 
var
  x, e: real;
  
  sum, y: real;
  
  a: real;
  i: integer;
  k: integer;
  
begin
  write('Введите аргумент: ');
  readln(x);
  write('Введите точность: ');
  readln(e);
  
  i := 2;
  a := sqr(x) / 1 * (2 * 1 - 1);
  sum := a;
  
  while abs(a) > e do begin
    a := a * ((-(x * x) * (i * (2 * (i - 1)))) / ((i + 1) * (2 * i - 1)));
    sum := sum + a;
    i := i + 1;
  end;
  
  y := 2 * x * arctan(x) - 2 * ln(sqrt(1 + x*x)); 
  k := 5;
  writeln('Сумма ряда = ', sum:(k + 3):k);
  writeln('Контрольная формула = ', y:(k + 3):k);
end.
https://www.cyberforum.ru/cgi-bin/latex.cgi?\frac{x^2}{1 \cdot \left(2 \cdot 2 - 1 \right)} - \frac{x^4}{2 \cdot\left(2 \cdot 2 - 1 \right)}+\frac{x^6}{3 \cdot \left(2 \cdot 3 -1 \right)}- \dots \pm \frac{x^{2i}}{i \cdot \left(2i-1 \right)}\mp\\2x \cdot \arctan\:x - 2\ln\sqrt{1+x^2}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.12.2022, 07:10
Ответы с готовыми решениями:

Составить алгоритм и программу вычисления суммы ряда.Справа от знака равенства дано для контроля математическое значения ряда
Прошу помогите решить Составить алгоритм и программу вычисления суммы ряда.Справа от знака...

Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если известно количество N членов ряда
Составить программу для вычисления суммы данного ряда для указанного значения аргумента х, если...

По заданной формуле (k+1)²+3)/k члена ряда с номером k составить программу вычисления суммы всех членов ряда
По заданной формуле ((k+1)²+3)/k члена ряда с номером k составить программу вычисления суммы всех...

3
Модератор
10357 / 5643 / 3396
Регистрация: 17.08.2012
Сообщений: 17,213
05.12.2022, 12:27
Лучший ответ Сообщение было отмечено Darkonitos как решение

Решение

Замечание: ряд сходится при |x| < 1.

Исправьте:
Pascal
18
  i := 1;
Pascal
23
    a := a * ((-(x * x) * (i * (2 * i - 1)) / ((i + 1) * (2 * (i + 1) - 1))));
Последнее выражение можно упростить и сократить на 2. Кроме того, для уменьшения ошибок окргления можно чередовать операции умножения и деления.
Pascal
23
    a := -a * x * x * i  / (i + 1) * (i - 0.5) / (i + 0.5);
А почему Ваша тема называлась "Рекурсия"? В Вашей программе нет рекурсии, зато есть рекуррентное соотношение.

Вам нужно решение с рекурсией, или Вы перепутали термины?
1
0 / 0 / 0
Регистрация: 15.05.2018
Сообщений: 2
05.12.2022, 18:08  [ТС]
Спасибо большое! Да, перепутал термины, не знаю как так написал, а можно чуть поподробнее на счет сокращения, хотел бы все таки вникнуть в правильное решение

Добавлено через 1 час 28 минут
Извиняюсь, решение сказали неправильное, хоть вывод и правильный, но "он перегружает систему", тк у меня двухрядовое уравнение - нужно как-то по другому составить, вообще не понимаю чего хочет от меня препод
0
Модератор
10357 / 5643 / 3396
Регистрация: 17.08.2012
Сообщений: 17,213
06.12.2022, 00:13
Лучший ответ Сообщение было отмечено Darkonitos как решение

Решение

Насчёт сокращения.

Ряд:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\sum_{i=1}^{\infty }\frac{(-1)^{i+1}x^{2i}}{i(2i-1)}=\sum_{i=1}^{\infty }\!a_i<br />

Рекуррентное соотношение:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\boxed{a_1=x^2};\ \ \ a_i=\frac{(-1)^{i+1}x^{2i}}{i(2i-1)};\ \ \ a_{i+1}=\frac{(-1)^{i+1+1}x^{2(i+1)}}{(i+1)(2(i+1)-1)};<br />

В формуле для ai+1 раскрываем некоторые скобки и приводим подобные члены:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a_{i+1}=\frac{(-1)^{i+1+1}x^{2(i+1)}}{(i+1)(2(i+1)-1)}=\frac{(-1)^{i+2}x^{2i+2)}}{(i+1)(2i+2-1)}=\frac{(-1)^{i+2}x^{2i+2}}{(i+1)(2i+1)}<br />

Выражаем ai+1 через ai :

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{a_{i+1}}{a_i}=\frac{\frac{(-1)^{i+2}x^{2i+2}}{(i+1)(2i+1)}}{\frac{(-1)^{i+1}x^{2i}}{i(2i-1)}}=\frac{(-1)^{i+2}}{(-1)^{i+1}}\cdot \frac{x^{2i+2}}{x^{2i}}\cdot \frac{i}{i+1}\cdot \frac{2i-1}{2i+1}<br />

В последней дроби выносим 2 за скобки и сокращаем:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{2i-1}{2i+1}=\frac{2(i-0.5)}{2(i+0.5)}=\frac{i-0.5}{i+0.5}<br />

Если не сокращать на 2, то получится Ваше рекуррентное соотношение.

Сокращаем первую и вторую дробь, и окончательно получаем

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{a_{i+1}}{a_i}=-x^2\cdot \frac{i}{i+1}\cdot \frac{i-0.5}{i+0.5}\ \Rightarrow \ \boxed{a_{i+1}=-a_ix^2\cdot \frac{i}{i+1}\cdot \frac{i-0.5}{i+0.5}}<br />

Теперь иное решение.

Насчёт "он перегружает систему" - не знаю. То ли Вы не всё передали, что там Ваш преподаватель сказал, либо преподаватель любитель говорить нелепыми загадками.

У меня есть предположение: дело в том, что рекуррентное соотношение для всего слагаемого в данном случае получается неоправданно сложным, особенно учитывая то, что |x| < 1. Лучше разложить слагаемое на два сомножителя и найти рекуррентное соотношение только для одного сомножителя:

Ряд:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\sum_{i=1}^{\infty }\frac{(-1)^{i+1}x^{2i}}{i(2i-1)}=\sum_{i=1}^{\infty }\!\left( (-1)^{i+1}x^{2i}\cdot \frac{1}{i(2i-1)}\right)<br />

Пусть

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a_i=(-1)^{i+1}x^{2i};\ \ \ b_i=\frac{a_i}{i(2i-1)}<br />

Для bi искать рекуррентное соотношение не будем, как и планировали, поскольку это и есть слагаемое целиком.

Чтобы не плодить лишние (i+1), будем искать рекуррентное соотношение для ai и ai-1

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\boxed{a_1=x^2};\ \ \ a_i=(-1)^{i+1}x^{2i};\ \ \ a_{i-1}=(-1)^ix^{2i-2};<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{a_i}{a_{i-1}}=\frac{(-1)^{i+1}x^{2i}}{(-1)^ix^{2i-2}}=-x^2\ \Rightarrow \ \boxed{a_i=-a_{i-1}x^2}<br />
Правим программу:
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
program req;
var
  x, a, b, sum, y, e: real;
  i, k: integer;
begin
  write('Введите аргумент: ');
  readln(x);
  write('Введите точность: ');
  readln(e);
  i := 1;
  a := x * x;
  b := a; { b = a / (1 * (2 * 1 - 1)) = a }
  sum := b;
  while abs(b) > e do
    begin
      inc(i); { то же самое, что i := i + 1; }
      a := -a * x * x;
      b := a / i / 2 / (i - 0.5); { a / (i * (2 * i - 1)) = a / i / 2 / (i - 0.5) }
      sum := sum + b
    end;
  y := 2 * x * arctan(x) - 2 * ln(sqrt(1 + x * x));
  k := 5;
  writeln('Сумма ряда = ', sum:0:k);
  writeln('Контрольная формула = ', y:0:k)
end.
Комментарии перед сдачей повыкидывайте, чтобы программа выглядела лаконично.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.12.2022, 00:13
Помогаю со студенческими работами здесь

Дана формула члена ряда с номером k, составить программу вычисления суммы всех членов ряда, не больших заданного числа
По заданной формуле ((k+1)^2+3)/k члена ряда с номером составить программу вычисления суммы...

По заданной формуле члена ряда с номером k составить программу вычисления суммы всех членов ряда, не меньших заданного ε
Помогите с кодом пожалуйста. По заданной формуле \frac{1}{(2k-1)(2k+1)} члена ряда с номером k...

По формуле (3k^3+1)/8k члена ряда с номером k составить программу вычисления суммы всех членов ряда
По формуле (3k^3+1)/8k члена ряда с номером k составить программу вычисления суммы всех членов...

Вычислить значение суммы бесконечного ряда с заданной точностью eps, вывести значение суммы и число членов ряда
x=0,70. e=0,0001. Точное значение: chx. ...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru