Даны 4 точки A1(x1,y1), A2(x2,y2), A3(x3,y3), A4(x4,y4). Определить, будут ли они вершинами параллелограмма. Нужно решить на Pascal, но без использования мудренных команда.
Ответы
Ответ дал:
0
var
x1, x2, x3, x4, y1, y2, y3, y4: real;
function VectorLength(x1, y1, x2, y2: real): real;
begin
VectorLength := sqrt(sqr(x1 - x2) + sqr(y1 - y2));
end;
function VectorSlope(x1, y1, x2, y2: real): real;
begin
VectorSlope := (y1 - y2) / (x1 - x2);
end;
begin
readln(x1, y1);
readln(x2, y2);
readln(x3, y3);
readln(x4, y4);
if (VectorLength(x1, y1, x2, y2) = VectorLength(x4, y4, x3, y3))
and (VectorSlope(x1, y1, x2, y2) = VectorSlope(x4, y4, x3, y3)) then
writeln('Yes')
else writeln('No');
end.
x1, x2, x3, x4, y1, y2, y3, y4: real;
function VectorLength(x1, y1, x2, y2: real): real;
begin
VectorLength := sqrt(sqr(x1 - x2) + sqr(y1 - y2));
end;
function VectorSlope(x1, y1, x2, y2: real): real;
begin
VectorSlope := (y1 - y2) / (x1 - x2);
end;
begin
readln(x1, y1);
readln(x2, y2);
readln(x3, y3);
readln(x4, y4);
if (VectorLength(x1, y1, x2, y2) = VectorLength(x4, y4, x3, y3))
and (VectorSlope(x1, y1, x2, y2) = VectorSlope(x4, y4, x3, y3)) then
writeln('Yes')
else writeln('No');
end.
Ответ дал:
0
Жаль только, не описана идея, лежащая в основе программы.
Ответ дал:
0
проверка стандартных свойств. паралельность и равенство противоположных сторон
Ответ дал:
0
Т.е. Вы вы предположили, что точки расположены в порядке обхода вершин, а также, что прямоугольник и квадрат - тоже параллелограммы. Но тогда можно было и проще решить: в параллелограмме диагонали пересекаются в одной точке.... )))
Ответ дал:
0
проверяла по основным свойствам. и все остальное верно
Похожие вопросы
2 года назад
2 года назад
7 лет назад
7 лет назад
9 лет назад
9 лет назад
10 лет назад