@Vano01rus

Pascal. Почему не выдает строку прямая и окружность не пересекаются? При значениях 1 1 2?

Uses crt;
var a,r0,b,x0,y0,x1,y1:real;
begin
writeln('Введите значение a');
readln(a);
writeln('Введите значение r0(радиуса окружности');
readln(r0);
writeln('Введите значение b');
readln(b);
x0:=-((sqrt((sqr(a)+1)*sqr(r0)-sqr(b))+(a*b))/(a*a+1));
y0:=((b-a)*sqrt((sqr(a)+1)*sqr(r0)-sqr(b)))/(sqr(a)+1);
x1:=((sqrt((sqr(a)+1)*sqr(r0)-sqr(b))-(a*b))/(a*a+1));
y1:=(a*sqrt((sqr(a)+1)*sqr(r0)-sqr(b))+b)/(a*a+1);
if (sqrt(sqr(a)+1*sqr(r0)-sqr(b)) >= 0) then
begin
writeln('Первая точка пересечения c координатами х и у');
writeln(x0);
writeln(y0);
writeln('Вторая точка пересечения c координатами х и у');
writeln(x1);
writeln(y1);
end
else
begin
writeln('Прямая и окружность не пересекаются или условия не соблюдены');
end;
if (sqrt(sqr(a)+1*sqr(r0)-sqr(b)) >= 0) and (x0=x1) and (y0=y1)
then
begin
writeln('Точка пересечения c координатами х и у');
writeln(x0);
writeln(y0);
end
end.
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы