на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Создание средств наглядности с использованием программной среды Delphi и Microsoft Movie Maker
p align="left">В ходе работы над курсовым проектом были решены следующие задачи:

- проведен анализ теоретической и научно-методической литературы по данной теме;

- разработана программа для виртуальной лабораторной работы «Колебания материальной точки на жестком стержне в вязкой среде»;

- подготовлена методическая рекомендация лабораторной работы «Колебания материальной точки на жестком стержне в вязкой среде».

Таким образом, задачи исследования были решены и цель достигнута.

Разработанный программа может быть использован в практике работы учителей. Это будет служить не только расширению и углублению теоретических знаний, умений и навыков школьников по физике, но предполагает и практическую подготовку, усиливающую профориентационную направленность обучения.

Список использованной литературы

1.
Культин Н.Б. Основы программирования в Delphi 7.- СПб.: БХВ-Петербург, 2003. - 608 с.: ил.

2. Галисеев Г.В. Программирование в среде Delphi.. Самоучитель:

-- М.: Издательский дом "Вильяме", 2004. -- 304 с.: ил.

3. М.В. Сухарев. Основы Delphi. Профессиональный подход -- СПб.: Наука и Техника, 2004. -- 600 с.: ил.

4. Стивене Р. Delphi. Готовые алгоритмы / Род Стивене; Пер. с англ. Мерещука П. А. - 2-е изд., стер. - М.: ДМК Пресс ; СПб.: Питер, 2004. - 384 с.: ил.

5. Фленов М. Программирование в Delphi глазами хакера. -- СПб.: БХВ-Петербург, 2004. - 368 с.: ил.

Приложения

Приложение 1

Программный код

privat

{ Private declarations }

B_Close : boolean;

X,Y,t,Dt,fi0,fi,X_O,Y_O,tend: real;

X1,Y1 : real;

w0,b: real;

m,d,p,w,delta,j,E,m0,a,en,sch: real;

OT ,width, height : integer;

L,LVector : integer;

fiFc, Xfc, Yfc, Xfcnad, Yfcnad, c: real;

outalfa,outomega,k1a,k1w, k2a, k2w, k3a, k3w,k4a,k4w:real;

s: string;

public

{ Public declarations }

end;

var

Form1: TForm1;

const g=9.814; dl=3.7;

implementation

{$R *.dfm}

Uses Unit4, Unit5, Unit3, Unit6;

//создание графиков и движения маятника

procedure TForm1.BStartClick(Sender: TObject);

begin

if (LabeledEdit1.Text='') or (LabeledEdit2.Text='') or (LabeledEdit3.Text='')

or (LabeledEdit4.Text='') or (LabeledEdit5.Text='') or (LabeledEdit6.Text='')

or (LabeledEdit7.Text='') or (LabeledEdit8.Text='') or (StrToFloat(LabeledEdit5.Text)=0)

or (StrToFloat(LabeledEdit4.Text)=0) and (StrToInt(LabeledEdit3.Text)=0)

or (StrToFloat(LabeledEdit8.Text)=0)

then

begin

ShowMessage('Проверте правильность ввода данных!');

exit;

end;

B_Close:=false;

BitBtn3.Enabled:=false;

BitBtn4.Enabled:=true;

BitBtn2.Enabled:=false;

LabeledEdit1.Enabled:=false;

LabeledEdit2.Enabled:=false;

LabeledEdit3.Enabled:=false;

LabeledEdit4.Enabled:=false;

LabeledEdit5.Enabled:=false;

LabeledEdit6.Enabled:=false;

LabeledEdit7.Enabled:=false;

LabeledEdit8.Enabled:=false;

Form4.LabeledEdit4.Enabled:=false;

L:=StrToInt(LabeledEdit3.Text); //длина нити

fi0:=StrToFloat(LabeledEdit2.Text);//начальный угол

d:=StrToFloat(LabeledEdit4.Text); //диаметр шара

m:=StrToFloat(LabeledEdit5.Text); //масса шарика

p:=StrToFloat(LabeledEdit6.Text); //плотноть среды

tend:=StrToFloat(LabeledEdit8.Text); //конечное время

w0:=StrToFloat(LabeledEdit7.Text); //начальная скороть

b:=StrToFloat(LabeledEdit1.Text); //вязкость среды

m0:=(p*PI*d*d*d)/6;

w:=w0;

t:=0;

fi0:=fi0*PI/180;

fi:=fi0;

delta:=(3*PI*b*d)/(2*m);

dt:=(2*PI*sqrt(L/g))/(StrToFloat(Form4.LabeledEdit4.Text));

j:=abs(g/l*(1-m0/m));

sch:=g/l*(1-m0/m);

en:=g*l*(m-m0);

E:=(en*(1 - cos(fi)) + (m*l*l*w*w)/2);

c:=(sqrt(j));

s:=FloatToSTR(round(c*10000)/10000);

Label16.Caption:=s+' Гц';

c:=(2*PI/sqrt(j));

s:=FloatToSTR(round(c*10000)/10000);

Label17.Caption:=s+' 1/c';

c:=delta;

s:=FloatToSTR(round(c*10000)/10000);

Label18.Caption:=s;

if delta<sqrt(j) then

a:=sqrt(j-delta*delta);

if delta>sqrt(j) then

a:=sqrt(delta*delta-j);

if delta=sqrt(j) then

a:=0;

c:=a;

s:=FloatToSTR(round(c*10000)/10000);

Label9.Caption:=s+' Гц';

c:=(2*PI)/a;

s:=FloatToSTR(round(c*10000)/10000);

Label11.Caption:=s+' 1/c';

c:=delta*((2*PI)/a);

s:=FloatToSTR(round(c*10000)/10000);

Label14.Caption:=s;

if delta<>0 then

begin

c:=PI/(delta*((2*PI)/a));

s:=FloatToSTR(round(c*10000)/10000);

Label15.Caption:=s;

end

else

Label15.Caption:='-';

c:=(6*m)/(PI*sqr(d)*d);

s:=FloatToSTR(round(c*1000)/1000);

Label12.Caption:=s+' кг/куб.м';

Chart2.BottomAxis.Maximum:=tend;

Chart3.BottomAxis.Maximum:=tend;

Chart4.BottomAxis.Maximum:=tend;

Chart4.LeftAxis.Maximum:=E+0.5*E;

Chart4.LeftAxis.Minimum:=StrToFloat(Form4.LabeledEdit3.Text);

Chart2.LeftAxis.Maximum:=StrToFloat(Form4.LabeledEdit1.Text);

Chart2.LeftAxis.Minimum:=-Chart2.LeftAxis.Maximum;

Chart3.LeftAxis.Maximum:=StrToFloat(Form4.LabeledEdit2.Text);

Chart3.LeftAxis.Minimum:=-StrToFloat(Form4.LabeledEdit2.Text);

outalfa:=fi0;

outomega:=w0;

while (not B_Close) and (t<=tend) do

begin

fi:=outalfa;

w:=outomega;

k1a:=dt*w;

k1w:=-dt*(2*delta*w+sch*sin(fi));

fi:=outalfa+k1a/2;

w:=outomega+k1w/2;

k2a:=dt*w;

k2w:=-dt*(2*delta*w+sch*sin(fi));

fi:=outalfa+k2a/2;

w:=outomega+k2w/2;

k3a:=dt*w;

k3w:=-dt*(2*delta*w+sch*sin(fi));

fi:=outalfa+k3a;

w:=outomega+k3w;

k4a:=dt*w;

k4w:=-dt*(2*delta*w+sch*sin(fi));

fi:=outalfa+(k1a+k2a*2+k3a*2+k4a)/6;

w:=outomega+(k1w+k2w*2+k3w*2+k4w)/6;

E:=en*(1 - cos(fi)) + (m*l*l*w*w)/2;

outalfa:=fi;

outomega:=w;

Chart2.Series[0].AddXY(t,fi * 180 / PI);

Chart3.Series[0].AddXY(t,w);

Chart4.Series[0].AddXY(t,E);

t:=t+Dt;

X:=X_O+dL*sin(fi);

Y:=Y_O-dL*cos(fi);

X1:=X_O+LVector*sin(fi);

Y1:=Y_O-LVector*cos(fi);

Xfc:=X-sign(w)*cos(fi);

Yfc:=Y-sign(w)*sin(fi);

Xfcnad:=X-sign(w)*(cos(fi)+0.5);

Yfcnad:=Y-sign(w)*sin(fi);

Series14.AddArrow(X,Y,Xfc,Yfc);

Series16.AddXY(Xfcnad,Yfcnad,'Fc');

Series2.Clear;

Series3.Clear;

Series6.Clear;

Series7.Clear;

Series8.Clear;

Series9.Clear;

Series13.Clear;

Series14.Clear;

Series15.Clear;

Series16.Clear;

Series2.AddXY(X_O,Y_O,'',clBlack);

Series2.AddXY(X,Y,'',clBlack);

Series6.AddArrow(X,Y,X1,Y1,'T');

Series7.AddArrow(X,Y,X,Y-LVector,'G');

Series8.AddXY(X1+0.5,Y1,'T');

Series9.AddXY(X+0.5,Y-LVector,'G');

Series15.AddXY(X+0.5,Y+1,'Fa');

Series13.AddArrow(X,Y,X,Y+1);

Series14.AddArrow(X,Y,Xfc,Yfc);

Series16.AddXY(Xfcnad,Yfcnad,'Fc');

if (round((fi*180)/PI) = 0)and (round((w*180)/PI) = 0) and (round(E) = 0) then begin

Series14.AddArrow(0,0,0,0);

Series16.Clear;

Series14.Clear;

end

else

begin

Series14.AddArrow(X,Y,Xfc,Yfc);

Series16.AddXY(Xfcnad,Yfcnad,'Fc');

end;

Timer1.Enabled := true;

Series3.AddXY(X,Y,'',clRed);

OT:=0;

while (OT = 0) do Application.ProcessMessages;

end;

Timer1.Enabled := false;

BitBtn4.Enabled:=false;

BitBtn2.Enabled:=true;

end;

//создание формы

procedure TForm1.FormCreate(Sender: TObject);

begin

width:=GetSystemMetrics(SM_CXSCREEN);

height:=GetSystemMetrics(SM_CYSCREEN);

form1.height:=height;

form1.width:=width;

Chart1.Height:=((Form1.Height) div 2)-80;

Chart1.Width:=((Form1.width) div 2)-160;

Chart2.Height:=((Form1.Height) div 2)-50;

Chart2.Width:=((Form1.width) div 2)-120;

Chart3.Height:=((Form1.Height) div 2)-50;

Chart3.Width:=((Form1.width) div 2)-120;

Chart4.Height:=((Form1.Height) div 2)-50;

Chart4.Width:=((Form1.width) div 2)-120;

Chart2.Top:=Panel2.Top+20;

Chart1.Top:=Panel2.Top+Chart2.Height+50;

Chart3.Top:=Chart2.Top;

Chart3.Left:=Chart2.Left+Chart2.Width;

Chart4.Top:=Chart1.Top-20;

Chart4.Left:=Chart2.Left+Chart2.Width;

if (Form1.width<1024) and (Form1.Height<768) then

begin

LabeledEdit4.Height:=LabeledEdit4.Height-5;

LabeledEdit4.Width:=LabeledEdit4.Width-5;

LabeledEdit1.Height:=LabeledEdit1.Height-5;

LabeledEdit1.Width:=LabeledEdit1.Width-5;

LabeledEdit2.Height:=LabeledEdit2.Height-5;

LabeledEdit2.Width:=LabeledEdit2.Width-5;

LabeledEdit3.Height:=LabeledEdit3.Height-5;

LabeledEdit3.Width:=LabeledEdit3.Width-5;

LabeledEdit5.Height:=LabeledEdit5.Height-5;

LabeledEdit5.Width:=LabeledEdit5.Width-5;

LabeledEdit6.Height:=LabeledEdit6.Height-5;

LabeledEdit6.Width:=LabeledEdit6.Width-5;

LabeledEdit7.Height:=LabeledEdit7.Height-5;

LabeledEdit7.Width:=LabeledEdit7.Width-5;

LabeledEdit8.Height:=LabeledEdit8.Height-5;

LabeledEdit8.Width:=LabeledEdit8.Width-5;

LabeledEdit4.Top:=LabeledEdit4.Top-15;

LabeledEdit1.Top:=LabeledEdit1.Top-53;

LabeledEdit2.Top:=LabeledEdit2.Top-78;

LabeledEdit3.Top:=LabeledEdit3.Top-23;

LabeledEdit5.Top:=LabeledEdit5.Top-19;

LabeledEdit6.Top:=LabeledEdit6.Top-50;

LabeledEdit7.Top:=LabeledEdit7.Top-80;

LabeledEdit8.Top:=LabeledEdit8.Top-82;

StaticText2.Top:=StaticText2.Top-6;

StaticText6.Top:=StaticText6.Top-105;

StaticText7.Top:=StaticText7.Top-110;

StaticText8.Top:=StaticText8.Top-115;

StaticText1.Top:=StaticText1.Top-120;

StaticText5.Top:=StaticText5.Top-126;

StaticText3.Top:=StaticText3.Top-130;

StaticText4.Top:=StaticText4.Top-135;

StaticText9.Top:=StaticText9.Top-140;

BitBtn2.Top:=BitBtn2.Top-147;

BitBtn3.Top:=BitBtn3.Top-147;

BitBtn4.Top:=BitBtn4.Top-155;

BitBtn1.Top:=BitBtn1.Top-155;

BitBtn1.Height:=BitBtn1.Height-5;

BitBtn1.Width:=BitBtn1.Width-5;

BitBtn2.Height:=BitBtn2.Height-5;

BitBtn2.Width:=BitBtn2.Width-5;

BitBtn3.Height:=BitBtn3.Height-5;

BitBtn3.Width:=BitBtn3.Width-5;

BitBtn4.Height:=BitBtn4.Height-5;

BitBtn4.Width:=BitBtn4.Width-5;

Label16.Top:=Label16.Top-105;

Label17.Top:=Label17.Top-109;

Label18.Top:=Label18.Top-116;

Label9.Top:=Label9.Top-117;

Label11.Top:=Label11.Top-125;

Label14.Top:=Label14.Top-130;

Label15.Top:=Label15.Top-137;

Label12.Top:=Label12.Top-140;

end;

if (Form1.width>1024) and (Form1.Height>768) then

begin

LabeledEdit4.Height:=LabeledEdit4.Height+5;

LabeledEdit4.Width:=LabeledEdit4.Width+5;

LabeledEdit1.Height:=LabeledEdit1.Height+5;

LabeledEdit1.Width:=LabeledEdit1.Width+5;

LabeledEdit2.Height:=LabeledEdit2.Height+5;

LabeledEdit2.Width:=LabeledEdit2.Width-5;

LabeledEdit3.Height:=LabeledEdit3.Height+5;

LabeledEdit3.Width:=LabeledEdit3.Width+5;

LabeledEdit5.Height:=LabeledEdit5.Height+5;

LabeledEdit5.Width:=LabeledEdit5.Width-5;

LabeledEdit6.Height:=LabeledEdit6.Height+5;

LabeledEdit6.Width:=LabeledEdit6.Width+5;

LabeledEdit7.Height:=LabeledEdit7.Height+5;

LabeledEdit7.Width:=LabeledEdit7.Width+5;

LabeledEdit8.Height:=LabeledEdit8.Height+5;

LabeledEdit8.Width:=LabeledEdit8.Width+5;

LabeledEdit4.Top:=LabeledEdit4.Top+15;

LabeledEdit1.Top:=LabeledEdit1.Top+58;

LabeledEdit2.Top:=LabeledEdit2.Top+78;

LabeledEdit3.Top:=LabeledEdit3.Top+30;

LabeledEdit5.Top:=LabeledEdit5.Top+23;

LabeledEdit6.Top:=LabeledEdit6.Top+53;

LabeledEdit7.Top:=LabeledEdit7.Top+80;

LabeledEdit8.Top:=LabeledEdit8.Top+82;

StaticText2.Top:=StaticText2.Top+6;

StaticText6.Top:=StaticText6.Top+125;

StaticText7.Top:=StaticText7.Top+130;

StaticText1.Top:=StaticText1.Top+135;

StaticText3.Top:=StaticText3.Top+135;

StaticText4.Top:=StaticText4.Top+135;

StaticText5.Top:=StaticText5.Top+135;

StaticText8.Top:=StaticText8.Top+135;

StaticText9.Top:=StaticText9.Top+135;

BitBtn2.Top:=BitBtn2.Top+157;

BitBtn3.Top:=BitBtn3.Top+157;

BitBtn4.Top:=BitBtn4.Top+165;

BitBtn1.Top:=BitBtn1.Top+165;

BitBtn1.Height:=BitBtn1.Height+5;

BitBtn1.Width:=BitBtn1.Width+5;

BitBtn2.Height:=BitBtn2.Height+5;

BitBtn2.Width:=BitBtn2.Width+5;

BitBtn3.Height:=BitBtn3.Height+5;

BitBtn3.Width:=BitBtn3.Width+5;

BitBtn4.Height:=BitBtn4.Height+5;

BitBtn4.Width:=BitBtn4.Width+5;

Label16.Top:=Label16.Top+125;

Label17.Top:=Label17.Top+130;

Label18.Top:=Label18.Top+135;

Label9.Top:=Label9.Top+135;

Label11.Top:=Label11.Top+135;

Label14.Top:=Label14.Top+135;

Label15.Top:=Label15.Top+135;

Label12.Top:=Label12.Top+135;

end;

tend:=10;

fi0:=StrToFloat(LabeledEdit2.Text);

Chart2.BottomAxis.Maximum:=tend;

Chart2.LeftAxis.Maximum:=fi0;

Chart2.LeftAxis.Minimum:=-fi0;

Chart3.BottomAxis.Maximum:=tend;

Chart4.BottomAxis.Maximum:=tend;

fi0:=fi0*PI/180;

LVector:=2;

X_O:=5;

Y_O:=6;

OT := 0;

B_Close:=false;

X:=X_O+dl*sin(fi0);

Y:=Y_O-dl*cos(fi0);

if (fi < 0) then

begin

fiFc:=90;

Xfc:=X+1*sin((fiFc*180)/PI);

Yfc:=Y-1*cos((fiFc*180)/PI);

end

else

begin

fiFc:=-90;

Xfc:=X+1*sin((fiFc*180)/PI);

Yfc:=Y-1*cos((fiFc*180)/PI);

end;

Series1.AddXY(4,6,'',clBlack);

Series1.AddXY(6,6,'',clBlack);

Series5.AddXY(X_O,Y_O,'',clBlack);

Series5.AddXY(5,0.5,'',clBlack);

Series2.AddXY(X_O,Y_O,'',clBlack);

Series2.AddXY(X,Y,'',clBlack);

Series3.AddXY(X,Y,'',clRed);

//Силы, действующие на тело

X1:=X_O+LVector*sin(fi0);

Y1:=Y_O-LVector*cos(fi0);

Series6.AddArrow(X,Y,X1,Y1);

Series7.AddArrow(X,Y,X,Y-LVector);

Series8.AddXY(X1+0.5,Y1,'T');

Series9.AddXY(X+0.5,Y-LVector,'G');

Series13.AddArrow(X,Y,X,Y+1);

Series14.AddArrow(X,Y,Xfc,Yfc);

Series15.AddXY(X+0.5,Y+1,'Fa');

Series16.AddXY(Xfc+0.5,Yfc,'Fc');

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);

begin

B_Close:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

OT:=1;

end;

procedure TForm1.BStopClick(Sender: TObject);

begin

Form4.LabeledEdit4.Enabled:=false;

Chart3.LeftAxis.RoundFirstLabel:=true;

Chart2.LeftAxis.RoundFirstLabel:=true;

BitBtn3.Enabled:=false;

if BitBtn3.Enabled=false then

begin

BitBtn2.Enabled:=true;

BitBtn4.Enabled:=false;

B_Close:=true

end else exit;

end;

procedure TForm1.LabeledEdit1KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit2KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit3KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit4KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit5KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit6KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit7KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.LabeledEdit8KeyPress(Sender: TObject; var Key: Char);

begin

Case Key of

#8,'0'..'9',',':;

else Key:=Chr(0);

end;

end;

procedure TForm1.N10Click(Sender: TObject);

begin

if MessageDlg('Вы действительно хотите выйти из программы?',MtConfirmation,[MbYes,mbNo],0)=MrYes then Form1.Close;

end;

//очистить графики

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Form4.LabeledEdit4.Enabled:=true;

Chart3.LeftAxis.Maximum:=3;

Chart3.LeftAxis.Minimum:=-3;

Chart2.LeftAxis.Maximum:=85;

Chart2.LeftAxis.Minimum:=-85;

Chart4.LeftAxis.Maximum:=2;

Chart4.LeftAxis.Minimum:=0;

BitBtn2.Enabled:=false;

BitBtn3.Enabled:=true;

BitBtn4.Enabled:=false;

Timer1.Enabled := false ;

Chart4.LeftAxis.AutomaticMaximum:=false;

Chart4.LeftAxis.AutomaticMinimum:=false;

Chart2.LeftAxis.AutomaticMaximum:=false;

Chart2.LeftAxis.AutomaticMinimum:=false;

LabeledEdit1.Enabled:=true;

LabeledEdit2.Enabled:=true;

LabeledEdit3.Enabled:=true;

LabeledEdit4.Enabled:=true;

LabeledEdit5.Enabled:=true;

LabeledEdit6.Enabled:=true;

LabeledEdit7.Enabled:=true;

LabeledEdit8.Enabled:=true;

Chart2.Series[0].Clear;

Chart3.Series[0].Clear;

Chart4.Series[0].Clear;

B_Close:=true;

LVector:=2;

fi0:=StrToFloat(LabeledEdit2.Text);

fi0:=fi0*PI/180;

X_O:=5;

Y_O:=6;

OT := 0;

B_Close:=false;

X:=X_O+dL*sin(fi0);

Y:=Y_O-dL*cos(fi0);

//очистить прошлый кадр

Series2.Clear; //нить

Series3.Clear; // шар

Series6.Clear; // стрелка красная

Series7.Clear; // стрелка синяя

Series8.Clear; // T

Series9.Clear; // G

// рисуем нить и шарик

Series2.AddXY(X_O,Y_O,'',clBlack);

Series2.AddXY(X,Y,'',clBlack);

Series3.AddXY(X,Y,'',clRed);

//Силы действующие на тело

X1:=X_O+LVector*sin(fi0);

Y1:=Y_O-LVector*cos(fi0);

Series6.AddArrow(X,Y,X1,Y1);

Series7.AddArrow(X,Y,X,Y-LVector);

Series8.AddXY(X1+0.5,Y1,'T');

Series9.AddXY(X+0.5,Y-LVector,'G');

Series13.Clear;

Series14.Clear;

Series15.Clear;

Series16.Clear;

Series13.AddArrow(X,Y,X,Y+1); //Fa стрелка

Series15.AddXY(X+0.5,Y+1,'Fa'); // Fa

fiFc:=-90;

Xfc:=X+1*sin((fiFc*180)/PI);

Yfc:=Y-1*cos((fiFc*180)/PI);

Series14.AddArrow(X,Y,Xfc,Yfc);

Series16.AddXY(Xfc+0.5,Yfc,'Fc');

end;

procedure TForm1.N2Click(Sender: TObject);

begin

ShellExecute(Handle,'open','теоретическая справка.htm',nil,nil,SW_RESTORE);

end;

procedure TForm1.N4Click(Sender: TObject);

begin

Form4.Show;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

Form5.Show;

end;

procedure TForm1.Button1Click(Sender: TObject);

begin

with Form6.MediaPlayer1 do

begin

Filename := 'Video.mpg';

Open;

Form6.Show;

Display := Form6.Panel1;

DisplayRect := Form6.Panel1.ClientRect;

end;

end;

end.

Приложение 2

Методические рекомендации к выполнению лабораторной работы

При запуске программы перед пользователем открывается главное окно, содержащие поля ввода параметров физического эксперимента, поля вывода посчитанных значений, поле для вывода графика и кнопки.

Внесём значения в поля ввода физического эксперимента: диаметр шара, массу шара, длину стержня, плотность среды, вязкость среды, начальный угол, начальная угловая скорость, конечное время.

В пункте меню в разделе настройки введём значение: предел угла на графике, предел угловой скорости на графике, нижний предел энергии Е на графике и шаг интегрирования, те значения которые вы считаете нужными. Нажмём ОК.

Нажмём кнопку «Старт», наблюдаем построение графиков:

1) график зависимости угла от времени

2) график зависимости угловой скорости от времени

3) график зависимости полной энергии колебаний от времени

4) анимация движения маятника

А также в полях вывода посчитанных значений выводится значение: собственная частота, собственный периода, декремент затухания, частота, период, добротность, плотность шарика.

В любой момент мы можем остановить построение, нажав кнопку «Стоп».

При нажатии на кнопку «Очистить графики» происходит очищение графических полей:

· графика зависимости угла от времени

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

· графика зависимости полной энергии колебаний от времени

· анимация движения маятника возвращается в исходное начальное положение

При нажатии на кнопку «Видео» воспроизводится демонстрационное видео. На данном видео можно посмотреть порядок выполнения эксперимента.

По завершению выполнения эксперимента нажимаем кнопку «Выход».

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.