На оси абцисс найти такую точку, сумма расстояний, которой до точек А и В-наименьшая для всех точек - PascalABC.NET

Узнай цену своей работы

Формулировка задачи:

Даны действительные числа х1,у1,х2,у2(х1 не равен х2),которые определяют 2 точки А(х1,у1) и В(х2,у2).На оси абцисс найти такую точку,сумма расстояний,которой до точек А и В-наименьшая для всех точек этой оси. Аналитическая геометрия 9-10 класс,нашёл формулу по нахождению расстояния и получению сумму но результаты совсем не те. Сначала решил решить при помощи уравнения прямой через 2 точки с нахождением коэффициента и приравниваю к нулю,и последующего нахождения х. Но выяснилось что такой код неверен и неверно считает коэффициенты.
Немного подправил и в просторах интернета нашёл другую формулу для нахождения точки с суммой расстояний. И вот здесь интересно ваше мнение,правильно ли я двигаюсь. или же в 1-ом варианте нужна доработка.

Решение задачи: «На оси абцисс найти такую точку, сумма расстояний, которой до точек А и В-наименьшая для всех точек»

textual
Листинг программы
program labwork1;
var
  x, x1, y1, x2, y2: real;
  k, b: real;
begin
writeln('Введите координаты точки А');
readln(x1, y1);
writeln('Введите координаты точки В');
readln(x2, y2);
if (y1 = 0) and (y2 = 0) then
 begin
  if x1<x2 then  writeln('x любое значение от ',x1:0:1,' до ',x2:0:1)
  else writeln('x любое значение от ',x2:0:1,' до ',x1:0:1);
 end
else if y1=0 then x:=x1
else if y2=0 then x:=x2
else
 begin
  if (y1 * y2 > 0) then y1 := -y1;
  k := (y2 - y1) / (x2 - x1);
  b := (x2 * y1 - y2 * x1) / (x2 - x1);
  x := -b / k;
 end ;
writeln('Точка, удовлетворяющая условию, на оси x =  ', x:0:1)
end.

Объяснение кода листинга программы

  1. Задаются координаты точек А и В
  2. Проверяется условие задачи: если координаты точек А и В на одной прямой, проходящей через начало координат, то находится точка, удовлетворяющая условию, и выводится её координата x
  3. Если условие не выполняется, то программа выводит сообщение о том, что прямая, проходящая через точки А и В, пересекает ось x в произвольном месте

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4 из 5
Похожие ответы