вариант 2
Заказать уникальную курсовую работу- 17 17 страниц
- 5 + 5 источников
- Добавлена 28.05.2011
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
Алгоритм определения константы скорости реакции
Интерфейс программы
Исходный код программы
Тестирование программы
Заключение
Список литературы
..)
{
// Вывод сообщения об ошибке
Application->MessageBox("НЕ известная ошибка", "Ошибка__________",
MB_ICONERROR | MB_OK);
}
}
void __fastcall TForm1::BitBtn2Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
Unit2.h
#ifndef Unit2H
#define Unit2H
//---------------------------------------------------------------------------
#include
#include
#include
#include
#include
#include
//---------------------------------------------------------------------------
class TForm2 : public TForm
{
__published: // IDE-managed Components
TPanel *Panel1;
TGroupBox *GroupBox2;
TLabel *Label3;
TLabel *Label4;
TEdit *Edit2;
TEdit *Edit3;
TLabel *Label1;
TEdit *Edit1;
TLabel *Label2;
TEdit *Edit4;
TBitBtn *BitBtn1;
void __fastcall FormShow(TObject *Sender);
void __fastcall BitBtn1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm2(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm2 *Form2;
//---------------------------------------------------------------------------
#endif
Unit2.cpp
#include
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm2 *Form2;
//---------------------------------------------------------------------------
__fastcall TForm2::TForm2(TComponent* Owner)
: TForm(Owner)
{
}
//Определение обработчика отображения формы
void __fastcall TForm2::FormShow(TObject *Sender)
{//Вывод результатов расчета
/*
Edit2->Text = FloatToStrF(Form1->n, ffGeneral, 4, 4);
Edit3->Text = FloatToStrF(Form1->k, ffGeneral, 4, 4);
Edit1->Text = FloatToStrF(Form1->d, ffGeneral, 4, 4);
Edit4->Text = FloatToStrF(Form1->r, ffGeneral, 4, 4);
*/
}
void __fastcall TForm2::BitBtn1Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
Тестирование программы
Тестирование разработанного в среде С++ Builder программного обеспечения проводилось при следующих входных данных:
Начальная концентрация Cc=0,1 моль/л, Cd=0,7 моль/л, Ce=0,2 моль/л.
Распределение концентрации Са(t) и Сb(t) во времени t показано в таблице:
Концентрация Ca(t), моль/л Концентрация Cb(t), моль/л Время t, c 2,2 2,1 0 1,7 1,9 1,7 1,5 1,6 2,5 1,4 1,4 3,1
Результаты реакции:
Порядок реакции n=1;
Константа скорости реакции k=0,1058 1/c
Проверка адекватности модели:
Дисперсия d=0,0006 (моль/л)2
Коэффициент корреляции r=0,905
Заключение
В курсовом проекте приведен пример создания программного обеспечения для исследования кинетики химических реакций с помощью инструментальной среды разработки приложений С++ Builder на языке С++. В ходе исследования удалось проследить изменение концентрации химических веществ в реакции.
Список литературы
Архангельский А.Я. Программирование в С++Builder 6 и 2006: [разработка программ для Windows: методические и справочные материалы по С++Builder] / А.Я. Архангельский, М.А. Тагин. – Москва: Бином, 2007.
Иванова Г.С. Объектно-ориентированное программирование / Г.С. Иванова, Т.Н. Ничушкина, Е.К. Пугачев; под ред. Г.С. Ивановой. – Изд. 3-е, стер. – М.: Изд-во МГТУ, 2007.
Лекции по дисциплине «Программирование на языках высокого уровня» Р.В. Антипин, И.В. Новожилова.
Страуструп Б. Язык программирования С++ / Бьерн Страуструп; Пер. с англ. С. Анисимова, М. Кононова; под ред. Ф. Андреева, А. Ушакова. – Спец. изд. – М.: Бином; СПб.: Нев. диалект, 2001.
Чистякова Т.Б. Программирование на языках высокого уровня Базовый курс: учебное пособие для студентов заочной формы обучения / Т.Б. Чистякова, Р.В. Антипин, И.В.Новожилова. – СПб.: СПбГТИ(ТУ), 2008.-227 с.
Шилдт Герберт. С++. Базовый курс / Герберт Шилдт; [пер. с англ. Н.М. Ручко] .- 3-е изд. – М.: Вильямс, 2008.
17
Рисунок 1 – Блок-схема
t = t[i] – t[i-1], Cc = Cc + k * pow(Ca, n) * t, Cd = Cd + k * pow(Ca, n) * t,
Ce = Ce + k * pow(Ca, n) * t, Ca = Ca – k * pow(Ca, n) * t, Cb = Cb - k * 2 * pow(Ca, n) * t, d += pow(Ca[i] – Ca, 2)
1
да
нет
k=exp((s3*s4-s2*s5)/(s1*s4-s2*s2)), n=(s1*s5-s2*s3)/(s1*s4-s2*s2),
r=(s1*s5-s2*s3)/sqrt((s1*s4-s2*s2)*(s1*s6-s3*s3))
y[i]=log(Ca[i+2]-Ca[i+1])/log(t[i+2]-t[i+1], x[i]=log(t[i+1]), s1=N-1, s2+=x[i], s3+=y[i], s4+=x[i]*x[i], s5+=x[i]*y[i], s6+=y[i]*y[i]
нет
да
да
да
да
1
1
1
Время и концентрация не могут быть отрицательными
Нарушение последовательности ввода времени
1
Концентрация в соседних точках должна быть различна
да
нет
нет
нет
нет
нет
Начальные концентрации компонентов должны быть больше 0
да
Изменение концентрации исходного компонента Ca(t) и Сb(t), начальные концентрации компонентов Cc, Cd ,Ce количество замеров концентрации N.
Конец
k,n,r,d
i=i+1
Cc(t), Cd(t), Ce(t),d
i>=N-1
i=0
i=i+1
k,n,r
s1,s2,s3,s4,s5,s6
i>N-1
i=0
i=i+1
t[i]>0||Cb[i]<0:Ca[i]<0
t[i]=t[i+1]
Ca[i]==Сa[i+1] Cb[i]==Cb[i+1]
i>N-1
i=0
!Ca||Cb<0.0||Cc<0.0||Cd<0.0||Ce<0.0
C Са(t),Cb(t),Cc,Cd,Ce,N
Начало
2)Иванова Г.С. Объектно-ориентированное программирование / Г.С. Иванова, Т.Н. Ничушкина, Е.К. Пугачев; под ред. Г.С. Ивановой. – Изд. 3-е, стер. – М.: Изд-во МГТУ, 2007.
3)Лекции по дисциплине «Программирование на языках высокого уровня» Р.В. Антипин, И.В. Новожилова.
4)Страуструп Б. Язык программирования С++ / Бьерн Страуструп; Пер. с англ. С. Анисимова, М. Кононова; под ред. Ф. Андреева, А. Ушакова. – Спец. изд. – М.: Бином; СПб.: Нев. диалект, 2001.
5)Чистякова Т.Б. Программирование на языках высокого уровня Базовый курс: учебное пособие для студентов заочной формы обучения / Т.Б. Чистякова, Р.В. Антипин, И.В.Новожилова. – СПб.: СПбГТИ(ТУ), 2008.-227 с.
6)Шилдт Герберт. С++. Базовый курс / Герберт Шилдт; [пер. с англ. Н.М. Ручко] .- 3-е изд. – М.: Вильямс, 2008.