В
Все
Х
Химия
В
Видео-ответы
А
Алгебра
Г
Геометрия
О
ОБЖ
Д
Другие предметы
У
Українська література
Р
Русский язык
Б
Беларуская мова
У
Українська мова
Э
Экономика
Ф
Физика
М
Математика
Ф
Французский язык
Г
География
И
Информатика
М
МХК
О
Окружающий мир
П
Психология
Н
Немецкий язык
О
Обществознание
П
Право
И
История
М
Музыка
Л
Литература
Қ
Қазақ тiлi
Б
Биология
А
Английский язык
rega1122
rega1122
20.09.2022 07:26 •  Информатика

РЕАЛЬНО ХЕЛП, САМА НИКАК НЕ МОГУ ОАОАОАОАО

Ответ:
Alekseev709
Alekseev709
13.08.2020 11:54

Эти прямые, записанные как функции f(x):

f1(x) = ax + b

f2(x) = cx + d

В точке пересечения прямых значения функций равны. Поэтому, приравняем их друг другу и решим получившееся уравнение:

ax + b = cx + d

ax - cx = d - b

(a - c)*x = d - b

x = (d - b) / (a - c)

Так находится координата икс точки пересечения. Далее находится игрек простой подстановкой найденного значения икс в любую из двух исходных функций (пускай в первую функцию).

Также, возможны частные случаи, которые надо предусмотреть в программе:

1) Если a = c но b ≠ d. Такие прямые параллельны друг другу, и не имеют точек пересечения. При попытке решения уравнения (см.выше) иксы сократятся, и получится всегда (при любом икс) неверное равенство вида 0 = b - d.

2)  Если a = c и b = d. То есть, были введены одинаковые уравнения прямых (задана дважды одна и та же прямая, т.е. все точки этих уравнений совпадают). При попытке решения уравнения (см.выше) иксы сократятся, и b, d -тоже, и получится всегда (при любом икс) верное равенство вида 0 = 0.

Сама программа (на Паскале):

var

x, y, a, b, c, d: real;

begin

Writeln('Ввод коэффициентов уравнений двух прямых:');

Write('a= ');

Read(a);

Write('b= ');

Read(b);

Write('c= ');

Read(c);

Write('d= ');

Read(d);

if a = c then

begin

if b = d then

Writeln('Задана дважды одна и та же прямая. Все точки совпадают.')

else

Writeln('Заданы параллельные прямые. Точек пересечения нет.');

exit

end;

x := (d - b) / (a - c);

y := a * x + b;

Writeln('Координаты точки пересечения прямых:');

Writeln('x= ', x);

Writeln('y= ', y);

end.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?