Перед выполнением данной работы необходимо изучить содержимое пункта “ Нахождение суммы ряда ”
Нахождение суммы ряда Для заданных значений и вычислить сумму ряда , где . с точностью . Суммирование ряда завершить, если модуль очередного члена ряда не превосходит . Предусмотреть ограничение количества слагаемых ряда – если их количество превосходит максимально допустимое, выдать сообщение 'Требуемая точность вычислений не достигнута'. Форма будет иметь следующий вид (рис. 14):
Рис.14 При анализе данной задачи необходимо отметить, что каждый новый член ряда должен быть получен, опираясь на предыдущий или его часть. Рассмотрим соотношение элементов . В рассматриваемой задаче для , соответственно . Отсюда . Далее важно определиться с начальным значением (в нашем случае ) и проследить, чтобы порядок накопления суммы и значения счетчика ряда менялись в нужной последовательности. Чтобы осознать значимость следования операторов, попробуйте поменять в теле цикла местоположение оператора i:= i+1 - “поднимите” его в начало тела цикла, сразу после слова begin. Выполнив фрагмент программы пошагово, вы убедитесь, что общий член ряда будет видоизменен – уже при вы получите вместо необходимого .
Фрагмент кода: {***********************************************************} procedureTfrm_Z3.btnOKClick(Sender: TObject); var sum, x, eps, a, mnog : extended; i, m_dop: Word; begin // Присвоение значенийx, eps, m_dop i:= 0; {количество членов ряда} a:= x; { a - первый член ряда } Sum:= a; { Sum - первая частичная сумма ряда } while (abs(a) > eps) and (i<=m_dop) do begin mnog:= -x*x/(2*i+2)/(2*i+3); a:= a*mnog; Sum:= Sum+a; i:= i+1; end;
// вывод результатов в поле mem_Result в зависимости от накопленного переменной i значения m_dop {***********************************************************}
Но для случая рядов, в которых в общем виде члена ряда нет рекуррентных выражений (например, факториала или возведения в степень), использование соотношения должно быть иным. Рассмотрим в качестве примера ряд В нем . Т.о., если , то при . Но при вычислении следующего ( ) члена ряда происходит умножение и деление на одно и то же число, в данном случае 3. Поэтому целесообразно включить в рекуррентно накапливаемое очередное значение члена ряда лишь числитель. Соответствующий фрагмент кода может выглядеть так: … mnog:= -x*x; while (abs(a) >eps) and (i<=m_dop) do begin a:= a*mnog; Sum:= Sum+a/(2*i+1); i:= i+1; end;
Лабораторная работа №3 Перед выполнением данной работы необходимо изучить содержимое пункта “ Нахождение суммы ряда ”. Задание. Для заданных значений и вычислить сумму ряда с точностью . Суммирование ряда завершить, если модуль очередного члена ряда не превосходит . Предусмотреть · ввод значений только из указанного диапазона; · ограничение количества слагаемых ряда; · в случае, когда требуемая точность не достигнута, вывести соответствующее сообщение. Значение параметра , входящего в некоторые варианты, предоставить для ввода пользователю. Выдать пользователю значение накопленной суммы ряда, значение функции и количество просуммированных членов ряда. При разработке дизайна формы ориентироваться на рассмотренный в примере образец. 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. , .
Популярное: Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (465)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |