Помогите пожалуйста найти ошибку...
Условие задачи таково, что нужно определить является ли 4-ехугольник с заданными координатами квадратом,ромбом или трапецией... Все случаи проверяются нормально, но не работает отрицание, когда 4-ехугольник не явялется квадратом,ромбом или трапецией. Помогите разобраться. Есть ли какие-нибудь замечанию по поводу оптимальности кода? Можно ли сократить кол-во проверок и тд?
Код:
if (a=b) and (c=d) and (a=d)
then begin
if bd<>ac then
edit9.text:=('Точки образуют ромб')
else if bd=ac then edit9.text:=('Точки образуют квадрат')
end
else
if (b<>d) or (a<>c) then
begin
if ((x3-x2)/(x4-x1)=(y3-y2)/(y4-y1)) or ((x1-x2)/(x4-x3)=(y1-y2)/(y4-y3)) then
edit9.text:=('Точки образуют трапецию')
else if (y3-y2=0) and (y4-y1=0) and (b<>d) then
edit9.text:=('Точки образуют трапецию')
else if (y1-y2=0) and (y4-y3=0) and (a<>c) then
edit9.text:=('Точки образуют трапецию');
end
else edit9.Text:=('Четырехугольник не является квадратом,ромбом или трапецией');
end;