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

Объявление

Наш баннер

Сайт Обучонок содержит исследовательские работы и проекты учащихся, темы творческих проектов по предметам и правила их оформления, обучающие программы для детей.
Будем благодарны, если установите наш баннер!
Баннер сайта Обучонок
Код баннера:
<a href="https://obuchonok.ru/" target="_blank"> <img src="https://obuchonok.ru/banners/banob2.gif" width="88" height="31" alt="Обучонок. Исследовательские работы и проекты учащихся"></a>
Все баннеры...

В начале тела процедуры проверяется условие обязательного присутствия введенных значений любых двух из трех (t, v, s ) величин для первого пути.


Проводится вычисление неизвестной величины и скорости sk1 (для улучшения визуальных свойств движения реальную скорость делим на 10).

Если выбран только один объект движения, включается таймер с фиксированной величиной пути (555 точек).

Проверяется условие обязательного присутствия введенных значений любых двух из трех (t, v, s ) величин для второго пути и проводится вычисление неизвестной величины.

При выборе второго объекта движения аналогично определяем скорость sk2.
Движение в одном направлении в программе

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


Procedure TForm1.BitBtn1Click(Sender: TObject);
begin
If ((Edit1.Text<>'') and (Edit2.Text<>'')) or ((Edit2.Text<>'') and (Edit3.Text<>''))
or ((Edit1.Text<>'')and(Edit3.Text<>'')) then Begin
If Edit3.Text='' then begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
c:=a*b;
Edit3.Text:=FloatToStr(c);
end;
If Edit2.Text='' then begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit3.Text);
c:=b/a;
Edit2.Text:=FloatToStr(c);
end;
If Edit1.Text='' then begin
a:=StrToInt(Edit2.Text);
b:=StrToInt(Edit3.Text);
c:=b/a;
Edit1.Text:=FloatToStr(c);
end;
sk1:=Round(StrToFloat(Edit2.Text)/10);
If (Image2.Visible=False)and(Image3.Visible=False) then begin
put1:=555;
Timer1.Enabled:=True;
end;
End;
If ((Edit4.Text<>'') and (Edit5.Text<>'')) or ((Edit5.Text<>'') and (Edit6.Text<>''))
or((Edit4.Text<>'')and(Edit6.Text<>'')) then Begin
If Edit6.Text='' then begin
a:=StrToInt(Edit4.Text);
b:=StrToInt(Edit5.Text);
c:=a*b;
Edit6.Text:=FloatToStr(c);
end;
If Edit5.Text='' then begin
a:=StrToInt(Edit4.Text);
b:=StrToInt(Edit6.Text);
c:=b/a;
Edit5.Text:=FloatToStr(c);
end;
If Edit4.Text='' then begin
a:=StrToInt(Edit5.Text);
b:=StrToInt(Edit6.Text);
c:=b/a;
Edit4.Text:=FloatToStr(c);
end;
If (Image2.Visible=True)or(Image3.Visible=True) then begin
sk2:=Round(StrToFloat(Edit5.Text)/10);
p1:=StrToFloat(Edit3.Text);
p2:=StrToFloat(Edit6.Text);
If p1<=p2 then begin
put1:=Round(p1*555/p2);put2:=555;
end
else begin
put2:=Round(p2*555/p1);put1:=555;
end;
Timer1.Enabled:=True; Timer2.Enabled:=True;
end;
End;
end;

Объявление

Статистика