Решить в паскале : написать программу, определяющую, является ли фигура квадратом. вершины квадрата координатами точек.
217
364
Ответы на вопрос:
// 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 раза.
Популярно: Информатика
-
ProKingcool01.05.2023 21:25
-
IKarapuzikI09.01.2023 10:26
-
123456789115526.03.2020 20:34
-
диана247121.05.2021 00:52
-
helpplizzzz17.01.2023 01:42
-
Султи107.08.2022 13:48
-
yarik2803200123.03.2020 04:32
-
wdsgsdgeqwr17.01.2023 01:13
-
simakanna23.11.2021 21:46
-
lavin99719.01.2022 12:01