Две прямые описываются уравнениями:
`a_1x+b_1y+c_1=0`;
`a_2x+b_2y+c_2=0`.

Напечатать координаты точки пересечения этих прямых, либо сообщить, что эти прямые совпадают, не пересекаются или вовсе не существуют.
Паскаль зфтш

Тётко Тётко    3   25.03.2020 18:44    4

Ответы
HOHOL666 HOHOL666  11.05.2020 02:22

Типовая задача на разбор случаев. Разбирать случаи будем не простым последовательным перечислением, а более сложной конструкцией из вложенных условных операторов.

Решение задачи.

Var a1, b1, c1, {коэффициенты уравнения первой прямой}

    a2,b2,c2, {коэффициенты уравнения второй прямой}

    x, y : Real; {координаты точки пересечения }

BEGIN

ReadLn( a1, b1, c1);

ReadLn( a2, b2, c2);

 If ( (a1=0) and (b1=0) ) or ( (a2=0) and (b2=0) )

 then WriteLn( 'это не прямая (прямые). ' )

 else

  if (a1*b2=a2*b1) and (a1*c2=a2*c1) {условие совпадения}

   then WriteLn( 'прямые совпадают.' )

   else

    if a1*b2 = a2*b1 {условие параллельности}

     then WriteLn('прямые параллельны.')

     else begin x:=(c1*b2-c2*b1)/(b1*a2-b2*a1);

         y:=(c2*a1-c1*a2)/(b1*a2-b2*a1);

         WriteLn('координаты точки пересечения :',

        ' x = ', x : 5 : 2 , ', y = ', y : 5 : 2);

          end;

END.

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика