Вопрос задан 02.05.2020 в 01:18. Предмет Информатика. Спрашивает Грекова Екатерина.

Входные данные Шесть чисел – координаты центра и радиус окружности и коэффициенты A, B и C

нормального уравнения прямой. Выходные данные В первой строке одно число K, равное количеству точек пересечения прямой с окружностью. Далее в K строках координаты самих точек. Примеры входные данные 2 3 1 1 -1 0 выходные данные 2 3.00000 3.00000 2.00000 2.00000
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Оразбай Куандык.

PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018

Внимание! Если программа не работает, обновите версию!

begin

 var xc, yc, R, A, B, C: real;

 Read(xc, yc, R, A, B, C);

 var alpha := A * A + B * B;

 var beta := 2 * (xc * A * B - yc * A * A + B * C);

 var gamma := 2 * xc * A * C + Sqr(xc * A) + C * C + Sqr(yc * A) - Sqr(R * A);

 var D := Sqr(beta) - 4 * alpha * gamma;

 if D < 0 then Println(0)

 else

 if D = 0 then

 begin

   var y := -beta / (2 * alpha);

   var x := -(B * y + C) / A;

   Println(1);

   Writeln('x=', x:0:5, '   y=', y:0:5)

 end

   else

 begin

   D := Sqrt(D);

   var y := (-beta - D) / (2 * alpha);

   var x := -(B * y + C) / A;

   Println(2);

   Writeln('x=', x:0:5, '   y=', y:0:5);

   y := (-beta + D) / (2 * alpha);

   x := -(B * y + C) / A;

   Writeln('x=', x:0:5, '   y=', y:0:5)

 end

end.

Пример

2 3 1 1 -1 0

2

x=2.00000   y=2.00000

x=3.00000   y=3.00000

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос