ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ смСшивания гидроксида Ρ…Ρ€ΠΎΠΌΠ° (III) ΠΈ Ρ‰Π΅Π»ΠΎΡ‡ΠΈ NaOH

ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ Π² Π±Π»ΠΎΠΊ схСмС. Probirka (xc-10, yc-50, a1, m2/200.0, clBlue); M1-масса Π‘r (OH) 3 (Π² Π³Ρ€Π°ΠΌΠΌΠ°Ρ…). Алгоритм Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ. __fastcall TForm1: TForm1 (TComponent* Owner). TPointrotate (TPoint p1, TPoint p2, float a). Canvas→FillRect (TRect (0,0, width, height)); ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ модСль. V2. x = V1. x*cos (a) — V1. y*sin (a)+ p2. x; TPoint p6 (x-w/2, y+(int) (h*(1-level))); TPoint p5 (x+w/2, y+(int… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ смСшивания гидроксида Ρ…Ρ€ΠΎΠΌΠ° (III) ΠΈ Ρ‰Π΅Π»ΠΎΡ‡ΠΈ NaOH (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ смСшивания гидроксида Ρ…Ρ€ΠΎΠΌΠ° (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

#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.1;

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;

}

// ;

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ