profile
Опубликовано 5 лет назад по предмету Информатика от MeLoMaN73

Даны три точки A(x1,y1) B(x2,y2) и C(x3,y3). Определите,будут ли они расположены на одной прямой. Напишите алгоритм на паскале . Срочно надо

  1. Ответ
    Ответ дан magica
    var
    x1, y1, x2, y2, x3, y3, a, b, c, p, s: real;
    begin
    readln(x1, y1, x2, y2, x3, y3);
    a:=sqrt(sqr(abs(x1-x2))+sqr(abs(y1-y2)));
    b:=sqrt(sqr(abs(x2-x3))+sqr(abs(y2-y3)));
    c:=sqrt(sqr(abs(x1-x3))+sqr(abs(y1-y3)));
    p:=(a+b+c)/2;
    s:=sqrt(p*(p-a)*(p-b)*(p-c));
    if s=0 then write('Лежат на одной прямой') else write('Не лежат на одной прямой');
    end.

    Объясняю. Образуем из этих трёх точек треугольник. a, b, c - стороны треугольника. p - полу-периметр треугольника. s - площадь треугольника. Площадь вычисляется по формуле Герона. Если площадь равна нуля, значит точки лежат на одной прямой. Если нет - не лежат. 
Самые новые вопросы