Даны 4 точки A1(x1,y1), A2(x2,y2), A3(x3,y3), A4(x4,y4). Определить, будут ли они...

0 голосов
89 просмотров

Даны 4 точки A1(x1,y1), A2(x2,y2), A3(x3,y3), A4(x4,y4). Определить, будут ли они вершинами параллелограмма. Нужно решить на Pascal, но без использования мудренных команда.


Информатика (15 баллов) | 89 просмотров
0

И откуда нам всем знать, какие "команда" Вы относите к "мудренным" ?

Дан 1 ответ
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.

(53.1k баллов)
0

Жаль только, не описана идея, лежащая в основе программы.

0

проверка стандартных свойств. паралельность и равенство противоположных сторон

0

Т.е. Вы вы предположили, что точки расположены в порядке обхода вершин, а также, что прямоугольник и квадрат - тоже параллелограммы. Но тогда можно было и проще решить: в параллелограмме диагонали пересекаются в одной точке.... )))

0

проверяла по основным свойствам. и все остальное верно