Курсовая с практикой на тему Численные методы интегрирования. Метод Симпсона. И показать метод с помощью программы на любом языке программирования.
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
ВВЕДЕНИЕ 3
1 ОПИСАНИЕ МЕТОДА РЕШЕНИЯ И ИСПОЛЬЗУЕМЫЙ АЛГОРИТМ 5
2 ОПИСАНИЕ МЕТОДА ТЕСТИРОВАНИЯ 11
3 РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ ПО РАБОТЕ С ПРОГРАММОЙ 16
4 БЛОК-СХЕМА АЛГОРИТМА 19
ЗАКЛЮЧЕНИЕ 20
ЛИТЕРАТУРА 21
ПРИЛОЖЕНИЯ 22
Приложение А Листинг кода 22
Введение:
Сегодня трудно представить без математики любую отрасль науки. Алгоритмы и методы, разработанные в математике, широко используются в прикладных науках. Очень часто для описания различных процессов используют математические уравнения. Но в большинстве случаев мы получаем достаточно громоздкие уравнения или системы уравнений, решение которых могут потребоваться очень много времени и усилий, а в некоторых случаях эти задачи вообще не имеют аналитических решений. Этими задачами занимается раздел математики называемый численными методами. В этой ветке математики разрабатываются алгоритмы решения сложных математических задач (типа интегрирования, дифференцирования, анализа функций и другие) методами, основанными на простых операциях. В большинстве случаев это итерационные методы нахождения определенных сумм или разностей. Такие методы хоть и имеют погрешность, но позволяют повышать точность вычислений за счет количества вычислительных итераций и очень хорошо подходят для реализации на ЭВМ.
При построении математических моделей, систем, машин, сложных механизмов необходимо учитывать различные колебания, возникающие в них. Вследствие этого необходимо решить дифференциальное уравнения. На практике лишь небольшое количество таких уравнений может быть решенной в квадратурах, еще реже получается решение в элементарных функциях, вследствие чего развитие получили приближенные численные методы дифференцирования и интегрирования функций.
Для закрепления полученных теоретических знаний, применение их при решении вопросов математического характера, а также с целью приобретения навыков по созданию программного обеспечения, выполняется курсовая работа. В работе необходимо разработать программу на языке программирования С++ в среде C++Builder, которая находила бы с помощью метода парабол (Симпсона) значение определенного интеграла для набора заданных функций.
Объектом исследования является алгоритм реализации вычисления определенного интеграла методом парабол.
Предметом исследования данной работы является особенности программной реализации алгоритма вычисления интеграла на языке С++.
Задачей курсовой работы является разработка программы, реализующей алгоритм вычисления определенного интеграла методом парабол (формула Симпсона).
Фрагмент текста работы:
1 ОПИСАНИЕ МЕТОДА РЕШЕНИЯ И ИСПОЛЬЗУЕМЫЙ АЛГОРИТМ
Численные методы вычисления определенного интеграла основаны на том, что криволинейную трапецию (геометрическое трактование интеграла) заменяют последовательность более простых фигур. В самом простом варианте – прямоугольники (к=0), последовательностью трапеций (к=1). Если повысить порядок до к=2, то вместо криволинейной трапеции ограниченной сложной функцией на каждом участке разбиения заменяем сложную функцию на часть параболы. Таким образом имеем метод парабол, который может быть реализован по формуле Симпсона.
Как уже отмечалось ранее – сложная кривая интерполируется обычной параболой, увеличивая количество промежутков можно достичь достаточно высокой точности. Но Симпсоном (Th. Simpson) был предложен немного другой подход – изначально разбиваем участок на интервалы а уже потом применяем интерполирование.
После разбиения на интервалы:
Именно этот алгоритм мы и будем применять для реализации поставленной задачи.
Далее кратко охарактеризуем процесс разработки.
Для разработки программы была выбрана среда Borland C++Builder 6. Реализация проекта в этой среде предполагает два этапа:
— проектирование формы;
— программирование – написание программного кода обработчиков и функций программы.
Для реализации интерфейса использовались стандартные компоненты:
TForm – основная заготовка для реализации формы приложения;
TButton – компонент кнопка –инициализация действия;
TEdit – поле для ввода информации, в нашем случае – параметры функции и интегрирования;
TComboBox – выпадающий список с перечнем доступных функций;
TLabel – компонент для вывода текстовых информационных надписей на форме;
TImage – компонент, на котором выводится схематическое представление алгоритма.
Проектирование интерфейса базируется на визуальном принципе конструктора с возможностью задать нужные параметры каждому из компонентов. Программа в процессе разработки представлена на рис. 2
Основным параметром, который определяется во время проектирования, есть список функций доступных пользователю. Для того что бы задать этот список используется свойство компонента TComboBox -> Items…(рис. 3)
2 ОПИСАНИЕ МЕТОДА ТЕСТИРОВАНИЯ
Тестирование программного обеспечения (software testing) это процесс анализа или эксплуатации программного обеспечения с целью выявления дефектов.
Сегодня тестирование это отдельная ветка в отрасли разработки программного обеспечения. За последние несколько десятилетий разработаны научные подходы, теоритическая база, методологии, регламентирующая документация, стандарты. То есть тестирование включает все составляющие отдельной науки прикладной направленности. Объем работы не позволяет рассматривать подробности и детали теории тестирования, тем более этой тематике посвящено множество источников в сети и книг. Опишем только те подходы, которые применялись в ходе реализации рассматриваемой программы.
Так как и разработка и тестирование проводилось непосредственно автором (что, в общем, противоречит правилам проектирования и реализации ПО), физические ограничения времени не дают возможности выполнить полный комплекс тестов.
Естественно, имея полный доступ к коду, был избран «метод белого ящика». Тестирование проводилось, используя построчную трассировку и контрольные точки остановки выполнения программы для локализации ошибок.