function len(A, B: (integer, integer)): real;
begin
result := Sqrt((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2);
end;
function geron(a, b, c: real): real;
var p := (a + b + c) / 2;
result := Sqrt(p * (p - a) * (p - b) * (p - c));
var (x1, y1) := ReadInteger2(); // или ReadReal2() на ваш выбор
var (x2, y2) := ReadInteger2();
var (x3, y3) := ReadInteger2();
var a := len((x1, y1), (x2, y2));
var b := len((x2, y2), (x3, y3));
var c := len((x1, y1), (x3, y3));
if a + b + c > max(a, max(b, c)) * 2 then
Writeln(geron(a, b, c))
else
Writeln('треугольник не существует')
end.
Объяснение:
function len(A, B: (integer, integer)): real;
begin
result := Sqrt((A[0] - B[0]) ** 2 + (A[1] - B[1]) ** 2);
end;
function geron(a, b, c: real): real;
begin
var p := (a + b + c) / 2;
result := Sqrt(p * (p - a) * (p - b) * (p - c));
end;
begin
var (x1, y1) := ReadInteger2(); // или ReadReal2() на ваш выбор
var (x2, y2) := ReadInteger2();
var (x3, y3) := ReadInteger2();
var a := len((x1, y1), (x2, y2));
var b := len((x2, y2), (x3, y3));
var c := len((x1, y1), (x3, y3));
if a + b + c > max(a, max(b, c)) * 2 then
Writeln(geron(a, b, c))
else
Writeln('треугольник не существует')
end.
Объяснение: