// PascalABC.NET 3.0, сборка 1144 от 16.01.2016type Point=record x,y:real end;function GetPoint(c:char):Point;begin Writeln('Введите координаты точки ',c,':'); Read(Result.x,Result.y)end;function Line(A,B:Point):real;begin Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y))end;function SqTriangle(pA,pB,pC:Point):real;begin var a:=Line(pB,pC); var b:=Line(pA,pC); var c:=Line(pA,pB); if (a+b>c) and (a+c>b) and (b+c>a) then begin var p:=(a+b+c)/2; Result:=sqrt(p*(p-a)*(p-b)*(p-c)) end else Result:=0end;begin var A:=GetPoint('A'); var B:=GetPoint('B'); var C:=GetPoint('C'); Writeln('Площадь треугольника равна ',SqTriangle(A,B,C))end.
Тестовое решение:Введите координаты точки A:-5 3.18Введите координаты точки B:1.45 6.2Введите координаты точки C:6 -5.93Площадь треугольника равна 45.98975