Даны четыре точки. Определить, являются ли они вершинами параллелограмма - Free Pascal
Формулировка задачи:
Помогите решить.
Даны четыре точки A1(x1, y1), A2(x2, y2), A3(x3, y3), A4(x4, y4). Определить, будут ли они вершинами параллелограмма.
Решение задачи: «Даны четыре точки. Определить, являются ли они вершинами параллелограмма»
textual
Листинг программы
uses crt;
const t=0.00001;
procedure Sered(x1,y1,x2,y2:real;var xs,ys:real);
begin
xs:=(x1+x2)/2;
ys:=(y1+y2)/2;
end;
var x1,y1,x2,y2,x3,y3,x4,y4,sx1,sy1,sx2,sy2:real;
begin
clrscr;
writeln('Введите координаты вершин в порядке обхода:');
writeln('Вершина 1:');
write('x=');readln(x1);
write('y=');readln(y1);
writeln('Вершина 2:');
write('x=');readln(x2);
write('y=');readln(y2);
writeln('Вершина 3:');
write('x=');readln(x3);
write('y=');readln(y3);
writeln('Вершина 4:');
write('x=');readln(x4);
write('y=');readln(y4);
Sered(x1,y1,x3,y3,sx1,sy1);
writeln('Координаты середины диагонали 1-3:');
writeln(sx1:0:2,' ',sy1:0:2);
Sered(x2,y2,x4,y4,sx2,sy2);
writeln('Координаты середины диагонали 2-4:');
writeln(sx2:0:2,' ',sy2:0:2);
if(abs(sx1-sx2)<t)and(abs(sy1-sy2)<t)then write('Это параллелограмм')
else write('Это не параллелограмм');
readln
end.
Объяснение кода листинга программы
- Объявление переменных и использование библиотеки CRT
- Ввод координат вершин параллелограмма
- Вычисление координат середин диагоналей параллелограмма
- Проверка условием параллельности сторон параллелограмма
- Вывод результата проверки на экран
- Ожидание ввода для завершения программы