Моделирование смешивания гидроксида хрома (III) и щелочи NaOH
Разработка математической модели заданной системы, ее внутреннее содержание и взаимосвязь отдельных компонентов. Формирование алгоритма решения задачи. Проектирование программы и ее листинг, порядок и основные этапы проведения необходимых расчетов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 02.02.2015 |
Размер файла | 656,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Моделирование смешивания гидроксида хрома (III) и щелочи NaOH
Введение
математический программа модель алгоритм
· Разработать математическую модель системы.
· Сформулировать дискретную задачу и разработать алгоритм решения задачи.
· Написать и отладить программу (предусмотреть табличное и графическое отображение результатов).
· Выполнить расчеты по программе.
· Составить пояснительную записку
1. Математическая модель
Гидроксид Cr(OH) 3 - типичный амфолит, растворяется в щелочах с образованием гидроксокомплексов Cr(OH) 4 (-).
Запишем уравнение реакции для данной задачи:
NaOH + Cr(OH) 3=Na [Cr(OH) 4]
Коэффиценты в уравнении одинаковы (равны единице).
Воспользуемся формулой нахождения количества (моль) вещества из курса химии:
n=m/M,
где n - количество вещества в молях, m - масса данного вещества в граммах, М - молярная масса вещества в г/моль (рассчитывается из молярных масс элементов таблицы Менделеева)
Отсюда выражаем m:
m=n*M
2. Алгоритм решения задачи
Рисунок 1. Блок-схема расчета Na [Cr(OH) 4]
Обозначения в блок схеме.
m1-масса Сr(OH) 3 (в граммах)
m2_begin - начальная масса NaOH (г)
m2_end - конечная масса NaOH (г)
m2_step - шаг
M1 - молярная масса Cr(OH) 3 (г/моль)
M2 - молярная масса NaOH (г/моль)
M3 - молярная масса Na [Cr(OH) 4] (г/моль)
m3_max - максимальное количество образовавшегося Na [Cr(OH) 4] (г)
m3 - масса образовавшегося Na [Cr(OH) 4] (г)
3. Описание интерфейса
Рисунок 2. Окно программы. Вывод графика и таблицы
Рисунок 3. Окно программы. Этапы анимации
Заключение
Данная программа позволяет проводить моделирование смешивания двух веществ - гидроксида хрома (III) и щелочи NaOH. С помощью этой программы вводили различные значения параметров (массы исходных веществ) и наблюдали изменение количества (в данном случае масс, выраженных в граммах) образующегося комплексного соединения Na [Cr(OH) 4] в первой пробирке (количество растет) и щелочи NaOH во второй пробирке (количество уменьшается).
Код программы
// -
#include <vcl.h>
#pragma hdrstop
#include «Unit1.h»
#include «math.h»
// -
#pragma package (smart_init)
#pragma resource «*.dfm»
TForm1 *Form1;
float m1, m2, m3, m2_begin, m2_end, m2_step, m3_max, a1, m3_end;
constfloat M1 =103;
constfloat M2 =40;
constfloat M3 =143;
// -
__fastcall TForm1:TForm1 (TComponent* Owner)
:TForm(Owner)
{
}
// -
void __fastcall TForm1: Button1Click (TObject*Sender)
{
m1 =StrToFloat (Edit1->Text);
m2_begin =StrToFloat (Edit2->Text);
m2_end =StrToFloat (Edit3->Text);
m2_step =StrToFloat (Edit4->Text);
m3_max = m1*M3/M1;
StringGrid1->Cells[0] [0]= «Iannauaei? eNaOH»;
StringGrid1->Cells[1] [0]= «Ianna Na [Cr(OH) 4]»;
StringGrid1->RowCount=1000;
introwsCount=0;
floateps=0.00001;
Chart1->Series[0]->Clear();
//Chart1->
for (float m2 = m2_begin; m2<m2_end+eps; m2+=m2_step)
{
m3 = m2*M3/M2;
if (m3>m3_max)
m3 = m3_max;
StringGrid1->Cells[0] [rowsCount+1]=FloatToStr(m2);
StringGrid1->Cells[1] [rowsCount+1]=FloatToStr(m3);
Chart1->Series[0]->Add (m3, "», clBlue);
rowsCount++;
}
m3_end = m3;
StringGrid1->RowCount= rowsCount+1;
}
// -
void __fastcall TForm1: Timer1Timer (TObject*Sender)
{
TCanvas* canvas = Image1->Canvas;
canvas->Brush->Color =clWhite;
int width = Image1->Width;
int height = Image1->Height;
canvas->FillRect (TRect(0,0, width, height));
int xc = width/2;
intyc= height/2;
if (a1<1.57)
{
a1 +=0.1;
m2 = m2_end;
} else
{
if (m3<m3_end)
{
m3 +=3;
m2 = m3*M2/M3;
m2 = m2_end-m2;
TPointp1 (xc-10, yc-50);
TPointp2 (xc-10, yc-40);
TPointp3 (xc, yc);
Image1->Canvas->MoveTo (p1.x, p1.y);
Image1->Canvas->LineTo (p2.x, p2.y);
Image1->Canvas->MoveTo (p2.x, p2.y);
Image1->Canvas->LineTo (p3.x, p3.y);
Image1->Canvas->MoveTo (p3.x, p3.y);
Image1->Canvas->LineTo (p1.x, p1.y);
}
}
Probirka (xc, yc, 0, m3/200.0, clYellow);
Probirka (xc-10, yc-50, a1, m2/200.0, clBlue);
}
// -
void __fastcall TForm1: Button3Click (TObject*Sender)
{
a1 =0;
m3 =0;
Timer1->Enabled =true;
}
TPointrotate (TPoint p1, TPoint p2, float a)
{
TPointV1 (p1.x-p2.x, p1.y-p2.y);
TPoint V2;
V2.x = V1.x*cos(a) - V1.y*sin(a)+ p2.x;
V2.y = V1.x*sin(a)+ V1.y*cos(a)+ p2.y;
return V2;
}
// -
void __fastcall TForm1: Probirka (int x, int y, float angle, float level, TColor color)
{
int h =90;
inth_d=10;
int w =20;
Image1->Canvas->Pen->Color =clBlack;
Image1->Canvas->Pen->Width =2;
Image1->Canvas->Brush->Color =clWhite;
TPoint p1 (x+w/2, y);
TPoint p2 (x+w/2, y+h);
TPoint p3 (x-w/2, y+h);
TPoint p4 (x-w/2, y);
TPoint p5 (x+w/2, y+(int) (h*(1-level)));
TPoint p6 (x-w/2, y+(int) (h*(1-level)));
TPoint p7 (x, y+h - (int) (level*h/2));
TPoint pc (x, y);
p1 =rotate (p1, pc, angle);
p2 =rotate (p2, pc, angle);
p3 =rotate (p3, pc, angle);
p4 =rotate (p4, pc, angle);
p5 =rotate (p5, pc, angle);
p6 =rotate (p6, pc, angle);
p7 =rotate (p7, pc, angle);
Image1->Canvas->MoveTo (p1.x, p1.y);
Image1->Canvas->LineTo (p2.x, p2.y);
Image1->Canvas->MoveTo (p2.x, p2.y);
Image1->Canvas->LineTo (p3.x, p3.y);
Image1->Canvas->MoveTo (p3.x, p3.y);
Image1->Canvas->LineTo (p4.x, p4.y);
Image1->Canvas->MoveTo (p5.x, p5.y);
Image1->Canvas->LineTo (p6.x, p6.y);
Image1->Canvas->Brush->Color = color;
Image1->Canvas->FloodFill (p7.x, p7.y, clWhite, fsSurface);
}
// -
void __fastcall TForm1: Button2Click (TObject*Sender)
{
Timer1->Enabled=false;
}
// -
Размещено на Allbest.ru
Подобные документы
Разработка программного обеспечения заданной информационной системы. Описание алгоритма и математического метода решения задачи. Этапы формирования и реализации программы, ее листинг и оценка функциональности. Разработка инструкции пользователя.
курсовая работа [223,9 K], добавлен 23.06.2015Физическая и математическая модели уравнения движения материальной точки. Блок-схема алгоритма основной программы для решения задачи Коши и получения результатов с фиксированным количеством отрезков разбиения. Разработка программы для ЭВМ, ее листинг.
курсовая работа [212,3 K], добавлен 24.11.2014Математическое обоснование метода решения задачи: определенный интеграл, квадратурная формула Симпсона (формула парабол). Словесное описание алгоритма и составление его блок-схемы. Выбор языка программирования. Текст программы решения задачи, ее листинг.
курсовая работа [593,6 K], добавлен 09.07.2012Описание алгоритма решения задачи по вычислению суммы элементов строк матрицы с использованием графического способа. Детализация укрупненной схемы алгоритма и разработка программы для решения задачи в среде Turbo Pascal. Листинг и тестирование программы.
курсовая работа [446,0 K], добавлен 19.06.2014Структура математической модели линейной задачи, алгоритм симплекс-метода. Разработка программы: выбор языка программирования, входные и выходные данные, пользовательский интерфейс. Описание программы по листингу, тестирование, инструкция по применению.
курсовая работа [1,2 M], добавлен 31.05.2013Особенности разработки программы и выбор методов решения задачи. Составление алгоритма, распределение регистров программы и формирование файлов. Описание процедуры очистки памяти, сложения, вычитания, умножения. Тестирование и листинг программы.
лабораторная работа [51,2 K], добавлен 14.05.2011Особенности постановки задачи по вычислению значения алгебраического выражения, описание математической модели. Определение промежутков, на которых функция не определена, построение графика. Результат выполнения программы, ее листинг и схема алгоритма.
контрольная работа [115,9 K], добавлен 14.04.2012Обозначения и термины, характерные для электрических систем при изложении узлового метода. Создание математической модели данного метода в виде системы алгебраических и трансцендентных уравнений. Структура и листинг программы анализа электрических схем.
отчет по практике [1,0 M], добавлен 29.05.2013Расчет параметров моделирования в системе Fortran. Описание алгоритма и математической модели системы, их составляющих. Моделирование шума с заданной плотностью распределения вероятностей. Выполнение моделирования работы системы при входном сигнале N(t).
курсовая работа [896,3 K], добавлен 20.06.2012Анализ заданной сложной функции и разработка структурной схемы алгоритма по её вычислению. Программирование отдельных блоков и структур алгоритма решаемой задачи на языке Паскаль. Полная программа в соответствии с алгоритмом. Результаты расчётов на ПК.
курсовая работа [59,2 K], добавлен 09.04.2012