Ю1.23

Задача

Треугольник  задается координатами своих вершин на плоскости: [latex]A\left(x_{1};y_{1} \right)[/latex], [latex] B\left(x_{2};y_{2} \right)[/latex], [latex] C\left(x_{3};y_{3} \right)[/latex].
Найти сумму длин медиан данного треугольника.

Тесты:

[latex]x_{1}[/latex] [latex]y_{1}[/latex] [latex]x_{2}[/latex] [latex]y_{2}[/latex] [latex]x_{3}[/latex] [latex]y_{3}[/latex] Результат Прохождение теста
0 4 0 7 0 2 Не является треугольником… Пройден
51 0 97 0 68 0 Не является треугольником… Пройден
1 7 3 13 6 22 Не является треугольником… Пройден
0 3 0 0 4 0 10.3775 Пройден
0 0 1 1.7320 2 0 5.1960 Пройден

Исходный код программы:

Алгоритм:

  1. Вводим переменные;
  2. Вводим координаты точек [latex]A[/latex], [latex]B[/latex], [latex]C[/latex];
  3. Используем условный оператор для выделения частного случая.
    • Если точки будут лежать на одной прямой, то медиан, как и самого треугольника не может быть в принципе. Для проверки  используем уравнение прямой, проходящей через две несовпадающие точки: [latex]\frac{y-y_{1}}{y_{2}-y_{1}}=\frac{x-x_{1}}{x_{2}-x_{1}}[/latex]. С помощью эквивалентных преобразований получаем формулу:[latex]\left(y_{2}-y_{1} \right) \left(x-x_{1}\right)-\left(y-y_{1} \right) \left(x_{2}-x_{1}\right)=0[/latex] c помощью которой (подставив вместо [latex]x[/latex] и [latex]y[/latex]  [latex]x_{3}[/latex] и [latex]y_{3}[/latex] соответственно) сможем определить, находятся ли данные точки на одной прямой).
    • В случае, если точки не находятся на одной прямой, находим длины  отрезков соединяющих середины сторон с противоположными им вершинами(эти отрезки и являются медианами); (Координаты середин отрезков находим по формулам: [latex]\frac{\left(x_{1}+x_{2} \right)}{2}[/latex], [latex]\frac{\left(y_{1}+y_{2} \right)}{2}[/latex], где [latex]\left(x_{1};y_{1} \right)[/latex] и [latex]\left(x_{2};y_{2} \right)[/latex] — координаты концов отрезка, середину которого мы находим. Длину медианы находим по формуле: [latex]AB=\sqrt{\left(x_{1}-x_{2} \right)^{2}+\left(y_{1}-y_{2} \right)^{2}}[/latex] , где  [latex]\left(x_{1};y_{1} \right)[/latex] и [latex]\left(x_{2};y_{2} \right)[/latex] — координаты точек [latex]A[/latex] и [latex]B[/latex] соответственно).
  4. Находим сумму длин этих отрезков. (Простое сложение).

 

6 thoughts on “Ю1.23

  1. «где (x1-y1)» пропущена запятая перед где и опечатка (минус) в формуле.

    То что Вы назвали уравнением прямой, является условием того, что точка (x3,y3) принадлежит прямой, заданной аналогичным уравнением, только в котором вместо x3 — x , вместо y3 записан y. (Обычно в уравнении прямой переменные обозначаются как x и y). Чтобы получить условие нужно подставить x3, y3 вместо x, y.

  2. И все таки перед «где …. — координаты концов» запятой не хватает, пишем [некоторая формула] [запятая] где [что-то] [тире] [объяснение что].
    «Координаты точек» и далее само название точек (A, B, и т.д.), как формулы.
    После двоеточий и до открывающих скобок должны быть пробелы (если конечно строка не начинается на открывающую скобку или не кончатся на двоеточие).

  3. Я немного подправил форматирование Вашего текста. Если на Ваш взгляд стало хуже, то всегда можно вернуться к старому варианту.
    Я бы не стал задавать исходные данные со столькими знаками после запятой. Это делает таблицу очень широкой и по сути ничего не проверяет. Или я ошибаюсь?

Добавить комментарий