Чтобы задать прямоугольник, достаточно указать координаты концов его диагонали, например, идущей из левого верхнего угла в правый нижний, т.е. две точки: B(x1,y1) и D(x2,y2). Но можно также задать и другую диагональ (AC). Если считать, что стороны прямоугольника параллельны осям координат то длины сторон могут быть найдены как
Тогда можно найти и периметр:
Нахождение периметра оформим процедурой Per(x1,y1,x2,y2,P)
procedure Per(x1,y1,x2,y2:real;var P:real);
begin
P:=2*(abs(x2-x1)+abs(y2-y1))
end;
var
x1,x2,y1,y2,p:real;
begin
Write('Введите координаты любой вершины прямоугольника: ');
Read(x1,y1);
Write('Введите координаты противоположной вершины прямоугольника: ');
Read(x2,y2);
Per(x1,y1,x2,y2,p);
Writeln('Периметр прямоугольника равен ',p)
end.
Тестовое решение:
Введите координаты любой вершины прямоугольника: 5 -7
Введите координаты противоположной вершины прямоугольника: -4 12
Периметр прямоугольника равен 56