Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кинетика и равновесие.doc
Скачиваний:
107
Добавлен:
18.02.2016
Размер:
1.03 Mб
Скачать

Приложение в Компьютерный проверочный расчет

Блок-схема алгоритма обработки экспериментальных данных

Проверку правильности произведенных расчетов по экспериментальным данным студенты проводят на ЭВМ. Программа обработки составлена на языке Borland Delphi. Для запуска программы студенту необходимо ввести свои опытные данные. Программа написана с выводом всех расчетных данных на дисплей и принтер.

Начало

Ввод исходных данных в таблицу рабочей программы опыта №1: относительной концентрации и время опыта Ввод исходных данных в таблицу рабочей программы опыта №2: время опыта и температуры

Автоматический расчет по исходным данным: относительной скорости реакций

procedure TForm1.Table1CalcFields(DataSet: TDataSet);

begin

if table1vrem.asinteger<>0 then table1ckor.asfloat:=1/table1vrem.asinteger;

end;

Автоматический расчет по исходным данным: относительной скорости реакций.

procedure TForm2.Table1CalcFields(DataSet: TDataSet);

begin

if table1vrem.asinteger<>0 then table1skor.asfloat:=1/table1vrem.

asinteger;

end;

Расчет коэффициента Вант-Гоффа:

Edit1.text

Edit2.text

Edit3.text

Вывод полученных данных

и графика зависимости скорости от относительной концентрации

Вывод полученных данных и

Конец

Программа компьютерного расчета

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables, TeEngine, Series,

TeeProcs, Chart, DBChart, StdCtrls, Buttons;

type

TForm1 = class(TForm)

DataSource1: TDataSource;

Table1: TTable;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

Table1Nopita: TAutoIncField;

Table1H2SO4: TIntegerField;

Table1NA2S2O3: TIntegerField;

Table1H20: TIntegerField;

Table1OTNKONC: TIntegerField;

Table1VREM: TIntegerField;

Table1OTNSKOR: TStringField;

Table1Ckor: TFloatField;

DBChart1: TDBChart;

Series1: TFastLineSeries;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Label1: TLabel;

Button1: TButton;

Button2: TButton;

Button3: TButton;

procedure Table1CalcFields(DataSet: TDataSet);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation

uses Unit2, Unit3, Unit4;

{$R *.DFM}

procedure TForm1.Table1CalcFields(DataSet: TDataSet);

begin

if table1vrem.asinteger<>0 then

table1ckor.asfloat:=1/table1vrem.asinteger;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

DBNavigator1.Visible:=true;

BitBtn2.Visible:=true;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

DBNavigator1.Visible:=false;

BitBtn2.Visible:=false;

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

form1.Close;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

form2.show;

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

QRListForm.QuickRep1.Preview;

end;

end.

unit Unit2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

StdCtrls, Db, Buttons, ExtCtrls, DBCtrls, Grids, DBGrids, DBTables,

TeeProcs, TeEngine, Chart;

type

TForm2 = class(TForm)

DataSource1: TDataSource;

Table1: TTable;

DBGrid1: TDBGrid;

DBNavigator1: TDBNavigator;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Table1Nopita: TAutoIncField;

Table1Tepper: TIntegerField;

Table1Vrem: TIntegerField;

Table1skor: TFloatField;

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Edit3: TEdit;

Button2: TButton;

Button3: TButton;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

Label4: TLabel;

Button4: TButton;

procedure Button3Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Table1CalcFields(DataSet: TDataSet);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form2: TForm2;

i:integer;

a1,a2,a3:real;

implementation

uses Unit1, Unit4;

{$R *.DFM}

procedure TForm2.Button3Click(Sender: TObject);

begin

form2.Close;

form1.Close;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

table1.first;

for i:=1 to 3 do

begin

case i of

1: a1:=table1skor.asfloat;

2: a2:=table1skor.asfloat;

3: a3:=table1skor.asfloat;

end;

table1.Next;

end;

edit1.Text:=floattostr(a1/a1);

edit2.Text:=floattostr(a2/a1);

edit3.Text:=floattostr(a3/a2);

end;

procedure TForm2.Table1CalcFields(DataSet: TDataSet);

begin

if table1vrem.asinteger<>0 then

table1skor.asfloat:=1/table1vrem.asinteger;

end;

procedure TForm2.BitBtn1Click(Sender: TObject);

begin

DBNavigator1.Visible:=true;

BitBtn2.Visible:=true;

end;

procedure TForm2.BitBtn2Click(Sender: TObject);

begin

DBNavigator1.Visible:=false;

BitBtn2.Visible:=false;

end;

procedure TForm2.Button2Click(Sender: TObject);

begin

form1.Show;

end;

procedure TForm2.Button4Click(Sender: TObject);

begin

qrlistform1.qrlabel10.text:=form2.Edit1.Text;

qrlistform1.qrlabel11.text:=form2.Edit2.Text;

qrlistform1.qrlabel12.text:=form2.Edit3.Text;

QRListForm1.QuickRep1.Preview;

end;

end.