
Вопрос задан 23.02.2021 в 06:16.
Предмет Информатика.
Спрашивает Федотова Алена.
Дана точка A(x, y). Определить, принадлежит ли она прямоугольнику с вершинами в точках (x1, y1),
(x2, y2), (x3, y3) , (x4, y4). Паскаль. Помогите с программкой. Срочно!

Ответы на вопрос

Отвечает Мишина Арина.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var n:=4;
var xp:=new real[n];
var yp:=new real[n];
Writeln('Введите парами координаты четырех вершин');
for var i:=0 to n-1 do Read(xp[i],yp[i]);
var (x,y):=ReadReal2('Введите координаты точки:');
var (i,j,c):=(0,n-1,False);
while i<n do begin
if ((yp[i]<=y) and (y<yp[j]) or (yp[j]<=y) and (y<yp [i]))
and (x<(xp[j]-xp[i])*(y-yp[i])/(yp[j]-yp[i])+xp[i]) then c:=not c;
j:=i; i+=1;
end;
if c then Writeln('Внутри')
else Writeln('Не внутри')
end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=4;
var xp:=new real[n];
var yp:=new real[n];
Writeln('Введите парами координаты четырех вершин');
for var i:=0 to n-1 do Read(xp[i],yp[i]);
var (x,y):=ReadReal2('Введите координаты точки:');
var (i,j,c):=(0,n-1,False);
while i<n do begin
if ((yp[i]<=y) and (y<yp[j]) or (yp[j]<=y) and (y<yp [i]))
and (x<(xp[j]-xp[i])*(y-yp[i])/(yp[j]-yp[i])+xp[i]) then c:=not c;
j:=i; i+=1;
end;
if c then Writeln('Внутри')
else Writeln('Не внутри')
end.



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Конечно! Вот пример программы на языке Паскаль, которая проверяет, принадлежит ли точка A(x, y) прямоугольнику с заданными вершинами:
pascalprogram PointInRectangle; var x, y: Integer; x1, y1, x2, y2, x3, y3, x4, y4: Integer; minX, maxX, minY, maxY: Integer; isInside: Boolean; begin { Ввод координат точки A и вершин прямоугольника } Write('Введите координату x точки A: '); Readln(x); Write('Введите координату y точки A: '); Readln(y); Write('Введите координату x1 вершины прямоугольника: '); Readln(x1); Write('Введите координату y1 вершины прямоугольника: '); Readln(y1); Write('Введите координату x2 вершины прямоугольника: '); Readln(x2); Write('Введите координату y2 вершины прямоугольника: '); Readln(y2); Write('Введите координату x3 вершины прямоугольника: '); Readln(x3); Write('Введите координату y3 вершины прямоугольника: '); Readln(y3); Write('Введите координату x4 вершины прямоугольника: '); Readln(x4); Write('Введите координату y4 вершины прямоугольника: '); Readln(y4); { Определение минимальных и максимальных координат прямоугольника } minX := Min(Min(x1, x2), Min(x3, x4)); maxX := Max(Max(x1, x2), Max(x3, x4)); minY := Min(Min(y1, y2), Min(y3, y4)); maxY := Max(Max(y1, y2), Max(y3, y4)); { Проверка принадлежности точки A прямоугольнику } isInside := (x >= minX) and (x <= maxX) and (y >= minY) and (y <= maxY); { Вывод результата } if isInside then Writeln('Точка A принадлежит прямоугольнику.') else Writeln('Точка A не принадлежит прямоугольнику.'); Readln; end.
Программа запрашивает координаты точки A и вершин прямоугольника, а затем определяет, принадлежит ли точка A прямоугольнику. Результат выводится на экран.


Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
Предметы
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili