М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
ROMA706
ROMA706
09.09.2021 06:26 •  Информатика

Даны три точки а(х1,y1), b(x2,y2) и c(x3,y3). определить, будут ли они расположены на одной прямой. если да, то указать координаты точки попавшей внутрь отрезка. напишите программу в pascal, .

👇
Ответ:
Полина33337
Полина33337
09.09.2021
Известно уравнение прямой, проходящей через две точки A(x₁,y₁) и B(x₂,y₂). Если третья точка C(x₃,y₃) лежит на этой же прямой, то после подстановки её координат уравнение обращается в тождество
\displaystyle \frac{x-x_1}{x_2-x_1}= \frac{y-y_1}{y_2-y_1} \to \frac{x_3-x_1}{x_2-x_1} \equiv \frac{y_3-y_1}{y_2-y_1}
Следовательно, нужно проверить, выполняется ли это тождество для заданных координат.
В этом тождестве есть одна неприятная вещь: если y₂=y₁ и/или x₂=x₁, то в знаменателе получается ноль, чему компьютер уж точно не обрадуется. Поэтому такой случай надо рассмотреть отдельно, исходя из геометрического смысла.
Если же y₂≠y₁ и x₂≠x₁, можно привести тождество к более удобному виду:
\displaystyle \frac{x_3-x_1}{x_2-x_1} \equiv \frac{y_3-y_1}{y_2-y_1} \to (x_3-x_1)(y_2-y_1)\equiv (y_3-y_1)(x_2-x_1); \\ p_1=(x_3-x_1)(y_2-y_1), \ p_2=(y_3-y_1)(x_2-x_1), \ p_1\equiv p_2
Поскольку координаты могут быть и не целыми, а такие нецелые ("вещественные") числа представляются в компьютере с ограниченной точностью, тождество может оказаться ложным по причине такой неточности. Для обхода такого случая будем полагать, что два значения равны друг-другу, если их разность по модулю не превышает некоторой малой величины, т.е.:
|p_1-p_2|\leq \epsilon, \ \epsilon=10^{-8}

Вернемся к случаю y₂=y₁. В этом случае прямая параллельна оси Х, т.е. тогда условием принадлежности третьей точки данной прямой будет y₃=y₁ при любом х. То же можно сказать и про случай х₂=х₁, когда следует проверить, что х₃=х₁.

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

// PascalABC.NET 3.0, сборка 1160 от 05.02.2016
var
  x1,y1,x2,y2,x3,y3,p1,p2:real;
  on_line:boolean;
begin
  // Без проверки считаем, что у двух любых точек
  // не может быть одинаковых координат
  Write('Координаты точки А: '); Read(x1,y1);
  Write('Координаты точки B: '); Read(x2,y2);
  Write('Координаты точки C: '); Read(x3,y3);
  if x3=x1 then on_line:=(x2=x1);
  if (not on_line) then
    if y3=y1 then on_line:=(y2=y1);
  if not on_line then begin
    p1:=(x3-x1)/(x2-x1); p2:=(y3-y1)/(y2-y1);
    on_line:=(abs(p1-p2)<1e-8)
    end;
  if on_line then begin
    Writeln('Точки лежат на одной прямой');
    if (x2>x1) and (x2<x3) or (x2>x3) and (x2<x1)
    then Writeln('Точка B внутри')
    else
      if (x3>x1) and (x3<x2) or (x3>x2) and (x3<x1)
      then Writeln('Точка C внутри')
      else
        Writeln('Точка A внутри')
    end
  else
    Writeln('Точки не лежат на одной прямой')
end.

Тестовое решение:
Координаты точки А: 1 2.5
Координаты точки B: 3 3.5
Координаты точки C: -4 0
Точки лежат на одной прямой
Точка A внутри
4,7(6 оценок)
Открыть все ответы
Ответ:
Макс11171
Макс11171
09.09.2021
OCR-версия страницы из учебника (текст страницы, которая находится выше):Отсюда получаем ас = ab и Ьс = Ьа. Из этих двух равенств следует, что ас-Ьс, или (Ь - а) с = 0. Но Ь - а - АВ, с-DC, поэтомуАВ DC = 0, и, значит, АВ J_ CD, что и требовалось доказать.464    Вычислите угол между прямыми АВ и CD, если: а) А (3; -2; 4), В (4; -1; 2), С (6; -3; 2), D (7; -3; 1); б) А (5; -8; -1), В (6; -8; -2), С (7; -5; -И), D (7; -7; -9); в) А (1; 0; 2), В (2; 1; 0), С (0; -2; -4), D (-2; -4; 0); г) А (-6; -15; 7), В (-7; -15; 8), С (14; -10; 9), D (14; -10; 7).465    Дана правильная треугольная призма АВСА1В1С1, в которой ААХ = = л/2АВ (рис. 139, а). Найдите угол между прямыми АСХ и АХВ. РешениеПусть АВ = а, тогда ААХ = v2a. Введем прямоугольную систему координат так, как показано на рисунке 139, б. Вершины А, В, А1т С!имеют следующие координаты (объясните почему): А^~—;|-;0j,В (0; а; 0), А, ; j; aV2 ), С, (0; 0; aV2).Отсюда находим координаты векторов АСХ и ВАХ:ACi{-^#rf;aV2}, ^ ji^;-|;aV2Векторы АСг и ВАг являются направляющими векторами прямых ACj и AlB. Искомый угол ф между ними можно найти по фор-муле (2V    ,i_3a2+la2 + 2(J2!14 4    ,cos Ф = -    --------— = откуда Ф = 60°.;3a2+la2 + 2a2 . ;la2+la2 + 2a2 2\' 4 4    \ 4 4466    В кубе ABCDA^Bfi^D^ точка М лежит на ребре АА,, причем AM : MAj = 3 : 1, а точка N — середина ребра ВС. Вычислите косинус угла между прямыми: а) MN и DDX\ б) MN и BD; в) MN и В,£»; г) MN и Afi.
Как написать сочинение на 255 страница 119
4,5(97 оценок)
Ответ:
VikaBakevich
VikaBakevich
09.09.2021
Uses graphABC;beginsetwindowsize(600,500);setbrushcolor(clMedGray);Ellipse(320,30,490,400);Ellipse(120,30,300,400);setbrushcolor(clCream);Ellipse(335,40,480,380);Ellipse(140,40,280,380);setbrushcolor(clMedGray);Ellipse(100,430,500,130);setbrushcolor(clNavy);Ellipse(250,240,200,310);Ellipse(350,240,400,310);setbrushcolor(clwhite);Ellipse(240,270,220,300);Ellipse(360,270,380,300);
setbrushcolor(clblack);Ellipse(270,330,330,370);line(300,370,300,400);Arc(300,280,120,220,-40);
line(50,350,200,350);line(30,340,190,340);line(10,330,180,330);
line(410,330,570,330);line(400,340,560,340);line(390,350,550,350);
line(240,230,220,150);line(230,230,180,80);line(220,230,180,150);
line(360,230,380,150);line(370,230,430,80);line(380,230,430,150);
end.
4,6(72 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ