0карма

Кто разбирается в pascal!

Дано три точки на плоскости.Определите можно ли построить треугольник с вершинами в заданных точках. 1)Определите тип треугольника.2)Найдите площадь и периметр.

НАПИШИТЕ ПРОГРАММУ ПОЖАЛУЙСТА( ОЧЕНЬ НАДО
P.S. НА БУМАГЕ НЕ МОГУ НИ ЧЕ НЕ МОГУ :D

0карма

Виктор Очки4
const Eps = 0.001;
type Ptype = record X, Y : Real; end;
procedure InputP(N : Byte; var P : Ptype); begin Write('X', N, ' ='); ReadLn(P.X); Write('Y', N, ' ='); ReadLn(P.Y); end;
function LenSq(P1, P2 : Ptype):Real; begin LenSq = (P1.X-P2.X)*(P1.X-P2.X)+(P1.Y-P2.Y)*(P1.Y-P2.Y); end;
var P : array [1..3] of Ptype; L12, L13, L23, PP : Real;
begin
InputP(1, P[1]); InputP(2, P[2]); InputP(3, P[3]); L12 := LenSq(P[1], P[2]); L13 := LenSq(P[1], P[3]); L23 := LenSq(P[2], P[3]);
if (L12 < Eps) and (L13 < Eps) and (L23 < Eps) then WriteLn('Треугольник вырожден в точку. ') else if (L12 < Eps) or (L13 < Eps) or (L23 < Eps) then WriteLn('Треугольник вырожден в прямую. ') else begin
if (L12 - L13]) < Eps) and (L13 - L23 < Eps) then WriteLn('Треугольник равносторонний') else if (L12 - L13 - L23 < Eps) or (L13 - L12 - L23 < Eps) or (L23 - L12 - L13 < Eps) then WriteLn('Треугольник прямоугольный. ') else WriteLn('Треугольник общего вида. ');
L12 := Sqrt(L12); L13 := Sqrt(L13); L23 := Sqrt(L23);
PP := (L12 + L13 + L23) / 2;
WriteLn('Площадь =', Sqrt(PP*(PP-L12)*(PP-L13)*(PP-L23)):0:4);
WriteLn('Периметр =', PP*2:0:4);
end;
end.

Напишите свой ответ и получите баллы

Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

...