Найти меньшую диагональ параллелограмма - Pascal ABC
Формулировка задачи:
Найти наименьшую из диагоналей параллелограмма АВСД, если известны координаты его вершин. Проверить, является ли данный четырехугольник параллелограммом
пожалуста решите только полностю
Решение задачи: «Найти меньшую диагональ параллелограмма»
textual
Листинг программы
type
tPoint=record
x,y:integer;
end;
var
a,b,c,d:tPoint;
lA,lB,lC,lD,lE,lF:real;
{процедура ввода координат}
procedure ReadPoint(var a:tPoint;b:char);
begin
write('Enter ',b,'.x:=');
readln(a.x);
write('Enter ',b,'.y:=');
readln(a.y);
end;
{процедура вычисления растояний между точками}
function Range(a,b:tPoint):real;
begin
Range:=sqr(abs(a.x-b.x))+sqr(abs(a.y-b.y));
end;
begin
{вводим координаты}
ReadPoint(a,'A');
ReadPoint(b,'B');
ReadPoint(c,'C');
ReadPoint(d,'D');
{считаем растояния между точками}
lA:=Range(a,b);
lB:=Range(b,c);
lC:=Range(c,d);
lD:=Range(a,d);
lE:=Range(a,c);
lF:=Range(b,d);
{проверяем достаточные условия параллелограмма}
if((lE+lF)=(lA+lB+lC+lD))and(lA=lC)and(lB=lD)
then if lE>lF then writeln('Result BD:=',sqrt(lF))
else writeln('Result AC:=',sqrt(lE))
else writeln('wrong parallelogram');
end.
Объяснение кода листинга программы
- Тип данных для представления точки в пространстве - tPoint.
- Объявление переменных: a, b, c, d - точки в пространстве; lA, lB, lC, lD, lE, lF - расстояния между точками.
- Процедура ReadPoint используется для ввода координат точки в пространство.
- Функция Range вычисляет расстояние между двумя точками в пространстве.
- Ввод координат точек A, B, C, D.
- Вычисление расстояний между точками A и B, B и C, C и D, A и D.
- Проверка условий параллелограмма: (lE+lF)=(lA+lB+lC+lD), lA=lC, lB=lD.
- Если условия выполняются, то выводится меньшая диагональ параллелограмма (lE или lF).
- Если условия не выполняются, то выводится сообщение
wrong parallelogram.