• Решить в паскале :
    Написать программу, определяющую, является ли фигура квадратом. Вершины квадрата задаются координатами точек.

Ответы 1

  • // PascalABC.NET 3.2, сборка 1356 от 04.12.2016// Внимание! Если программа не работает, обновите версию!type  Point=record    x,y:real;    name:char  end;  Vector=record    x,y,l:real;  end;function CreatePoint(px,py:real):Point;begin  With Result do begin    x:=px;    y:=py;  endend;function CreateVector(A,B:Point):Vector;begin  With Result do begin    x:=B.x-A.x;    y:=B.y-A.y;    l:=Sqrt(x*x+y*y)  endend;  function IsNormal(A,B:Vector):=Abs(B.x*A.x+B.y*A.y)<=1e-6;begin  var x,y:real;  Write('Введите координаты x и y точки A: '); Read(x,y);  var A:=CreatePoint(x,y);  Write('Введите координаты x и y точки B: '); Read(x,y);  var B:=CreatePoint(x,y);  var AB:=CreateVector(A,B);  Write('Введите координаты x и y точки C: '); Read(x,y);  var C:=CreatePoint(x,y);  var BC:=CreateVector(B,C);  if Abs(AB.l-BC.l)>1e-6 then begin    Writeln('Стороны AB и BC не равны');    Exit    end;  if not IsNormal(AB,BC) then begin    Writeln('Стороны AB и BC не перпендикулярны');    Exit    end;  Write('Введите координаты x и y точки D: '); Read(x,y);  var D:=CreatePoint(x,y);  var CD:=CreateVector(C,D);  if Abs(AB.l-CD.l)>1e-6 then begin    Writeln('Стороны AB и CD не равны');    Exit    end;  var AD:=CreateVector(D,A);  if Abs(AB.l-AD.l)>1e-6 then Writeln('Стороны AB и ADC не равны')  else Writeln('Точки образуют квадрат с точностью не ниже 0.000001')end.ПримерЗдесь заданы координаты квадрата, сдвинутого относительно осей координат и повернутого на угол 30 градусов против часовой стрелки. Поэтому числа такие "некруглые".Введите координаты x и y точки A: -0.4641 -4.4641Введите координаты x и y точки B: 3.5359 2.4641Введите координаты x и y точки C: 10.4641 -1.5359Введите координаты x и y точки D: 6.4641 -8.4641Точки образуют квадрат с точностью не ниже 0.000001
    • Автор:

      janae
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years