zadach473.PAS

{* Задача 473 *}

Unit ZADACH473;
Interface
Implementation
Begin
 writeln('

Описать подпрограмму-процедуру, определяющую координаты центра тяжести (точку О(x0, y0)) системы материальных частиц с координатами Mi(xi, yi) и с массами mi (должны быть заданы три массива xi, yi, mi для задания одной системы частиц) по следующим формулам:


В главной программе для двух заданных систем материальных частиц выяснить не совпадают ли их центры тяжести.


'
);
End.

Program zadach473;

Uses zadach473.pas; {* Эту строку можно удалить *}
Const {* Предопределенные *}
  n = 3;
Type {* Используемые типы *}
  mass = Array [1..n] Of integer;
Var {* В работе нам потребуются переменные: *}
  i                  : integer;
  x                  : mass;
  y                  : mass;
  m                  : mass;
  x01                : real;
  y01                : real;
  x02                : real;
  y02                : real;
Procedure Centr (x : mass;
y                  : mass;
m                  : mass;
Var {* Объявление переменных *}
  x0 : real);
  y0 : real);
Var {* Объявление переменных *}
  s1 : integer;
  s2 : integer;
  s3 : integer;
  d  : mass;
  c  : mass;
Begin
  s1 := 0;
  s2 := 0;
  s3 := 0;
  For i := 1 To n Do {* Цикл для i => [1 .. n] *}
  Begin
    d[i] := m[i] * x[i];
    c[i] := m[i] * y[i];
  End;
  For i := 1 To n Do {* Переменная i увеличивается с 1 до n *}
  Begin
    s1 := s1 + m[i];
    s2 := s2 + d[i];
    s3 := s3 + c[i];
  End;
  x0 := s2 / s1;
  y0 := s3 / s1;
End;
Begin
  writeln ('Введите массив x');
  For i := 1 To 3 Do {* Переменная i увеличивается с 1 до 3 *}
    readln (x[i]);
  writeln ('Введите массив y');
  For i := 1 To 3 Do {* Переменная i увеличивается с 1 до 3 *}
    readln (y[i]);
  writeln ('Введите массив m');
  For i := 1 To 3 Do {* Цикл для i => [1 .. 3] *}
    readln (m[i]);
  Centr (x, y, m, x01, y01);
  writeln ('Координаты центра тяжести 1 системы = ', x01, ' ', y01);
  writeln ('Введите массив x');
  For i := 1 To 3 Do {* Переменная i увеличивается с 1 до 3 *}
    readln (x[i]);
  writeln ('Введите массив y');
  For i := 1 To 3 Do {* Цикл для i => [1 .. 3] *}
    readln (y[i]);
  writeln ('Введите массив m');
  For i := 1 To 3 Do {* Цикл для i => [1 .. 3] *}
    readln (m[i]);
  Centr (x, y, m, x02, y02);
  writeln ('Координаты центра тяжести 2 системы = ', x02, ' ', y02);
  If (x01 = x02) And (y01 = y02) Then
    writeln ('Совпадают')
  Else writeln ('Не совпадают');
End.