function SideLength(a1, a2, b1, b2: real): real; begin SideLength := sqrt(sqr(a1 - b1) + sqr(a2 - b2)); end;
function Perimeter(a1, a2, b1, b2, c1, c2: real): real; var a, b, c: real; begin a := SideLength(a1, a2, b1, b2); b := SideLength(c1, c2, b1, b2); c := SideLength(a1, a2, c1, c2); Perimeter := a + b + c; end;
begin writeln('Первый треугольник.'); readln(a1, a2, b1, b2, c1, c2); p := Perimeter(a1, a2, b1, b2, c1, c2);
Конечно, так нормальные люди не пишут, но это ради выполнения корявых требований процедуры и функции.
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016 type Point=record x,y:real end;
function Len(A,B:Point):=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y));
procedure Sides(A,B,C:Point; var la,lb,lc:real); begin la:=Len(B,C); lb:=Len(A,C); lc:=Len(A,B) end;
function Perim(a,b,c:real):=a+b+c;
begin var a,b,c:Point; var l1,l2,l3:real; for var i:=1 to 2 do begin Writeln('Вводите парами координаты каждой вершины треугольника;'); Read(a.x,a.y,b.x,b.y,c.x,c.y); Sides(a,b,c,l1,l2,l3); Writeln('Периметр треугольника ',Perim(l1,l2,l3)) end end.
p: real;
a1, b1, c1: real;
a2, b2, c2: real;
function SideLength(a1, a2, b1, b2: real): real;
begin
SideLength := sqrt(sqr(a1 - b1) + sqr(a2 - b2));
end;
function Perimeter(a1, a2, b1, b2, c1, c2: real): real;
var
a, b, c: real;
begin
a := SideLength(a1, a2, b1, b2);
b := SideLength(c1, c2, b1, b2);
c := SideLength(a1, a2, c1, c2);
Perimeter := a + b + c;
end;
begin
writeln('Первый треугольник.');
readln(a1, a2, b1, b2, c1, c2);
p := Perimeter(a1, a2, b1, b2, c1, c2);
writeln('Второй треугольник.');
readln(a1, a2, b1, b2, c1, c2);
writeln(p + Perimeter(a1, a2, b1, b2, c1, c2));
end.