Определить по координатам точек, являются ли они вершинами параллелограмма - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

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

Решение задачи: «Определить по координатам точек, являются ли они вершинами параллелограмма»

textual
Листинг программы
uses crt;
type point=record  //тип точка
           x,y:real;
           end;
const t=0.001;//точность сравнения вещественных чисел
var a,b,c,d:point;
begin
writeln('Введите координаты 4 точек, не лежащих на 1 прямой:');
readln(a.x,a.y,b.x,b.y,c.x,c.y,d.x,d.y);
//если прямые попарно вертикальны
if(((a.x=b.x)and(c.x=d.x)) or((a.x=c.x)and(b.x=d.x)) or((a.x=d.x)and(b.x=c.x))
//или угловые коэффициенты попарно равны
or((abs((a.y-b.y)/(a.x-b.x)-(c.y-d.y)/(c.x-d.x))<t))
or((abs((a.y-c.y)/(a.x-c.x)-(b.y-d.y)/(b.x-d.x))<t))
or((abs((a.y-d.y)/(a.x-d.x)-(b.y-c.y)/(b.x-c.x))<t)))
then write('Это вершины параллелограмма')
else write('Это не вершины параллелограмма')
end.

Объяснение кода листинга программы

  1. Создается тип данных point, который представляет точку с координатами x и y.
  2. Задаются переменные a, b, c и d типа point для хранения координат точек.
  3. Выводится сообщение для ввода координат 4 точек.
  4. Проверяется, являются ли прямые, соединяющие точки, вертикальными или горизонтальными. Если это так, то выводится сообщение Это вершины параллелограмма.
  5. Если прямые не являются ни вертикальными, ни горизонтальными, то проверяется, равны ли угловые коэффициенты попарно. Если это так, то выводится сообщение Это вершины параллелограмма.
  6. Если ни одно из условий не выполняется, то выводится сообщение Это не вершины параллелограмма.

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы