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

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

Задача
  1. Написать программу, определяющую, будут ли прямые $$A_1x+B_1y+C_1=0$$ и $$A_2x+B_2y+C_2=0$$ перпендикулярны. Если нет, то найти угол между ними.
Подробный ответ

Для прямых $$A_1x + B_1y + C_1 = 0$$ и $$A_2x + B_2y + C_2 = 0$$ угловые коэффициенты равны

$$k_1 = -\frac{A_1}{B_1}, \qquad k_2 = -\frac{A_2}{B_2}.$$

Прямые перпендикулярны тогда и только тогда, когда

$$k_1k_2 = -1,$$

то есть

$$A_1A_2 + B_1B_2 = 0.$$

Если это условие не выполняется, угол между прямыми находим по формуле

$$\tan \varphi = \left|\frac{k_1-k_2}{1+k_1k_2}\right|.$$

Подставляя $$k_1 = -\frac{A_1}{B_1}$$ и $$k_2 = -\frac{A_2}{B_2}$$, получаем

$$\varphi = \arctan \left|\frac{A_1B_2-A_2B_1}{A_1A_2+B_1B_2}\right|.$$

Ниже приведена программа на Pascal, которая сначала проверяет, что введённые коэффициенты действительно задают прямую, а затем выводит либо сообщение о перпендикулярности, либо угол между прямыми.

var a1, b1, c1, a2, b2, c2: integer;
u: real;
begin
  repeat
    writeln(‘Введите коэффициенты первой прямой:’);
    readln(a1, b1, c1);
    if (a1 = 0) and (b1 = 0) then
      writeln(‘Это не прямая, повторите ввод.’);
  until (a1 <> 0) or (b1 <> 0);

  repeat
    writeln(‘Введите коэффициенты второй прямой:’);
    readln(a2, b2, c2);
    if (a2 = 0) and (b2 = 0) then
      writeln(‘Это не прямая, повторите ввод.’);
  until (a2 <> 0) or (b2 <> 0);

  if a1 * a2 + b1 * b2 = 0 then
    writeln(‘Прямые перпендикулярны’)
  else
  begin
    u := abs(arctan((a1 * b2 — a2 * b1) / (a1 * a2 + b1 * b2)) * 180 / pi);
    writeln(‘Прямые не перпендикулярны, угол=’, u:0:2);
  end;
  readln;
end.

Ответ

Программа определяет, перпендикулярны ли прямые, и при необходимости вычисляет угол между ними по формуле $$\varphi = \arctan \left|\frac{A_1B_2-A_2B_1}{A_1A_2+B_1B_2}\right|.$$



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