Моделирование смешивания гидроксида хрома (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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.