Интегрирование методом Симпсона
Разработка программного приложения для вычисления интегралов с помощью метода Симпсона. Составление функциональной и структурной схемы программного продукта, математической модели и тестовых примеров. Изучение предметной области, выбора среды реализации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 08.06.2011 |
Размер файла | 359,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
СОДЕРЖАНИЕ
- ВВЕДЕНИЕ
- 1. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
- 1.1 ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
- 1.2 БЛОК-СХЕМА
- 1.3 СТРУКТУРНАЯ СХЕМА ПРОГРАММНОГО ПРОДУКТА
- 1.4 ФУНКЦИОНАЛЬНАЯ СХЕМА ПРОГРАММНОГО ПРОДУКТА
- 2. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРОДУКТА
- 2.1 ВЫБОР СРЕДЫ РЕАЛИЗАЦИИ
- 2.2 ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
- 2.3 ФОРМА ВВОДА-ВЫВОДА
- ЗАКЛЮЧЕНИЕ
- БИБЛИОГРАФИЧЕСКИЙ СПИСОК
- ПРИЛОЖЕНИЕ
ВВЕДЕНИЕ
В современных условиях умение создавать качественные программные продукты играет для специалистов в данной области все более значимую роль на рынке труда и, безусловно, повышает интерес работодателей к ним. Это приводит к появлению новых и к повышению ранее предъявленных требований к специалистам занимающимся автоматизацией рабочих мест. Программные продукты, разрабатываемые программистами, больше не просто инструмент, обеспечивающий просто какой либо автоматизированный расчет, это, прежде всего обеспечение автоматизированного выполнения всех элементов информационного процесса протекающего на любом предприятии как малого, среднего так и крупного бизнеса. Качественно спроектированный и реализованный программный продукт позволяет ускорить процесс документооборота, избавляет от ошибок связанных с человеческим фактором (неверный ввод данных, вычислительные операции проведенные в ручную, документы реализованные не по типовому образцу и т.д.). Соответственно предприятия, использующее преимущества программных средств имеют конкурентное преимущество на рынке услуг, а специалисты, автоматизирующие рабочие места имеют конкурентное преимущество на рынке труда.
Целью данной работы - разработка программного приложения, которое позволяет вычислять интегралы, предложенные в задании с помощью метода Симпсона.
Для достижения поставленной цели необходимо решить следующие задачи:
- провести исследование предметной области;
- обосновать выбор среды реализации;
- составить математическую модель;
- составить функциональную и структурные схемы программного продукта;
- разработать тестовые примеры;
- провести тестирование программного продукта;
- разработать руководство пользователя;
Объектом настоящего исследования является численное интегрирование, предметом - интегрирование методом Симпсона.
Теоретической основой работы являются труды профессионалов разработки в среде программирования Delphi, а также книга Турчак Л.И. «Основы численных методов», как основа для исследования предметной области.
Работа имеет практическую значимость, т.к. позволяет вычислять заданные интегралы и достаточно легко модифицируется для вычисления интегралов любой сложности.
Результаты проекта могут представлять интерес для студентов и преподавателей различных специальностей, имеющих дело с численным интегрированием, а конкретно - методом Симпсона, при подготовке и проведении практических занятий.
1. ПРОЕКТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
1.1 ИССЛЕДОВАНИЕ ПРЕДМЕТНОЙ ОБЛАСТИ
Реализуемый в приложении метод относится к численному интегрированию. Численные методы вычисления интегралов применяют в тех случаях, когда интеграл не удается вычислить в аналитическом виде или этот вид достаточно сложен. Численное интегрирование применяют и тогда, когда подынтегральная функция задана в виде таблицы. Методы численного интегрирования основаны на аппроксимации определенного интеграла суммой составных площадей [5]. В общем виде задача состоит в нахождении величины:
Методы численного интегрирования подразделяются в соответствии с тем, равномерно ли распределены взятые значения по оси абцисс.
Заменяя подинтегральную функцию суммой составных площадей, получаем:
R - погрешность данной формулы. При приближенном вычислении интеграла мы отбрасываем R и поэтому совершаем погрешность усечения. При расчете к этой погрешности добавляется погрешность округления. В данной работе рассматривается один из наиболее простых, но эффективных методов численного интегрирования для равноотстоящих точек - метод Симпсона.
Этот метод использует кривую второго порядка (параболу) в качестве аппроксимирующей на малом отрезке интегрирования.
Размещено на http://www.allbest.ru
Рисунок 1.1.1 - Графическая иллюстрация численного интегрирования.
Разобьем отрезок интегрирования [p1,p2] на четное число элементарных отрезков с шагом h. На каждой паре отрезков [х1,х3], [х3,х5],…, [хn-1,хn+1] подынтегральную функцию заменим интерполяционным полиномом второй степени (параболой):
В качестве интерполяционного полинома можно использовать интерполяционный полином Лагранжа второй степени:
Т.к. значение элементарного отрезка разбиения равна h, то
Таким образом получим формулу Симпсона для элементарного отрезка
Для n элементарных отрезков:
1.2 БЛОК-СХЕМА
Рисунок 1.2.1 - Алгоритм реализации метода
1.3 СТРУКТУРНАЯ СХЕМА ПРОГРАММНОГО ПРОДУКТА
Создаваемое в среде Delphi приложение состоит из нескольких элементов, объединенных в проект. В состав проекта входят следующие элементы (в скобках указаны расширения имен файлов):
- П код проекта (DPR);
- описания форм (DFM);
- модули форм (PAS);
- модули (PAS);
- параметры проекта (DOF);
- описание ресурсов (RES).
Для каждой формы в составе проекта автоматически создаются файл описания (DFM)и файл модуля (PAS).
Файл описания формы является ресурсом Delphi и содержит характеристики формы и ее компонентов. Разработчик обычно управляет этим файлом через окно Конструктора формы и Инспектор объектов. При конструировании формы в файл описания автоматически вносятся соответствующие изменения. При необходимости можно отобразить этот файл на экране в текстовом виде, что выполняется командой View as Text (Просмотреть как текст) контекстного меню формы. При этом форма пропадает с экрана, а содержимое файла ее описания открывается в окне Редактора кода и доступно для просмотра и редактирования [6].
При первом сохранении проекта автоматически создается файл ресурсов (RES)с именем, совпадающим с именем файла проекта. Файл ресурсов может содержать следующие ресурсы:
- пиктограммы;
- растровые изображения;
- курсоры.
Перечисленные компоненты являются ресурсами Windows. Первоначально файл ресурса содержит пиктограмму проекта, которой по умолчанию является изображение факела.
Структурная схема программного продукта:
Размещено на http://www.allbest.ru
Рисунок 1.3.1 - Структурная схема
1.4 ФУНКЦИОНАЛЬНАЯ СХЕМА ПРОГРАММНОГО ПРОДУКТА
Функциональность приложения определяется процедурами, которые выполняются при возникновении определенных событий, например, происходящих при действиях пользователя с управляющими элементами формы.
Таким образом, в процессе создания приложения на форму помещаются компоненты и для них устанавливаются необходимые свойства и создаются обработчики событий.
Интерфейс приложения составляют компоненты, которые разработчик выбирает из Палитры компонентов и размещает на форме, сами компоненты являются своего рода строительными блоками. При конструировании интерфейса приложения действует принцип WYSIWYG (What You See Is What You Get, что видите, то и получите), и разработчик при создании приложения видит форму почти такой же, как и при его выполнении [3].
Компоненты являются структурными единицами и делятся на визуальные (видимые) и не визуальные (системные). Понятие видимый и невидимый относятся только к этапу выполнения, на этапе проектирования видны все компоненты приложения.
К визуальным компонентам относятся, например, кнопки, списки или переключатели, а также форма. Так как визуальные компоненты используются пользователем для управления приложением, то эти компоненты также называют управляющими компонентами или элементами управления. Именно визуальные компоненты образуют интерфейс приложения.
Реакция на приведенные действия присуща каждой форме и не зависит от назначения приложения и его особенностей. На форме, как правило, размещены компоненты, образующие интерфейс приложения, и разработчик должен для этих компонентов определить нужную реакцию на те или иные действия пользователя, например, на нажатие кнопки или включение переключателя. Эта реакция и определяет функциональность приложения.
Функциональная схема данного программного продукта выглядит следующим образом:
2. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ПРОДУКТА
2.1 ВЫБОР СРЕДЫ РЕАЛИЗАЦИИ
В настоящее время среди широкого круга пользователей популярна система объектно-ориентированного программирования Delphi, основу которой составляет язык Object Pascal. Delphi позволяет быстро создавать приложения различной степени сложности на основе применения технологии визуального программирования.
Система программирования Delphi явилась подлинной революцией, полностью изменившей взгляд на программирование и, в частности, на программирование для Windows. За прошедшие годы ряды программистов пополнились армией людей, способных быстро, подчас виртуозно, создать масштабное приложение, не имея особого понятия ни об архитектуре Windows, ни об основополагающих принципах работы приложения и его взаимодействия с операционной системой [1,С.].
Delphi не уступает по своим возможностям C++. Скорость работы созданных на Delphi программ не меньше, чем у программ, разработанных на языке C++. Разница будет заметна лишь при большом объеме математических вычислений, что объясняется отличной способностью оптимизации программ компилятора C++. Однако лучшая оптимизация программ занимает и больше времени, а это замедляет процесс разработки программ. Здесь, несомненно, преимущество компилятора Delphi, который позволяет почти мгновенно внести изменения и проверить результат. Времени на это затрачивается очень мало [2].
Delphi также прост в изучении, как и Visual Basic, но при этом средства языка программирования Delphi позволяют использовать все современные
возможности объектно-ориентированного программирования. На Delphi можно написать Visual Basic, но обратное сделать, никогда не удастся.
Delphi прост и логичен. Основные конструкции языка четко выделяются в программе, что способствует хорошему восприятию написанного кода, в отличие от языка Visual Basic, где код почти невозможно понять, если его количество превышает пару страниц. Графический интерфейс Delphi отлично продуман, среда разработки предоставляет доступ только к тем участкам кода, с которыми необходимо работать, скрывая основную часть программы, которая создается автоматически самой средой разработки.
Надо отметить, что из всех языков программирования только Delphi не устаревает и завоевывает все больше и больше сторонников. Его широко используют в коммерческих разработках, благодаря большому набору полностью готовых для работы специальных компонентов. Нельзя сказать, что другие языки исчезают. Еще долго будут существовать и C++, и Cobol, и Fortan, но все же намечается тенденция отказа от малопродуктивных и сложных языков программирования в пользу современных, многофункциональных и удобных сред программирования, таких как Delphi, C#, Java.
У системы программирования Delphi есть недостаток, проявляющийся в большом объеме создаваемых приложений по сравнению приложениями, созданными в других средах программирования. Действительно, минимальное приложение, созданное в различных версиях Delphi, может достигать от 170 до 290 Кбайт. Это очень большая цифра для операционной среды Windows, в компиляторах C++ она составляет порядка 40 Кбайт. Конечно, это не катастрофическая проблема, когда емкости накопителей измеряются гигабайтами, и средний пользователь, как правило, не обращает внимания на размер файла. Неудобства возникают, например, при распространении приложений по сети. Большой размер откомпилированных приложений является платой за невероятное удобство проектирования, предоставляемое Delphi. Архитектура среды программирования, RTTI, компонентный подход - все это превращает Delphi в поразительно мощный инструмент. С помощью Delphi легко написать приложения, в которых, например, динамически создаются интерфейсные элементы любого типа (класса). Однако приложения среднего уровня не используют и не нуждаются в этих мощных возможностях. И пользователи, и разработчики в таких средствах, как правило, не испытывают необходимости.
Однако откомпилированный модуль содержит в себе весь тот код, благодаря которому в Delphi так легко производить манипуляции со свойствами и методами объектов. К примеру, если просмотреть содержимое откомпилированного модуля, то мы встретим в нем фразы, имеющие к собственно операционной системе косвенное отношение, например, "OnKeyDcDwn" или другие термины Delphi [4].
Дело здесь не в несовершенстве компилятора, компилятор Delphi оптимизирует код превосходно, дело в самой идеологии Delphi.
Создание прикладных программ, или приложений, Delphi выполняется в интегрированной среде разработки IDE (Integrated Development Environment). IDE служит для организации взаимодействия с программистом и включает в себя ряд окон, содержащих различные управляющие элементы. С помощью средств интегрированной среды разработчик может удобно проектировать интерфейсную часть приложения, а также писать программный код и связывать его с управляющими элементами. При этом вся работа по созданию приложения, включая отладку, происходит в интегрированной среде разработки.
Для разработки программного продукта, представленного в курсовой работе, выбрана среда визуального программирования Delphi 7.
2.2 ТЕСТИРОВАНИЕ ПРОГРАММНОГО ПРОДУКТА
В программе предусмотрена проверка на правильность ввода исходных данных:
Нижняя, верхняя граница интегрирования - допустимы только арабские цифры; точность - допустимы арабские цифры и запятая.
Введем исходные данные, представленные на рисунке:
Рисунок 2.2.1 - Отображение исходных данных.
интеграл программный математический
Результат работы программы:
Рисунок 2.2.2 - Отображение результата работы программы на введенные данные.
Для проверки правильности расчетов по методу Симпсона найдем аналитически значение второго интеграла :
при p1=1,p2=5, значение второго интеграла равно 4.
Введем исходные данные, получим результат, представленный на рисунке:
Рисунок 2.2.3 - Отображение вывода результатов.
Более подробно о том, какие функции выполняет программный продукт, и как с ним взаимодействует с пользователем описывается в руководстве пользователя.
2.3 ФОРМА ВВОДА-ВЫВОДА
Delphi относится к системам визуального программирования, которые называются также системами RAD (Rapid Application Development, быстрая разработка приложений). Разработка приложения в Delphi включает два взаимосвязанных этапа:
* создание интерфейса приложения;
* определение функциональности приложения.
Интерфейс приложения определяет способ взаимодействия пользователя и приложения, то есть внешний вид формы (форм) при выполнении приложения, и то, каким образом пользователь управляет приложением. Интерфейс создается путем размещения в форме компонентов, которые называются интерфейсными или управляющими компонентами (элементами).
Создание интерфейса приложения выполняется с помощью Конструктора формы.
Рисунок 2.3.1 - Форма пользователя.
ЗАКЛЮЧЕНИЕ
В рамках подготовки настоящей работы были рассмотрены следующие вопросы: проведено исследование предметной области, обоснован выбор среды реализации, составлена математическая модель, составлены функциональные и структурные схемы программного продукта, разработаны тестовые примеры, проведено тестирование программного продукта, разработано руководство пользователя.
В качестве предметной области выбрано выполнение численного интегрирования. Рассмотрен общий подход, и в частности метод, соотвествующий заданию.
Анализ основных вопросов проекта дает возможность предположить, что наиболее оптимальным конструктивным решением будет использование в качестве среды реализации Delphi.
В работе составлена математическая модель требуемого метода и алгоритм ее программной реализации.
Составлены функциональные и структурные схемы.
Разработаны тестовые примеры, для тестирования одного из интегралов было найдено аналитическое решение, ввиду простоты подинтегральной функции и произведено сравнение со значением полученным численно. Получено совпадение с заданной точностью.
Разработано подробное руководство пользователя с использование экранных копий элементов интерфейса.
Представленное в проекте приложение позволяет вычислять указанные в задании интегралы, ввод/вывод осуществляется с использованием элементов интерфейса диалогового окна приложения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Бобровский С.И. Delphi 7- СПб.: Питер, 2008. - 736с.
2. Гофман В.Э., Хомоненко А.Д. Delphi. Быстрый старт.-- СПб.: БХВ-Петербург, 2003.-- 288 с.: ил.
3. Дарахвелидае П.Г., Марков Е.П. Программирование в Delphi 7.-- СПб.: БХВ-Петербург, 2003.--784с.: ил.
4. Кучеренко В. Тонкости программирования на Delphi - М.: Познавательная книга плюс, 2000-192с.
5. Турчак Л.И. Основы численных методов. - М.: Наука. 1987. -320 с.
6. Флеиов М.Е. Программирование в Delphi глазами хакера.-- СПб.: БХВ-Петербург,2003.-368с.
7. Форсайт Дж., Малькольн М.. Маулер К. Машинные методы математических вычислений. - М.: Мир. 1980. - 280с.
ПРИЛОЖЕНИЕ
РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
Программный продукт позволяет вычислить три заранее известных интеграла, представленных на экране программы:
Рисунок А.1 - Фрагмент пользовательской формы.
Программа позволяет вычислять каждый интеграл в отдельности. Для вычисления необходимо нажать соответствующую кнопку.
Для вычисления необходимо нижнюю, верхнюю границы интегрирования и точность вычислений. Исходные данные вводятся в соответствующие поля:
Рисунок А.2 - Фрагмент пользовательской формы.
Границы интегрирования- целые числа, точность - вещественное число. Выход из программы осуществляется выбором пункта меню Файл/Выход.
Размещено на Allbest.ru
Подобные документы
Численные методы. Создание программного продукта, использование которого позволит одновременно исследовать два метода вычисления определенных интегралов: метод трапеций и метод Симпсона. Рассмотрен ход вычисления интеграла в виде кода программы.
курсовая работа [834,6 K], добавлен 14.04.2019Формула Симпсона как интеграл от интерполяционного многочлена второй степени, рассмотрение сфер использования. Знакомство с основными особенностями и этапами написания программы для численного интегрирования с помощью формулы Симпсона, анализ примеров.
практическая работа [153,8 K], добавлен 16.03.2015Создание приложения, демонстрирующего решение нелинейного уравнения методом хорд, вычисление интеграла методом Симпсона. Характеристика системы программирования. Разработка мощных систем для работы с локальными и удаленными базами данных с помощью Delphi.
дипломная работа [846,0 K], добавлен 22.09.2012Методы вычисления определенных интегралов: метод трапеций и метод Симпсона (парабол). Примеры применения, блок-схемы методов трапеций и Симпсона. Разработка программы в объектно-ориентированной среде программирования Lazarus, конструирование интерфейса.
реферат [2,1 M], добавлен 18.04.2011Вычисление определенных интегралов методом Симпсона. Функциональная схема программного комплекса. Реализация функции разбора произвольно заданных математических функций. Методика сохранения графика в графический файл. Интерфейс программного комплекса.
курсовая работа [1,7 M], добавлен 15.06.2009Методы и алгоритмы вычисления определенных интегралов: метод трапеций и метод Симпсона (метод парабол). Оформление функции вычисления заданного определённого интеграла на Visual Basic 6.0. Программный код функции. Создание приложения для вычисления.
курсовая работа [483,6 K], добавлен 25.06.2014Анализ предметной области разрабатываемого программного продукта. Разработка интерфейса пользователя и структурной схемы игровой программы "Крестики-нолики". Отладка и тестирование. Проведение исследования компонентов программной среды Borland Delphi 6.0.
курсовая работа [660,4 K], добавлен 08.03.2015Создание программного модуля для вычисления интеграла по формулам трапеции и Симпсона, определяя шаг интегрирования по оценке остаточного члена. Для разработки используется табличный процессор Excel и язык программирования Visual Basic for Application.
курсовая работа [159,7 K], добавлен 30.08.2010Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.
курсовая работа [926,7 K], добавлен 20.05.2015Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.
курсовая работа [593,6 K], добавлен 09.07.2012