USES Graph; {подключен модуль Graph}
VAR x,y,h:integer;
PROCEDURE GrInit; {процедура инициализации режима графики}
VAR
GraphDriver: Integer; {для графического адаптера}
GraphMode : Integer; {для графического режима}
ErrorCode : Integer; {для кода ошибки}
BEGIN
GraphDriver :=Detect; {режим автоопределения}
InitGraph(GraphDriver ,GraphMode,''); {инициализация}
ErrorCode :=GraphResult; {результат инициализации}
if ErrorCode <> grOk then {если не успешно,то...}
begin
Writeln('Ошибка графики:',GraphErrorMsg(ErrorCode ));
Writeln('Программа остановлена.');
Halt(1)
end {if}
END;
BEGIN
GrInit; {вызов инициализации}
x:=GetMaxX div 2;
y:=GetMaxY div 2;
h:= 30; {кол-во шагов до финиша}
while x+y>0 do
begin
ClearDevice;
Circle(x, y, 10);
Delay(100);
x:= x + GetMaxX div h;
y:= y - GetMaxy div h;
end;
Readln; {пауза до нажатия }
CloseGraph; {закрытие графического режима}
END.