Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите написать программу на экзамен.
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
armoured
расчитать время через которое необходимо выпустить снаряд (под углом) чтоб попасть в пролетающий со строго определенной скоростью на строго определенной высоте самолет.Смоделировать модель. Сам попытался сделать за самолет и снаряд взял 2 шарика, а время до выпуска снаряда не знаю как расчитать. Можно ли сделать секундомер который будет включатся в начале запуска программы и останавливаться во время запуская снаряда(второго шарика)?


program exp;
Uses crt,Graph;
var x1,y1,y,x,Device,Mode,gd :integer;
begin
Device:=0;
Gd:= Detect;
InitGraph (Device,Mode,'c:\bp\bgi');
Readln;
y:=110;
x:=40;
y1:=400;
x1:=230;
repeat
repeat
Repeat
Repeat
Setcolor(White);
Circle(x,110,14);
delay(5000);
Setcolor(Black);
Circle(x,110,14);
delay(1000);
x:=x+2;
until x>130;
Setcolor(4);
Circle(x1,y1,5);
Setcolor(Black);
delay(5000);
Circle(x1,y1,5);
delay(2000);
x1:=x1+1;
y1:=y1-3;
until y1<110;
delay(1000);
until x>230;
until keypressed;
end.
Lapp
Цитата(armoured @ 28.06.2010 11:57) *
время до выпуска снаряда не знаю как расчитать. Можно ли сделать секундомер который будет включатся в начале запуска программы и останавливаться во время запуская снаряда(второго шарика)?

armoured, если делать по-человечески, то нужно ввести все физические величины и все рассчитывать по физическим формулам. И сделать функции для пересчета физических координат в экранные.


Момент стрельбы найдется из системы уравнений:

Xсамолета + Vсамолета*t = Xпушки + Vснаряда*cos(a)*(t-tвыстрела)
Vснаряда*sin(a)*(t-tвыстрела) = Hсамолета

Тут Xсамолета - жто начальное положение самолета, все остальное вроде и так понятно..
Неизвестные величины - t и tвыстрела. Решаешь систему и нажодишь все.
Графика - как я уже сказал - через проекцию физических координат в экранные.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.