Ирина Анатольевна
Просветленный
(20125)
5 лет назад
Решение на Pascal ABC
1) вариант (более доступный)
var xa, ya, xb, yb, xc, yc, ma, mb, mc: real;
begin
write ('введите координаты точки A(Xa, Ya) через пробел = ');
readln (xa, ya);
write ('введите координаты точки B(Xb, Yb) через пробел = ');
readln (xb, yb);
write ('введите координаты точки C(Xc, Yc) через пробел = ');
readln (xc, yc);
ma:= sqrt(sqr((max(xb,xc)-min(xb,xc))/2+min(xb,xc) - xa) + sqr((max(yb,yc)-min(yb,yc))/2+min(yb,yc) - ya));
mb:= sqrt(sqr((max(xa,xc)-min(xa,xc))/2+min(xa,xc) - xb) + sqr((max(ya,yc)-min(ya,yc))/2+min(ya,yc) - yb));
mc:= sqrt(sqr((max(xb,xa)-min(xb,xa))/2+min(xb,xa) - xc) + sqr((max(yb,ya)-min(yb,ya))/2+min(yb,ya) - yc));
if ma < mb then ma:=mb;
if ma < mc then ma:=mc;
writeln ('Наибольшая медиана треугольника = ', ma:0:2,' ед.');
end.
2) вариант (посложнее, интереснее)
var xa, ya, xb, yb, xc, yc: real;
begin
write ('введите координаты точки A(Xa, Ya) через пробел = ');
readln (xa, ya);
write ('введите координаты точки B(Xb, Yb) через пробел = ');
readln (xb, yb);
write ('введите координаты точки C(Xc, Yc) через пробел = ');
readln (xc, yc);
writeln ('Наибольшая медиана треугольника = ', max(sqrt(sqr((max(xb,xc)-min(xb,xc))/2+min(xb,xc) - xa) + sqr((max(yb,yc)-min(yb,yc))/2+min(yb,yc) - ya)), max(sqrt(sqr((max(xa,xc)-min(xa,xc))/2+min(xa,xc) - xb) + sqr((max(ya,yc)-min(ya,yc))/2+min(ya,yc) - yb)),sqrt(sqr((max(xb,xa)-min(xb,xa))/2+min(xb,xa) - xc) + sqr((max(yb,ya)-min(yb,ya))/2+min(yb,ya) - yc)))):0:2,' ед.');
end.