скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

скачать рефератыКурсовая работа: Создание средств наглядности с использованием программной среды Delphi и Microsoft Movie Maker

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


Заключение

Целью курсовой работы было «создание программы, моделирующей виртуальный эксперимент».

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

В ходе работы над курсовым проектом были решены следующие задачи:

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

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

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

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

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


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

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


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.