Заметим, что точка лежит внутри прямоугольника, если min(x2, x3) < x1 < max(x2, x3) и min(y2, y3) < y1 < max(y2, y3) (см. рисунок).Поэтому поступим так: сначала переставим x2 и x3, чтобы x2 стало меньше x3, потом повторим с y2 и y3, чтобы было y2 < y3. Затем можно проверять, что x2 < x1 < x3 и y2 < y1 < y3.Точка попадёт на границу, если x1 = x2 или x3, а y1 = y2 или y3. Если оба условия не выполнены, то точка лежит вне прямоугольника.Код (Паскаль):var x1, y1, x2, y2, x3, y3, temp: real;begin write('Координаты точки: '); readln(x1, y1); write('Координаты первой вершины: '); readln(x2, y2); write('Координаты второй вершины: '); readln(x3, y3); if x2 > x3 then begin temp := x2; x2 := x3; x3 := temp; end; if y2 > y3 then begin temp := y2; y2 := y3; y3 := temp; end; if (x2 < x1) and (x1 < x3) and (y2 < y1) and (y1 < y3) then writeln('Точка внутри прямоугольника') else if ((x1 = x2) or (x1 = x3)) and ((y1 = y2) or (y1 = y3)) then writeln('Точка на границе прямоугольника') else writeln('Точка вне прямоугольника');end.Можно заменить проверки на такие: если min(x2, x3) < x1 < max(x2, x3), то среди разностей x1 - x2 и x1 - x3 одна положительная, а другая отрицательная. Тогда (x1 - x2)(x1 - x3) < 0. Следовательно, можно проверить только, что (x1 - x2)(x1 - x3) < 0 и (y1 - y2)(y1 - y3) < 0. В случае, когда точка лежит на границе, оба произведения равны нулю.В моей программе произведения записаны в переменные x1 и y1.Код (Паскаль):var x1, y1, x2, y2, x3, y3: real;begin write('Координаты точки: '); readln(x1, y1); write('Координаты первой вершины: '); readln(x2, y2); write('Координаты второй вершины: '); readln(x3, y3); x1 := (x1 - x2) * (x1 - x3); y1 := (y1 - y2) * (y1 - y3); if (x1 < 0) and (y1 < 0) then writeln('Точка внутри прямоугольника') else if (x1 = 0) and (y1 = 0) then writeln('Точка на границе прямоугольника') else writeln('Точка вне прямоугольника');end.