Предмет: Информатика,
автор: mihan456
Даны 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
проверяла по основным свойствам. и все остальное верно
Похожие вопросы
Предмет: Математика,
автор: vdovchenko773388
Предмет: Биология,
автор: Аноним
Предмет: Другие предметы,
автор: Irisha5101
Предмет: Математика,
автор: 098765432121
Предмет: Математика,
автор: Аноним