Тема: в чему помилка?
глобал:
var
h,//Висота
Vob,//Об'єм
v, //швидкість
pr,//густина речовини
pt,//Густина тіла
Cop,//коефіціент опору повітря
Cf, //коефіціє опору води
Spl, //площа
Ft, //сила тяжіння
Fa //сила архімеда
:real;
ma, //масса
a,b,c //сторони
:integer;
Mas:string;
const
g=9.8;
dt=0.01;
m=100;
головні данні
procedure TForm1.Button1Click(Sender: TObject);
begin
h:=5;
v:=0;
Mas:=(edit1.Text);
ma:=Strtoint(mas);
Timer1.Enabled :=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
Ft:=ma*g;
Fa:=Pr*g*Vob;
v:=sqrt(2*g*h)*cop;
h:=h-v*dt;
if h<=2 then
begin
If Pt<Pr then
begin
v:=((ma*g)*(Pr/Pt-1));
if h<=1 then
begin
v:=-(SQRT(2*Vob*g*(Pr-Pt)/(Cf*Pr*Spl)));//тут помилка, тіло не змінює напрямок на протилежний
if h>=2 then timer1.Enabled:=false;
end;
end;
end;
if h<=0.4 then Timer1.Enabled :=false;
Shape1.Top:=Panel1.ClientHeight-round(h*m);
end;
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
if ComboBox1.Text = 'Вода' then Pr:=1000;
if ComboBox1.Text = 'Спирт' then Pr:=785;
end;
procedure TForm1.ComboBox2Change(Sender: TObject);
begin
if ComboBox2.Text = 'Дуб' then Pt:=700;
if ComboBox2.Text = 'Дерево' then Pt:=450;
end;
procedure TForm1.ComboBox3Change(Sender: TObject);
var
r:real;
begin
if ComboBox3.Text = 'Куб' then
begin
a:=40; b:=40;
Shape1.Shape:=stRectangle;
Shape1.Width:=a;
Shape1.Height:=b;
Cop:=1.11;
Cf:=1.05;
Spl:=6*sqr(a)*a;
Vob:=sqr(a)*a*(ma/Pt);
end;
if ComboBox3.Text = 'Сфера' then
begin
a:=40; b:=40;
Shape1.Shape:=stEllipse;
Shape1.Width:=a;
Shape1.Height:=b;
Cop:=0.4;
Cf:=0.47;
r:=a/2;
Spl:=4*3.14*sqr(r);
Vob:=(4/3)*3.14*sqr(r)*r;
end;
end;
Як ви бачите на формі Panel1, a в ній Shape1. На формі також таймер, 3 комбо бокса та едіт))
Допоможіть...