Для повышения педагогического результата при проведении физического эксперимента в рамках достижения цели данной работы было выбрано следующие программное обеспечение: TurboDelphi и MicrosoftMovieMaker. Выбор данных средств был обусловлен следующими мотивами:
· TurboDelphi объединяет в себе множество полезных инструментов и готовых компонентов, из которых, как дом из кирпичей, собираются проекты – пользовательские программы.
· MicrosoftMovieMaker – имеет простой интерфейс, лёгок в применении.
Глава 2. Техническое описание программного продукта
Электронный ресурс «Моделирование колебаний шарика на жёстком стержне в вязкой среде» для студентов всех ВУЗов и средних профессиональных учебных заведений предназначено для подготовки к практическим и лабораторным занятиям, осуществления самостоятельной работы студентов, изучающих общую и теоретическую физику.
Программный продукт выполнен в средах MovieMaker и TurboDelphi. Чтобы запустить программу нужно выбрать из папки «Маятник» файл Project1.exe.
При запуске этого файла перед пользователем открывается главное окно, содержащие поля ввода параметров физического эксперимента, поля вывода посчитанных значений, поле для вывода графика и кнопки, при нажатии на которые происходит то или иное событие.
В левом верхнем углу формы находится кнопка «меню». При нажатии кнопки «Меню» осуществляется переход к разделам меню. Оно содержит такие разделы, как:
· настройки
· теоретическая справка
· о программе
· выход
В разделе «Настройки» пользователь может ввести значение: предел угла
на графике, предел угловой скорости на графике, нижний предел энергии Е на графике и шаг интегрирования, те значения которые он считает нужными. В зависимости от выбора данных параметров пользователь может получить различные формы графика плотности вероятности.В опции меню «Теоретическая справка» пользователь может получить справочный материал относительно математического маятника и колебаниях, а также посмотреть нужные формулы.
В разделе «О программе» пользователь получает информацию относительно программы.
При нажатии раздела «Выход» форма закрывается, и пользователь выходит из программы.
Под кнопкой «Меню» на панели располагаются 8 окон ввода, в которые можно вносить заданные параметры: диаметр шара, массу шара, длину стержня, плотность среды, вязкость среды, начальный угол, начальная угловая скорость, конечное время и изменять их.
За ячейками располагается кнопка «Видео», при нажатии которой воспроизводится демонстрационное видео. На данном видео можно посмотреть порядок выполнения эксперимента.
При нажатии на кнопку «Старт» справа выводятся 4 графика:
1) график зависимости угла от времени
2) график зависимости угловой скорости от времени
3) график зависимости полной энергии колебаний от времени
4) анимация движения маятника
При нажатии на кнопку «Стоп» программа прекращает свою работу, и начинает считывать значения: собственной частоты, собственного периода, декремента затухания, частоты, периода, добротности, плотности шарика, которые обработались до определенного момента, и записывает значения в поля, которые расположены за кнопкой видео.
При нажатии на кнопку «Очистить графики» происходит очищение графических полей:
· графика зависимости угла от времени
· графика зависимости угловой скорости от времени
· графика зависимости полной энергии колебаний от времени
· анимация движения маятника возвращается в исходное начальное положение
При нажатии на кнопку «Выход» форма закрывается.
Целью курсовой работы было «создание программы, моделирующей виртуальный эксперимент».
Электронные наглядные пособия играют исключительно важную роль в образовании. Облегчая проведение экспериментов, они снимают психологический барьер в изучении физике, и делают этот процесс интересным и более простым. При грамотном применении их в учебном процессе, пособия обеспечивают повышение фундаментальности физического образования, содействуют интеграции нашей образовательной системы с образовательной системой наиболее развитых западных стран, где подобные методы обучения применяются уже давно.
В ходе работы над курсовым проектом были решены следующие задачи:
- проведен анализ теоретической и научно-методической литературы по данной теме;
- разработана программа для виртуальной лабораторной работы «Колебания материальной точки на жестком стержне в вязкой среде»;
- подготовлена методическаярекомендация лабораторной работы «Колебания материальной точки на жестком стержне в вязкой среде».
Таким образом, задачи исследования были решены и цель достигнута.
Разработанный программа может быть использован в практике работы учителей. Это будет служить не только расширению и углублению теоретических знаний, умений и навыков школьников по физике, но предполагает и практическую подготовку, усиливающую профориентационную направленность обучения.
1. Культин Н.Б. Основы программирования в Delphi 7.- СПб.: БХВ-Петербург,2003. - 608 с.: ил.
2. Галисеев Г.В. Программирование в среде Delphi.. Самоучитель:
— М.: Издательский дом "Вильяме", 2004. — 304 с.: ил.
3. М.В. Сухарев. Основы Delphi. Профессиональный подход — СПб.: Наука и Техника, 2004. — 600 с.: ил.
4. Стивене Р. Delphi. Готовые алгоритмы / Род Стивене; Пер. с англ. Мерещука П. А. - 2-е изд., стер. - М.: ДМК Пресс ; СПб.: Питер, 2004. - 384 с.: ил.
5. Фленов М. Программирование в Delphi глазами хакера. — СПб.: БХВ-Петербург, 2004. - 368 с.: ил.
privat
{ Privatedeclarations }
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;