uses crt;
var R,k,b,x1,y1,x2,y2,d,a,b1,c:real;
begin
clrscr;
write('Введите радиус окружности R=');
readln(R);
writeln('Введите коэффициенты уравнения прямой k,b:');
readln(k,b);
a:=k*k+1;
b1:=2*k*b;
c:=b*b-r*r;
d:=b1*b1-4*a*c;
if d<0 then writeln('Точек пересечения нет.')
else if d=0 then
begin
x1:=-b1/(2*a);
y1:=k*x1+b;
writeln('Прямая касается окружности в точке x=',x1:0:2,' y=',y1:0:2);
end
else if d>0 then
begin
x1:=(-b1+sqrt(d))/(2*a);
y1:=k*x1+b;
x2:=(-b1-sqrt(d))/(2*a);
y2:=k*x2+b;
writeln('Прямая пересекает окружность в двух точках:');
writeln('x1=',x1:0:2,' y1=',y1:0:2,' x2=',x2:0:2,' y2=',y2:0:2);
if(x1>0)and(y1>0)then writeln('Точка x1 в первой четверти')
else if(x1<0)and(y1>0)then writeln('Точка x1 во второй четверти')
else if(x1<0)and(y1<0)then writeln('Точка x1 в третьей четверти')
else if(x1>0)and(y1<0)then writeln('Точка x1 в четвертой четверти');
if(x2>0)and(y2>0)then writeln('Точка x2 в первой четверти')
else if(x2<0)and(y2>0)then writeln('Точка x2 во второй четверти')
else if(x2<0)and(y2<0)then writeln('Точка x2 в третьей четверти')
else if(x2>0)and(y2<0)then writeln('Точка x2 в четвертой четверти')
end;
end.