Изобразить, как одна точка догоняет другую - Turbo Pascal

Формулировка задачи:

Здравствуйте! Подскажите, пожалуйста, как реализовать следующее: Две точки появляются на расстоянии друг от друга, одна точка идет по какой-то траектории, а вторая догоняет ее по кратчайшему пути. Точки движутся с заданной скоростью...

Код к задаче: «Изобразить, как одна точка догоняет другую - Turbo Pascal»

textual
uses crt,graph;
procedure tochka(x,y,c:integer;s:string);
begin
setcolor(c);
circle(x,y,2);
setfillstyle(1,c);
floodfill(x,y,c);
outtextXY(x,y-10,s);
end;
var x1,y1,x2,y2:longint;
    dx1,dy1,dx2,dy2:integer;
    r:real;
begin
initgraph(dx1,dy1,'');
x1:=50;y1:=50;
dx1:=3;
x2:=getmaxX div 2;y2:=getmaxY-100;
tochka(x1,y1,9,'1');
tochka(x2,y2,10,'2');
repeat
delay(100);
tochka(x1,y1,0,'1');
tochka(x2,y2,0,'2');
r:=sqrt(sqr(x1-x2)+sqr(y1-y2));
if r>0 then
 begin
  dx2:=round((x1-x2)*5/r);
  dy2:=round((y1-y2)*5/r);
  x1:=x1+dx1;
  x2:=x2+dx2;y2:=y2+dy2;
  tochka(x1,y1,9,'1');
  tochka(x2,y2,10,'2');
 end;
until r<=0;
{нарисуем место встречи}
cleardevice;
tochka(x1+6,y1,9,'1');
tochka(x2,y2,10,'2');
readln
end.
Эта работа вам не подошла?

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

13   голосов, оценка 3.692 из 5


СДЕЛАЙТЕ РЕПОСТ
Похожие ответы