Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Pascal Вывести заданный массив на экран Составить программу которая создаёт и выводит на экран массив такого вида: 0000000 1000001 1100011 1110111 1100011 1000001 0000000 https://www.cyberforum.ru/ pascal/ thread1858400.html Pascal Найти в классе самого высокого и самого легкого учеников
составить программу которая определяет в классе самого высокого и самого легкого учеников и выводит на экран их фамилии вес и рост
Pascal Найти ошибку в программе вычисления суммы ряда Я написала программу, но не получается. в чем моя ошибка?uses crt; var t,s:real; f:integer; x,k,i:integer; begin write('x='); readln(x); S:=x; t:=1; for k:=2 to 6 do begin if odd(k) then t:=1 else t:=-1; for i:=1 to 2*k-1 do begin https://www.cyberforum.ru/ pascal/ thread1858332.html Pascal Полное/частичное решение. Поиск последовательности в данной Есть максимальное значение F, а минимальное 0. Каждый день может произойти событие, если оно происходит X дней подряд, то к текущему значению добавляется 1, для 2*Х соответственно 2. Если оно не происходит У дней подряд, то отнимается 1. Требуется написать программу, которая подсчитывает значение после М дней. Формат входных: в первой строке К(начальное значение), во второй строке F(макс... https://www.cyberforum.ru/ pascal/ thread1858302.html
Упорядочить по возрастанию минимальные элементы каждого из векторов Pascal
Использование функций в паскале. Заданы три вектора X=(X1,X2,…,Xn), Y=(Y1,Y2,…,Yn), Z=(Z1,Z2,…,Zn). Упорядочить по возрастанию минимальные элементы каждого из этих векторов. Длины векторов n ≤ 7;m ≤ 9;l ≤ 5. Помогите!
Pascal В матрицы добавить по строке с элементами, равными количеству отрицательных элементов в столбцах Использование процедур в паскале. В каждую из двух матриц добавить по строке, в которой элементы равны количеству отрицательных элементов в соответствующих столбцах. Первая матрица A (N ≤ 10;M ≤ 5), вторая матрица B (K ≤ 7;L ≤ 6). Помогите написать прогу https://www.cyberforum.ru/ pascal/ thread1858012.html
Pascal Сглаживание https://www.cyberforum.ru/ pascal/ thread1857987.html
Помогите решить ,вот код на с# надо тоже самое в паскале сделать public static void Main(string args) { int a = { 7, -6, 2, -5, -2, 6, 6, 3, -7, -2 }; for (int i = 0; i < a.Length; i++) { if (a < 0) { int ii=i; while (ii<a.Length)
Сортировка массива в порядке возрастания модулей элементов Pascal
Дан массив целых чисел. Выведите все элементы массива в порядке возрастания модулей элементов. Даётся сначала число N - кол-во элементов в массиве. N <= 100. Далее через пробел записаны N чисел - элементы массива. Все числа по модулю не превосходят 10000. В случае равенства модулей сначала выводится отрицательные числа, затем положительные. Примеры: Входной файл 3 ...
Pascal Найти все числа, которые отличаются от заданного на две цифры Всем доброго утра! Помогите пожалуйста решить задачу. Задаем определенное число - например 3446234, нужно найти все числа , которые отличаются от данного на две цифры! Заранее огромное спасибо! https://www.cyberforum.ru/ pascal/ thread1857804.html Pascal Найти произведение всех положительных элементов массива Найти произведение всех положительных элементов массива B размерностью 3х3. Добавлено через 53 минуты если кому понадобится n=3; var ar:array of integer; i,j:integer; res:real; begin https://www.cyberforum.ru/ pascal/ thread1857802.html
Найти количество отрицательных элементов главной диагонали массива Pascal
Найти количество отрицательных элементов главной диагонали массива размерностью 4х4.
Pascal Вычислить корень линейного уравнения https://www.cyberforum.ru/ pascal/ thread1857799.html
вычислить корень линейного уравнения y=ax+b
Модератор
9731 / 5069 / 3284
Регистрация: 17.08.2012
Сообщений: 15,608
25.11.2016, 23:03 0

Прогамма вычисления суммы ряда, в чем может быть ошибка? - Pascal - Ответ 9816007

25.11.2016, 23:03. Показов 501. Ответов 1
Метки (Все метки)

Ответ

BARS08, Ваша программа состоит в основном из ошибок.
  • X имеет право быть отрицательным (просто табу недостаточно), тогда ln(x) вызовет ошибку, мало того, если x будет находиться вне радиуса сходимости ряда, будет переполнение, короче, проверка при вводе обязательна.
  • Какие мысли привели Вас к тому, что i надо вводить?
  • С точностью нужно сравнивать не s, а модуль очередного члена ряда
  • Непосредственное возведение в степень, перемножение целых чисел, или, например, непосредственное вычисление факториала может легко вызвать переполнение, лучше использовать рекуррентное соотношение для членов ряда

Найдём рекуррентное соотношение для членов ряда.

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

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a_1=\frac{x^3}{3};\ \ \ a_n=\frac{(-1)^{n+1}x^{2n+1}}{4n^2-1}=k\cdot a_{n-1};<br />

Опираясь на то, что 4n2-1=(2n-1)(2n+1), запишем:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
k=\frac{a_n}{a_{n-1}}=\frac{(-1)^{n+1}x^{2n+1}(2n-3)(2n-1)}{(-1)^nx^{2n-1}(2n-1)(2n+1)}=\frac{-x^2(2n-3)}{2n+1}=\frac{-x^2(n-1.5)}{n+0.5}<br />

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
a_n=k\cdot a_{n-1}=\left. \frac{-x^2(n-1.5)a_{n-1}}{n+0.5}=\right|_{x:=x^2}=\frac{-x(n-1.5)a_{n-1}}{n+0.5}<br />

Найдём интервал сходимости ряда.

Если отбросить x2, можно заметить, что k - это ни что иное, как обратное отношение числовых коэффициентов ряда, подходящее для нахождения радиуса сходимости ряда. Тогда радиус сходимости будет

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\lim_{n \rightarrow \infty}\frac{n+0.5}{n-1.5}=\lim_{n \rightarrow \infty}\frac{1+0.5/n}{1-1.5/n}=1<br />

Ряд сходится абсолютно в интервале (-1; 1).

Проверим сходимость ряда на границах этого интервала.

Пусть x = 1, тогда получаем ряд

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

Знакочередующийся ряд, исследуем его по признакам Лейбница.

- Первый признак Лейбница выполняется: модуль каждого последующего члена ряда меньше модуля предыдущего члена ряда.
- Второй признак Лейбница выполняется, предел члена ряда стремится к 0

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\lim_{n \rightarrow \infty}\frac{(-1)^{n+1}}{4n^2-1}=0<br />

Ряд сходится, значит, x=1 - точка сходимости.

Теперь пусть x=-1, получаем ряд

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\sum \frac{(-1)^{n+1}(-1)^{2n+1}}{4n^{2}-1} = \sum \frac{(-1)^{3n+2}}{4n^2-1}<br />

Знакочередующийся ряд, аналогично предыдущему ряду - сходится.

Таким образом, интервал сходимости ряда [-1; 1].

Всё, что необходимо, найдено, пишем программу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const eps = 1e-5;
var a, s, x: double;
    n: integer;
begin
  repeat
    write('|x| <= 1;   x = ');
    readln(x)
  until abs(x) <= 1;
  a := x * x * x / 3;
  x := x * x;
  s := a;
  n := 1;
  while abs(a) >= eps do
    begin
      inc(n);
      a := -x * a / (n + 0.5) * (n - 1.5);
      s := s + a
    end;
  writeln('S = ', s:0:8);
  readln
end.
Добавлено через 11 минут
Да, и ответ получается 0.00884425... В принципе, в 10-5 входит... Думаю, Ваш результат является менее точным, поскольку, скорее всего, был найден непосредственным вычислением всяких там степеней, отчего при многократных перемножениях и сложениях накапливаются ошибки.

Вообще говоря, при x=0.3 сумма этого ряда с точностью до ε=10-22 будет S=0.0088439529904375641669... Получается, моя программа точнее считает, чем то, чем был подсчитан данный Вам "образцовый" ответ.

Вернуться к обсуждению:
Прогамма вычисления суммы ряда, в чем может быть ошибка? Pascal
2
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.11.2016, 23:03
Готовые ответы и решения:

При выполнении вычисления появляется ошибка. В чем может быть проблема
Здравствуйте, при выполнении данного вычисления: d=0.0025; I=35; tv=30; r=1.2*10^-6;...

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

В чем может быть ошибка
Цель работы состоит в том чтобы создать электронный альбом. Не удается исправить ошибку, проблема в...

В чём может быть ошибка
Здравствуйте, помогите пожалуйста решить проблемму: Сайт нормально работал в течении года, в том...

1
25.11.2016, 23:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.11.2016, 23:03
Помогаю со студенческими работами здесь

В чём может быть ошибка?
Не пойму в чём ошибка в программе: #include &lt;iostream&gt; using namespace std; ...

В чём может быть ошибка?
Пишет, что нету точки с запятой. Где??? #include &lt;iostream&gt; #include &lt;string&gt; using...

В чём может быть ошибка?
Прога не открывает файл Дан файл f, содержащий сведения о веществах, указывается название...

В чем может быть ошибка?
function megaDate($timestamp) { global $tpl, $server_time; $diff = time() - $timestamp; ...

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