uses graph;
var
gd, gm: Integer;
procedure _Line(x1, y1, x2, y2: Integer);
var
x, y, h: Integer;
k: double;
begin
x := 0;
y := 0;
h := 1; { шаг между точками по X }
k := (y2 - y1) / (x2 - x1); { угловой коэффициент линии }
while (x1 + x) <= x2 do
begin
PutPixel(x1 + x, y1 + y, white);
x := x + h;
y := round(k * x);
end;
end;
begin
gd := Detect;
InitGraph(gd, gm, 'c:\bp\bgi');
if GraphResult <> grOk then
halt;
_Line(50, 50, 400, 200);
readln;
CloseGraph;
end.