Есть ответ 👍

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

217
364
Посмотреть ответы 2

Ответы на вопрос:

Tyyyooo
4,7(2 оценок)

// 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;   end end; 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)   end end;   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

Легко же, ответ будет в) начальное значение не берём, затем переделываем в массив (1,6,5,3,4,2), затем переделываем, начиная со 2-ого по 6-ой элемент. получается (1,2,4,3,5,6). переделываем с 3-его по 4-ый элемент и получаем конечный результат - (1,2,3,4,5,6). переделывали 3 раза. 

Популярно: Информатика