program HeronTriangleArea;
uses
Math; { for sqrt }
function HeronArea(a, b, c: Real): Real;
var
s: Real;
begin
s := (a + b + c) / 2.0; { semi-perimeter }
HeronArea := sqrt(s * (s - a) * (s - b) * (s - c));
end;
var
a, b, c, area: Real;
begin
a := 6;
b := 9;
c := 13;
{ Check validity of triangle }
if (a + b > c) and (a + c > b) and (b + c > a) then
begin
area := HeronArea(a, b, c);
WriteLn('Area of the triangle = ', area:0:4);
end
else
WriteLn('Invalid triangle sides!');
end.
(*
run:
Area of the triangle = 23.6643
*)