Создание прикладного программного обеспечения, позволяющего определять константу скорости реакции. Анализ математических моделей кинетики химических реакций. Разработка пользовательского интерфейса. Проверка работоспособности программного обеспечения.
Аннотация к работе
Языки программирования высокого уровня разработаны для быстроты и удобства использования программистом. Основная черта таких языков - это абстракция, то есть введение смысловых конструкций, которые кратко описывают такие структуры данных и операции над ними, описания которых очень длинные и сложные для понимания на машинном коде (или другом низкоуровневом языке программирования). В большинство из них встроена поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п. В последнее десятилетие активное развитие получают языки программирования с объектно-ориентированными возможностями. Объектно-ориентированный подход к проектированию сложных программных систем стал безусловным стандартом, поскольку способствует лучшей управляемости проектом на всех стадиях разработки, тестирования и внедрения.В качестве интегрированной среды разработки программного обеспечения (Integrated Development Environment, IDE) используется С Builder. C Builder объединяет Библиотеку визуальных компонентов и среда программирования (IDE), написанное на Delphi с компилятором C . Компоненты, используемые при разработке в C Builder, встроенные в среду разработки приложений и представляют из себя набор типов объектов, которые используются в качестве фундамента при строительстве приложения. VCL содержит специальный объект предоставляет интерфейс графических устройств Windows, и позволяет разработчикам рисовать, не заботясь об обычных для программирования в среде Windows деталях. C Builder содержит инструменты, которые позволяют осуществлять настоящую визуальную разработку Windows-программ методом drag-and-drop, упрощая программирование благодаря WYSIWYG редакторе интерфейса, встроенного в его среду разработки.Задачами курсового проекта являются проектирование и создание прикладного программного обеспечения, позволяющего определять порядок химической реакции, константу скорости реакции, а также проводить статистический анализ результатов. 2.Выполнить постановку задачи по исследованию кинетики химической реакции. Разработать структуру входных (экспериментальных данных по изменению концентрации компонентов во времени) и выходных данных (порядок реакции, константа скорости реакции). 5.Разработать алгоритм (блок-схему) для определения порядка химической реакции и константы скорости химической реакции.Формализованное описание задачи определения констант скоростей химической реакции, как объекта программирования, позволяет создать программный комплекс, обладающий следующими характеристиками: 1. Операционная система, ОС (англ. operating system) - базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ и утилит: Microsoft Windows. Язык программирования: С - компилируемый строго типизированный язык программирования общего назначения.Входные экспериментальные данные по изменению концентрации компонентов во времени представлены далее. Распределение концентрации СА(t) во времени t приведено в таблице 1.Алгоритм позволяет на основании исходных данных определить k - константы скорости реакции, n - порядок реакции, r - коэффициент корреляции и d - дисперсии.Программа включает пять исходных файлов программы: Project1.cpp, Unit1.h, Unit1.cpp, Unit2.h, Unit2.cpp.Полученное значение коэффициента корреляцииr = 0,873 говорит о том, что связь между экспериментальными данными и расчетами, выполненными в математической модели существенная.Тестирование разработанного в среде C Builder программного обеспечения проводилось при входных данных, которые были определены ранее. Рисунок 2 - Форма ввода исходных данных, отображения экспериментальных значений и расчетных кривых концентрацийВ ходе выполнения курсового проекта было создано прикладное программное обеспечение позволяющего определять порядок химической реакции, константу скорости реакции, а также проводить статистический анализ результатов. Был разработан алгоритм, который позволяет на основании исходных данных определить k - константы скорости реакции, n - порядок реакции, r - коэффициент корреляции и d - дисперсии. Для реализации алгоритма решения обратной задачи кинетики было разработано программное обеспечение, включающее графический пользовательский интерфейс.} void __fastcall TFORM1::UPDOWN1Click(TOBJECT *Sender, TUDBTNTYPE Button) } void __fastcall TFORM1::Button1Click(TOBJECT *Sender) if(STRINGGRID1->Cells[0][i 1].TODOUBLE() == STRINGGRID1->Cells[0][i 2].TODOUBLE()) throw "Концентрация в соседних точках должна быть различна"; if(STRINGGRID1->Cells[1][i 1].TODOUBLE() >= STRINGGRID1->Cells[1][i 2].TODOUBLE()) throw "Нарушение последовательности ввода времени"; if(STRINGGRID1->Cells[1][i 1].TODOUBLE()Cells[0][i 1].
План
ОГЛАВЛЕНИЕ
Введение
1. Аналитический обзор по выбору инструментальных средств для синтеза программного обеспечения
2. Цель и задачи курсового проекта
3. Функциональная структура программного комплекса
4. Структура данных
5. Алгоритм определения порядка химической реакции и константы скорости химической реакции
6. Описание пользовательского интерфейса
7. Проверка адекватности математической модели кинетики
8. Примеры тестирования работоспособности программного обеспечения
Заключение
Список использованной литературы
Приложение
Введение
Языки программирования высокого уровня разработаны для быстроты и удобства использования программистом. Основная черта таких языков - это абстракция, то есть введение смысловых конструкций, которые кратко описывают такие структуры данных и операции над ними, описания которых очень длинные и сложные для понимания на машинном коде (или другом низкоуровневом языке программирования). Наиболее распространенными языками программирования подобного типа являются C , Visual Basic, Java, Python, Ruby, Perl, Pascal, PHP. Языкам высокого уровня свойственно умение работать с комплексными структурами данных. В большинство из них встроена поддержка строковых типов, объектов, операций файлового ввода-вывода и т. п.
В последнее десятилетие активное развитие получают языки программирования с объектно-ориентированными возможностями. Объектно-ориентированный подход к проектированию сложных программных систем стал безусловным стандартом, поскольку способствует лучшей управляемости проектом на всех стадиях разработки, тестирования и внедрения.
Объектно-ориентированное программирование (ООП) - парадигма программирования, в которой основными концепциями являются понятия объектов и классов. ООП в настоящее время является абсолютным лидером в области прикладного программирования.
Одним из наиболее распространенных объектно-ориентированных языков высокого уровня является С , созданный Бьерном Страуструпом в начале 1980-х годов. Язык С полностью унаследовал и расширил возможности языка Си, который используется в задачах системного программирования. К достоинствам языка С можно отнести кроссплатформенность; возможность работы на низком уровне с памятью, адресами, портами; возможность создания обобщенных алгоритмов для разных типов данных, их специализация, и вычисления на этапе компиляции, используя шаблоны.
Тема курсового проекта «Программный комплекс для определения константы скорости химической реакции».
Многое удается узнать о химических реакциях, изучая скорость их протекания и факторы, от которых она зависит. Этим занимается раздел химии, называемый химической кинетикой.
Одной из задач, стоящих перед химической кинетикой, является определение состава реакционной смеси (т.е. концентраций всех реагентов) в любой момент времени, для чего необходимо знать зависимость скорости реакции от концентраций. В общем случае, чем больше концентрации реагирующих веществ, тем больше скорость химической реакции.
Вывод
В ходе выполнения курсового проекта было создано прикладное программное обеспечение позволяющего определять порядок химической реакции, константу скорости реакции, а также проводить статистический анализ результатов.
Был разработан алгоритм, который позволяет на основании исходных данных определить k - константы скорости реакции, n - порядок реакции, r - коэффициент корреляции и d - дисперсии. Исходными данными являются: изменение концентрации исходного компонента СА(t) во времени, начальные концентрации компонентов СВССИ CD, количество экспериментальных точек N.
Для реализации алгоритма решения обратной задачи кинетики было разработано программное обеспечение, включающее графический пользовательский интерфейс. В качестве интегрированной среды разработки программного обеспечения (Integrated Development Environment, IDE) используется С Builder.
Программа состоит из двух форм, позволяющих вводить начальные данные и отображать результаты расчета. Программа включает пять исходных файлов программы: Project1.cpp, Unit1.h, Unit1.cpp, Unit2.h, Unit2.cpp.
Было проведено тестирование работоспособности программного продукта и проведена оценка адекватности математической модели по полученным значениям дисперсии и корреляции. Было определено что математическая модель может быть использована для определения константы скорости химической реакции.
Список литературы
1. Архангельский, А. Я. Программирование в C Builder 6 и 2006: разработка программ для Windows: методические и справочные материалы по C Builder. - Москва: БИНОМ, 2007. - 1181 с.
2.Страуструп, Бьерн. Язык программирования C / Бьерн Страуструп; Пер. с англ. С. Анисимова, М. Кононова; Под ред. Ф. Андреева, А. Ушакова. - Спец. изд. - М.: Бином; СПБ.: Нев. диалект, 2001. - 1098 с.
3.Эккель, Брюс. Философия C : Практ. программирование / БРЮСЭККЕЛЬ, Чак Эллисон; [Пер. с англ. Е. Матвеев]. - М.: Питер, 2004. - 608 с.
4.Липпман, Стенли Б. Язык программирования С : вводный курс /Стенли Б. Липпман, Жози Лажойе, Барбара Му; 4-е изд. - М.: Вильямс, 2007. - 889 с.
5. Астахова, И. Ф. Язык C / И. Ф. Астахова, С. В. Власов, В. В. Фертиков, А. В. Ларин. - Минск: Новое знание, 2003. - 200 с.
6. Иванова, Г. С. Основы программирования / Г. С. Иванова. - Изд. 4-е, стер. - М.: Изд-во МГТУ, 2007. - 415 с.
7. Иванова, Г. С. Объектно-ориентированное программирование / Г. С. Иванова, Т. Н. Ничушкина, Е. К. Пугачев; под ред. Г. С. Ивановой. -Изд. 3-е, стер. - М.: Изд-во МГТУ, 2007. - 366 с.
8. Чистякова, Т. Б. Программирование на языках высокого уровня. Базовый курс: учебное пособие для студентов заочной формы обучения/ Т. Б. Чистякова, Р. В. Антипин, И. В. Новожилова. - СПБ.: СПБГТИ (ТУ), 2008. - 227 с.
9. Чистякова, Т. Б. Синтез и анализ математических моделей кинетики-химических реакций: учебное пособие / Т. Б. Чистякова, Л. В. Гольцева, А. М. Островская, Ю. В. Островский. - СПБ.: СПБГТИ (ТУ), 2002. - 70 с.
10. Гартман, Т. Н. Основы компьютерного моделирования химико-технологических процессов: учебное пособие / Т. Н. Гартман, Д. В. Клушин. - Москва: Академкнига, 2008. - 415 с.