Проверить принадлежность точки (0;0) треугольнику с координатами вершин: (x1,y1), (x2,y2), (x3,y3).- Pascal(Паскаль)

const alpha=0.001;
 
function l(x, y : real) : real;
begin
  l := sqrt(sqr(x)+sqr(y));
end;
 
function geron(a, b, c : real) : real;
begin
  geron := sqrt((a + b + c)*(a + b - c)*(a - b + c)*(-a + b + c))/4;
end;
 
var
  x1, x2, x3, y1, y2, y3, a, b, c : real;
 
begin
Writeln('Vvedite koordinati treugolnika: ');
write('x1 = '); readln(x1);
write('y1 = '); readln(y1);
write('x2 = '); readln(x2);
write('y2 = '); readln(y2);
write('x3 = '); readln(x3);
write('y3 = '); readln(y3);
a:=l(x2-x1, y2-x1);
b:=l(x3-x2, y3-x2);
c:=l(x1-x3, y1-y3);
if (abs(a + b - c)>=alpha) or (abs(a + c - b)>=alpha) or (abs(b + c - a)>=alpha) 
    then writeln('Eto ne treugolnik')
else begin
   if(geron(l(x1, y1), l(x2, y2), l(x2-x1, y2-y1))+
      geron(l(x2, y2), l(x3, y3), l(x3-x2, y3-y2))+
      geron(l(x3, y3), l(x1, y1), l(x1-x3, y1-y3))-
      geron(l(x2-x1, y2-x1), l(x3-x2, y3-x2), l(x1-x3, y1-y3)))<alpha
      then writeln('To4ka lezit vnutri treugolnika')
   else writeln('To4ka lezit vne treugolnika');
end;
readln;
end.

Leave a Comment

99 − 94 =