1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Семакин
Работа 3.3 Упр.19 Задание 1 ГДЗ Семакин 10 класс (Информатика)
Семакин, Хеннер, Шеина
10 класс
Автор
Семакин, Хеннер, Шеина

Работа 3.3 Упр.19 Задание 1 ГДЗ Семакин 10 класс (Информатика)

Задача

Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 19. Найти координаты точек пересечения прямой у = kx + b и окружности радиуса R с центром в начале координат. В каких координатных четвертях находятся точки пересечения? Если точек пересечения нет или прямая касается окружности, выдать соответствующее сообщение. *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-3/zad1/19 98

Подробный ответ

Подставим уравнение прямой $$y=kx+b$$ в уравнение окружности с центром в начале координат:

$$x^2+y^2=R^2$$

Получим квадратное уравнение относительно $$x$$:

$$x^2+(kx+b)^2=R^2$$

$$x^2+k^2x^2+2kbx+b^2-R^2=0$$

$$ (k^2+1)x^2+2kbx+(b^2-R^2)=0 $$

Обозначим:

$$a=k^2+1,\quad b_1=2kb,\quad c=b^2-R^2$$

Тогда дискриминант:

$$D=b_1^2-4ac$$

Если $$D<0$$, то точек пересечения нет.

Если $$D=0$$, прямая касается окружности, и есть одна точка касания:

$$x=-\frac{b_1}{2a},\quad y=kx+b$$

Если $$D>0$$, то точки пересечения две:

$$x_1=\frac{-b_1-\sqrt{D}}{2a},\quad x_2=\frac{-b_1+\sqrt{D}}{2a}$$

$$y_1=kx_1+b,\quad y_2=kx_2+b$$

По знакам координат определяем координатные четверти точек.

var k,b,r,aa,bb,cc,d,x1,x2,y1,y2: real;
begin
  write(‘k=’);
  readln(k);
  write(‘b=’);
  readln(b);
  write(‘R=’);
  readln(r);
  aa:=k*k+1;
  bb:=2*k*b;
  cc:=b*b-r*r;
  d:=bb*bb-4*aa*cc;
  if d<0 then
  begin
    writeln(‘Нет точек пересечения’);
    halt;
  end;
  if d=0 then
  begin
    x1:=-bb/(2*aa);
    y1:=k*x1+b;
    writeln(‘A(‘,x1,’,’,y1,’)’);
    halt;
  end;
  x1:=(-bb-sqrt(d))/(2*aa);
  x2:=(-bb+sqrt(d))/(2*aa);
  y1:=k*x1+b;
  y2:=k*x2+b;
  writeln(‘A(‘,x1,’,’,y1,’)’);
  writeln(‘B(‘,x2,’,’,y2,’)’);
end.

Ответ

Программа находит точки пересечения прямой и окружности, а при отсутствии пересечений или касании выводит соответствующее сообщение.



Общая оценка
4.3 / 5
Другие учебники
Другие предметы