Добрые люди, помогите пожалуйста с решением..(Паскаль АВС  (процедуры)       Составить и отладить программу для вычисления площади произвольного четырехугольника по заданным координатам его вершин, определив функции для вычисле...

Добрые люди, помогите пожалуйста с решением..(Паскаль АВС  (процедуры)        Составить и отладить программу для вычисления площади произвольного четырехугольника по заданным координатам его вершин, определив функции для вычисления длин сторон и нахождения площади треугольников. (Паскаль АВС) Препод задал, но ничего не объяснил... Завтра уже сдавать лаб.работу. Решается вопрос автомата в зимней сессии.
Гость
Ответ(ы) на вопрос:
Гость
// PascalABC.Net 3.0, сборка 1066 type   Point=record   x,y:double;   end; procedure GetPoint(c:char; var M:point); begin   Write('введите координаты точки ',c,': ');   Read(M.x,M.y) end; function L(A,B:Point):double; begin   Result:=sqrt(sqr(B.x-A.x)+sqr(B.y-A.y)) end; function S(A,B,C:Point):double; var   p,la,lb,lc:double; begin   la:=L(A,B); lb:=L(B,C); lc:=L(C,A);   if (la+lb>lc) and (la+lc>lb) and (lb+lc>la) then begin     p:=0.5*(la+lb+lc);     Result:=sqrt(p*(p-la)*(p-lb)*(p-lc))     end   else     Result:=0 end; var   A,B,C,D:Point;   S1,S2:double; begin   GetPoint('A',A);   GetPoint('B',B);   GetPoint('C',C);   GetPoint('D',D);   S1:=S(A,B,C);   if S1=0 then Write('По точкам А,В,С нельзя построить треугольник')   else begin     S2:=S(C,D,A);     if S2=0 then Write('По точкам C,D,A нельзя построить треугольник')     else Writeln('Площадь четырехугольника равна ',S1+S2)   end end. Тестовое решение: введите координаты точки A: -5 -7 введите координаты точки B: -2 4 введите координаты точки C: 5 9 введите координаты точки D: 9 -3 Площадь четырехугольника равна 123
Не нашли ответ?
Ответить на вопрос
Похожие вопросы