program TriangleSides;
uses
SysUtils, Math;
type
Point = record
X, Y: Double;
end;
function Distance(P1, P2: Point): Double;
begin
Exit(Sqrt(Sqr(P2.X - P1.X) + Sqr(P2.Y - P1.Y)));
end;
function IsRightTriangle(a, b, c: Double): Boolean;
begin
Exit(Sqr(a) + Sqr(b) = Sqr(c));
end;
procedure SortSides(var a, b, c: Double);
var
temp: Double;
begin
if a > b then
begin
temp := a;
a := b;
b := temp;
end;
if a > c then
begin
temp := a;
a := c;
c := temp;
end;
if b > c then
begin
temp := b;
b := c;
c := temp;
end;
end;
var
A, B, C: Point;
AB, BC, AC: Double;
begin
// Ввод координат точек
A.X := 0; A.Y := 0; // Точка A (0, 0)
B.X := 3; B.Y := 4; // Точка B (3, 4)
C.X := 3; C.Y := 0; // Точка C (3, 0)
// Вычисление длин отрезков
AB := Distance(A, B);
BC := Distance(B, C);
AC := Distance(A, C);
// Упорядочивание длин
SortSides(AB, BC, AC);
// Вывод упорядоченных длин сторон
WriteLn('Упорядоченные длины отрезков:');
WriteLn('AB: ', AB:0:2);
WriteLn('BC: ', BC:0:2);
WriteLn('AC: ', AC:0:2);
// Проверка на прямоугольный треугольник
if IsRightTriangle(AB, BC, AC) then
WriteLn('Отрезки являются сторонами прямоугольного треугольника.')
else
WriteLn('Отрезки не являются сторонами прямоугольного треугольника.');
ReadLn;
end.
cHJvZ3JhbSBUcmlhbmdsZVNpZGVzOwoKdXNlcwogIFN5c1V0aWxzLCBNYXRoOwoKdHlwZQogIFBvaW50ID0gcmVjb3JkCiAgICBYLCBZOiBEb3VibGU7CiAgZW5kOwoKZnVuY3Rpb24gRGlzdGFuY2UoUDEsIFAyOiBQb2ludCk6IERvdWJsZTsKYmVnaW4KICBFeGl0KFNxcnQoU3FyKFAyLlggLSBQMS5YKSArIFNxcihQMi5ZIC0gUDEuWSkpKTsKZW5kOwoKZnVuY3Rpb24gSXNSaWdodFRyaWFuZ2xlKGEsIGIsIGM6IERvdWJsZSk6IEJvb2xlYW47CmJlZ2luCiAgRXhpdChTcXIoYSkgKyBTcXIoYikgPSBTcXIoYykpOwplbmQ7Cgpwcm9jZWR1cmUgU29ydFNpZGVzKHZhciBhLCBiLCBjOiBEb3VibGUpOwp2YXIKICB0ZW1wOiBEb3VibGU7CmJlZ2luCiAgaWYgYSA+IGIgdGhlbgogIGJlZ2luCiAgICB0ZW1wIDo9IGE7CiAgICBhIDo9IGI7CiAgICBiIDo9IHRlbXA7CiAgZW5kOwogIGlmIGEgPiBjIHRoZW4KICBiZWdpbgogICAgdGVtcCA6PSBhOwogICAgYSA6PSBjOwogICAgYyA6PSB0ZW1wOwogIGVuZDsKICBpZiBiID4gYyB0aGVuCiAgYmVnaW4KICAgIHRlbXAgOj0gYjsKICAgIGIgOj0gYzsKICAgIGMgOj0gdGVtcDsKICBlbmQ7CmVuZDsKCnZhcgogIEEsIEIsIEM6IFBvaW50OwogIEFCLCBCQywgQUM6IERvdWJsZTsKYmVnaW4KICAvLyDQktCy0L7QtCDQutC+0L7RgNC00LjQvdCw0YIg0YLQvtGH0LXQugogIEEuWCA6PSAwOyBBLlkgOj0gMDsgICAvLyDQotC+0YfQutCwIEEgKDAsIDApCiAgQi5YIDo9IDM7IEIuWSA6PSA0OyAgIC8vINCi0L7Rh9C60LAgQiAoMywgNCkKICBDLlggOj0gMzsgQy5ZIDo9IDA7ICAgLy8g0KLQvtGH0LrQsCBDICgzLCAwKQoKICAvLyDQktGL0YfQuNGB0LvQtdC90LjQtSDQtNC70LjQvSDQvtGC0YDQtdC30LrQvtCyCiAgQUIgOj0gRGlzdGFuY2UoQSwgQik7CiAgQkMgOj0gRGlzdGFuY2UoQiwgQyk7CiAgQUMgOj0gRGlzdGFuY2UoQSwgQyk7CgogIC8vINCj0L/QvtGA0Y/QtNC+0YfQuNCy0LDQvdC40LUg0LTQu9C40L0KICBTb3J0U2lkZXMoQUIsIEJDLCBBQyk7CgogIC8vINCS0YvQstC+0LQg0YPQv9C+0YDRj9C00L7Rh9C10L3QvdGL0YUg0LTQu9C40L0g0YHRgtC+0YDQvtC9CiAgV3JpdGVMbign0KPQv9C+0YDRj9C00L7Rh9C10L3QvdGL0LUg0LTQu9C40L3RiyDQvtGC0YDQtdC30LrQvtCyOicpOwogIFdyaXRlTG4oJ0FCOiAnLCBBQjowOjIpOwogIFdyaXRlTG4oJ0JDOiAnLCBCQzowOjIpOwogIFdyaXRlTG4oJ0FDOiAnLCBBQzowOjIpOwoKICAvLyDQn9GA0L7QstC10YDQutCwINC90LAg0L/RgNGP0LzQvtGD0LPQvtC70YzQvdGL0Lkg0YLRgNC10YPQs9C+0LvRjNC90LjQugogIGlmIElzUmlnaHRUcmlhbmdsZShBQiwgQkMsIEFDKSB0aGVuCiAgICBXcml0ZUxuKCfQntGC0YDQtdC30LrQuCDRj9Cy0LvRj9GO0YLRgdGPINGB0YLQvtGA0L7QvdCw0LzQuCDQv9GA0Y/QvNC+0YPQs9C+0LvRjNC90L7Qs9C+INGC0YDQtdGD0LPQvtC70YzQvdC40LrQsC4nKQogIGVsc2UKICAgIFdyaXRlTG4oJ9Ce0YLRgNC10LfQutC4INC90LUg0Y/QstC70Y/RjtGC0YHRjyDRgdGC0L7RgNC+0L3QsNC80Lgg0L/RgNGP0LzQvtGD0LPQvtC70YzQvdC+0LPQviDRgtGA0LXRg9Cz0L7Qu9GM0L3QuNC60LAuJyk7CgogIFJlYWRMbjsKZW5kLg==