z_pendulm.PAS

7ooo.ru

7ooo.ru

7ooo.ru

{* Координаты точки подвеса математического маятника *}

Unit Z_PENDULM;
Interface
Implementation
Begin
 writeln('Координаты точки подвеса математического маятника и координаты одной из точек его наивысшего подъема');
End.

Program z_pendulum;

Uses z_pendulm.pas; {* Эту строку можно удалить *}
Uses crt; {* Вызов внешних функций *}
Var {* В работе нам потребуются переменные: *}
  PointAx : real;
  PointAy : real;
  PointAz : real;
  PointBx : real;
  PointBy : real;
  PointBz : real;
Begin
  clrscr; {* Стираем всё с экрана *}
  writeln('Введите координаты точки подвеса математического маятника, точки A');
  writeln('Введите координату x точки A');
  readln(PointAx);
  writeln('Введите координату y точки A');
  readln(PointAy);
  writeln('Введите координату z точки A');
  readln(PointAz);
  writeln; {* Пустая строка *}
  writeln('Введите координаты одноий из точек наивысшего подъема, точки B');
  writeln('Введите координату x точки B');
  readln(PointBx);
  writeln('Введите координату y точки B');
  readln(PointBy);
  writeln('Введите координату z точки B');
  readln(PointBz);
  writeln; {* Вывод пустой строки *}
  writeln('Координаты самой низкой точки траектории маятника');
  writeln('X = ', PointAx : 0 : 2, ' Y = ',(PointAy - sqrt(sqr(PointAx - PointBx) +    sqr(PointAy - PointBy) + sqr(PointAz - PointBz))) : 0 : 2, ' Z = ', PointAz : 0 : 2);
  writeln('Координаты второй наивысшей точки');
  writeln('X = ', PointAx + PointAx - PointBx : 0 : 2, ' Y = ', PointBy : 0 : 2, ' Z = ', PointAz + PointAz - PointBz : 0 : 2);
  readln; {* Ждем нажатия Enter *}
End.