Решение физической задачи и ее интерпретация в делфи

Автор: Пользователь скрыл имя, 24 Октября 2011 в 19:28, практическая работа

Краткое описание

Полет камня без учета силы трения. Камень массой 200 г брошен под углом α к горизонту со скоростью 20 м/с. Начертите траэкторию без учета сопротивления воздуха. Как меняется максимальная высота подьема и дальность полета камня при изменении угла от 10° до 80°? Начертите графики.
Оптимальный угол бросания камня. Под каким углом к горизонту следует бросить камень массой 200 г со скоростью 20 м/с, что бы дольность полета была наибольшей, если сила сопротивления воздуха Fтр = A*V + B*V3 (где, А = 0,1 Н*с/м, В = 0,001 Н*с3/м3)? Сравните со случаем, когда сопротивление воздуха не учитывается.

Файлы: 1 файл

Міністерство освіти і науки.docx

— 1.86 Мб (Скачать)

Міністерство освіти і науки, молоді та спорту України 
Дніпропетровський національних університет імені Олеся Гончара  
Факультет фізики,електроніки та комп'ютерних систем 
Кафедра експериментальної фізики
 
 
 
 
 
 
 
 
 
 
 
 
 

 
Звіт з навчальної практики 
 
 
 
 
 
 

 
Виконала                                                                         студентка гр. КФ-10-1

Полтавець А. В. 
 

 
Керівник                                                                                           О.Е Тихомиров  
 
 
 
 
 
 
 
 

 
м.Дніпропетровськ  
2011р.

Задание 

     Полет камня без учета силы трения. Камень массой 200 г брошен под углом α к горизонту со скоростью 20 м/с. Начертите траэкторию без учета сопротивления воздуха. Как меняется максимальная высота подьема и дальность полета камня при изменении угла от 10° до 80°? Начертите графики.

     Оптимальный угол бросания камня. Под каким углом к горизонту следует бросить камень массой 200 г со скоростью 20 м/с, что бы дольность полета была наибольшей, если сила сопротивления воздуха Fтр = A*V + B*V3 (где, А = 0,1 Н*с/м, В = 0,001 Н*с33)? Сравните со случаем, когда сопротивление воздуха не учитывается. 
 
 
 
 
 
 
 
 
 
 
 

 

     Физическое  решение задачи 

      Построим  зависимости дальности и высоты полета тела от угла, под которым  тело бросили к горизонту. Рассчитывать эти значения будем по формулам: 

L = (V0 2 * sin(2*α))/g, 

H = (V0 2 * sin2(α))/(2*g). 

Где, L – дальность полета тела,

      H – высота полета тела,

      V0 – начальная скорость тела,

      α – угол, под которым кинули тело к горизонту,

      g – ускорение свободного падения. 

Построим  графики зависимости с начальным условиям: V0 = 20 м/с, а угол соответственно будем подставлять от 10° до 80°. 
 

 

     Как видно на графиках, когда α = 45° дальность полета наибольшая, а при α = 80° висота полета наивысшая. 

      Траектория полета тела без учета сопротивоения воздуха представляет собой параболу. Ускорение тела в любой точке траектории будет равным ускорению свобідного падения g.

      Тело одновременно берет участие в двоих двидениях:

  • по горизонтали вдоль оси Ох – равномерный;
  • по вертикали вдоль оси Оу – равноускореный;
 

    t = (2 * V0 * sin(α)); 

    V0x = V0 * cos(α),

    V0y = V0 * sin(α). 

    Уравнение движения: 

    x(t) = V0 * t * cos(α),

    y(t) = V0 * t * sin(α) – gt2 / 2. 

     Для начальных заданных начальных условий (V0 = 20 м/с, α = 30°) получим такую траекторию: 
 

       
 
 

      Для построения траектории полета тела с учетом сопротивления воздуха воспользуемся такими йормулами: 

     V0x = V0 * cos(α) - (А*V0*cos(α)/m + В*V0 3*cos3(α)/m)*dt,

     V0y = V0 * sin(α) - (g + А* V0 * sin(α)/m + В* V0 3* sin3(α)/m)*dt. 

     Уравнение движения: 

     х = x+ V0x *dt,

     y = y+ V0y *dt. 

Где, А  – коефициент трения,

      В – кубический коефициент,

      dt – промежуток времени,

      m – масса тела,

     g – ускорение свободного падения,

     α - угол, под которым кинули тело к  горизонту. 

     При подставлении начальных условий получим (V0 = 20 м/с, α = 30°, m= 200 г): 
 

 
 

     Максимальная  высота полета тела всегда будет при α = 80°. А угол при максимальной длине полета всегда будет зависеть от скорости и массы тела.

     Текст программы 

unit Unit1; 

interface 

uses

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

     Dialogs, StdCtrls, TeEngine, Series, ExtCtrls, TeeProcs, Chart; 

type

       TForm1 = class(TForm)

         Button1: TButton;

         Chart1: TChart;

         Series2: TFastLineSeries;

         Chart2: TChart;

         Series1: TFastLineSeries;

         Label1: TLabel;

         Label2: TLabel;

         Edit1: TEdit;

         Chart3: TChart;

         Series3: TFastLineSeries;

         Button2: TButton;

         Label3: TLabel;

         Edit2: TEdit;

         Edit3: TEdit;

         Edit4: TEdit;

         Label4: TLabel;

         Label5: TLabel;

         Chart4: TChart;

         Series4: TFastLineSeries;

         Edit5: TEdit;

         Label6: TLabel;

         Button3: TButton;

         Label7: TLabel;

         Button4: TButton;

         Label8: TLabel;

         Label9: TLabel;

         Label10: TLabel;

         Label11: TLabel;

         Label12: TLabel;

         procedure Button1Click(Sender: TObject);

         procedure Button2Click(Sender: TObject);

         procedure Button3Click(Sender: TObject);

         procedure Button4Click(Sender: TObject);

       private

         { Private declarations }

       public

         { Public declarations }

       end; 

     var

       Form1: TForm1; 

     implementation 

     {$R *.dfm} 

procedure TForm1.Button1Click(Sender: TObject);

var  s,a,g,h,l,v0,t,y:real;

       avod:integer;

begin

     v0:=strtofloat(edit1.Text);

     g:=9.8;

     s:=pi/180;

     chart1.Series[0].Clear;

     chart2.Series[0].Clear; 

     for avod:=10 to 81 do

         begin

     a:=avod*s;

     l:=(v0*v0*sin(2*a))/g;

     h:=(v0*v0*sin(a)*sin(a))/(2*g);

     Chart1.Series[0].Addxy(avod,l,inttostr(avod),clred);

     Chart2.Series[0].Addxy(avod,h,inttostr(avod),clred);

         end; 

end; 

procedure TForm1.Button2Click(Sender: TObject);

var  a,s,avod,y,v0,g:real;

     x,l:integer;

begin

     v0:=strtofloat(edit1.Text);

     g:=9.81;

     s:=pi/180;

     avod:=strtofloat(edit2.Text);

     a:=avod*s;

     l:=round((v0*v0*sin(2*a))/g); 

     chart3.Series[0].Clear; 

     for x:=0 to l do

         begin

     y:=((sin(a)/cos(a))*x)-(g/2)*((x*x)/(v0*v0*cos(a)*cos(a))); 

     chart3.Series[0].Addxy(x,y,floattostr(x),clred);

     sleep(5);

     repaint;

         end; 

end; 

procedure TForm1.Button3Click(Sender: TObject);

var  x,c,avod,y,dt,vx,vx1,vy1,vy,m,ak,bk,g,v,v0,s,a,l,h,

     lmax,hmax,aopt1,aopt2:real;

     cvod:integer;

begin

     v0:=strtofloat(edit1.Text);

     g:=9.81;

     m:=strtofloat(edit5.Text);

     ak:=strtofloat(edit3.Text);

     bk:=strtofloat(edit4.Text);

     s:=pi/180;

     avod:=strtofloat(edit2.Text);

     a:=avod*s;

     dt:=0.01;

     v:=v0; 

     chart4.Series[0].Clear; 

     vx:=v*cos(a);

     vy:=v*sin(a);

     y:=0;

     x:=0; 

     repeat

     chart4.Series[0].AddXY(x,y,floattostr((round(x*1000))/1000),clred); 

     application.ProcessMessages;

     sleep(5); 

     vx:=vx - (ak*vx/m + bk*vx*vx*vx/m)*dt;

     vy:=vy - (g + ak*vy/m + bk*vy*vy*vy/m)*dt; 

     x:=x+vx*dt;

     y:=y+vy*dt; 

     for cvod:=0 to 80 do

         begin

     c:=cvod*s;

     vx1:=v0*cos(c);

     vy1:=v0*sin(c);

     vx1:=vx1 - (ak*vx1/m + bk*vx1*vx1*vx1/m)*dt;

     vy1:=vy1 - (g + ak*vy1/m + bk*vy1*vy1*vy1/m)*dt;

     l:=(vx1*vx1*sin(2*c))/g;

     h:=(vy1*vy1*sin(c)*sin(c))/(2*g); 

     if l>lmax then

         begin

     lmax:=l;

     aopt1:=c;

         end; 

     if h>hmax then

         begin

     hmax:=h;

     aopt2:=c;

         end; 

label7.Caption:='Длина полета максимальная: ' + floattostr(round(lmax*1000)/1000) + #13 + 'угол при максимальной длине полета: ' + floattostr(round(aopt1*1000/s)/1000) + #13 + 'Висота полета максимальная: ' + floattostr(round(hmax*1000)/1000) + #13 + 'угол при максимальной высоте полета: ' + floattostr(round(aopt2*1000/s)/1000) + #13;

         end; 

     until y<0;

         end; 

procedure TForm1.Button4Click(Sender: TObject);

begin

     close;

end; 

end. 
 
 
 

Результаты  работы программы 

      При начальных условиях получим результаты: 

 

     В программе можно изменять все  начальные условия. В первом случае использовались данные для камня весом 200 грамм брошенного с начальной скоростью 20 м/с.

     Рассмотрим, например, баскетбольный мяч. Его  масса равно 600 грамм, он брошенный  под углом 80° с начальной скоростью 30 м/с. Применим эти значения, а коэффициенты оставим прежними: 

Информация о работе Решение физической задачи и ее интерпретация в делфи