Чертеж дан в приложении. E, F, K - это точки с задданными координатами., расположенные на серединах сторон треугольника ABC. Для этих точек можно записать известные соотношения: Приведем их к целочисленным коэффициентам. Сложим все три уравнения отдельно для X и Y: Теперь можно записать выражения для нахождения координат вершины А: Окончательно расчетные формулы:
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
Тот самый, нередкий случай, когда программа гораздо проще и короче, чем сопутствующие ей математические выкладки.
kv135549
05.06.2023
Программа вставляет перед элементом, кратным 5, элемент со значением 99 (чтобы его было видно среди прочих из диапазона [1..50] )
const nm = 20;
var i, j, n, nn: integer; a: array[1..nm] of integer;
begin n := nm div 2; nn := n; Randomize; Writeln('*** Исходный массив ***'); for i := 1 to n do begin a[i] := Random(50) + 1; { [1..50] } Write(a[i]:3) end; for i := n downto 1 do begin if a[i] mod 5 = 0 then begin nn := nn + 1; for j := nn downto i do a[j] := a[j - 1]; a[i] := 99 end end; Writeln(#13#10, '*** Массив-результат ***'); for i := 1 to nn do Write(a[i]:3); Writeln end.
Для этих точек можно записать известные соотношения:
Приведем их к целочисленным коэффициентам.
Сложим все три уравнения отдельно для X и Y:
Теперь можно записать выражения для нахождения координат вершины А:
Окончательно расчетные формулы:
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
Тот самый, нередкий случай, когда программа гораздо проще и короче, чем сопутствующие ей математические выкладки.