alenih13
?>

Модель құру кезіндегі-іс әрекет және құралдарды сипаттаныз

Информатика

Ответы

gassvetlana
Чертеж дан в приложении. 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) в о
kv135549
Программа вставляет перед элементом, кратным 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.

*** Исходный массив ***
 23 22 27 16 45 42 15 13 27 31
*** Массив-результат ***
 23 22 27 16 99 45 42 99 15 13 27 31

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Модель құру кезіндегі-іс әрекет және құралдарды сипаттаныз
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

saint158
moidela87
joini09
marani2
askorikova
oafanasiev41
lele4kass
Николаевна1564
Михайловна991
galkavik
Babushkina27
APerova3464
tagirova1
Pastel-sova
Sergei