Заданы координаты середины сторон треугольника а(45,67; 67,89), в(12,34; 56,78), с(90,12; 34,56) в ответе, с точностью до 10-2 (дробную часть от целой отделяя точкой), указать координаты точки а, через один пробел, например: 12.12 15.01

kuleminaIV kuleminaIV    1   12.06.2019 07:50    0

Ответы
Aik145 Aik145  09.07.2020 21:49
Чертеж дан в приложении. E, F, K - это точки с задданными координатами., расположенные на серединах сторон треугольника ABC.
Для этих точек можно записать известные соотношения:
X_E=0.5(X_A+X_B); \ Y_E=0.5(Y_A+Y_B); \\ X_F=0.5(X_A+X_C); \ Y_F=0.5(Y_A+Y_C); \\ X_K=0.5(X_B+X_C); \ Y_K=0.5(Y_B+Y_C);
Приведем их к целочисленным коэффициентам.
2X_E=X_A+X_B; \ 2Y_E=Y_A+Y_B; \\ 2X_F=X_A+X_C; \ 2Y_F=Y_A+Y_C; \\ 2X_K=X_B+X_C; \ 2Y_K=Y_B+Y_C;
Сложим все три уравнения отдельно для X и Y:
2(X_E+X_F+X_K)=2(X_A+X_B+X_C); \\ 2(Y_E+Y_F+Y_K)=2(Y_A+Y_B+Y_C);
Теперь можно записать выражения для нахождения координат вершины А:
X_A=X_E+X_F+X_K-(X_B+X_C); \ X_B+X_C=2X_K; \\ X_A=X_E+X_F-X_K \\ Y_A=Y_E+Y_F+Y_K-(Y_B+Y_C); \ Y_B+Y_C=2Y_K; \\ Y_A=Y_E+Y_F-Y_K

Окончательно расчетные формулы:
X_A=X_E+X_F-X_K; \ Y_A=Y_E+Y_F-Y_K

var
  xE, yE, xF, yF, xK, yK, xA, yA: real;

begin
  Write('Введите через пробел координаты точки E(x,y): ');
  Readln(xE, yE);
  Write('Введите через пробел координаты точки F(x,y): ');
  Readln(xF, yF);
  Write('Введите через пробел координаты точки K(x,y): ');
  Readln(xK, yK);
  xA := xE + xF - xK; yA := yE + yF - yK;
  Writeln('Координаты точки А: ', xA:0:2, ' ', yA:0:2)
end.

Тестовое решение:

Введите через пробел координаты точки E(x,y): 45.67 67.89
Введите через пробел координаты точки F(x,y): 12.34 56.78
Введите через пробел координаты точки K(x,y): 90.12 34.56
Координаты точки А: -32.11 90.11

Тот самый, нередкий случай, когда программа гораздо проще и короче, чем сопутствующие ей математические выкладки.

Заданы координаты середины сторон треугольника а(45,67; 67,89), в(12,34; 56,78), с(90,12; 34,56) в о
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика