zadach71.PAS

{* Задача 71 *}

Unit ZADACH71;
Interface
Implementation
Begin
 writeln('Найти параметр 10тиугольника, координаты вершин которого заданы. Определить процедуру вычисления расстояния между 2мя точками заданными своими координатами, которые передаются функции в качестве параметров из основной проги. ');
End.

Program pas0;

Uses zadach71.pas; {* Эту строку можно удалить *}
Uses Graph, Crt; {* Подключаем внешние файлы *}
Const {* Постоянные значения *}
  Dimention = 10;
Type {* Используемые типы *}
  TDecart = Record                X, Y : real;
  End;
  TMnogougolnik = Array [1..Dimention] Of TDecart;
Const {* Предопределенные *}
  A : TMnogougolnik = ((X : 0;
  Y : 0),                         (X : 0;
  Y : 10),                         (X : 10;
  Y : 30),                         (X : 30;
  Y : 40),                         (X : 50;
  Y : 90),                         (X : 60;
  Y : 70),                         (X : 40;
  Y : 50),                         (X : 60;
  Y : 40),                         (X : 30;
  Y : 10),                         (X : 10;
  Y : 00));
Var {* Объявление переменных *}
  i        : byte;
  Perimetr : real;
Function SolveLen(Point1, Point2 : TDecart) : real;
Begin
SolveLen := sqrt(sqr(Point2.X - Point1.X) + sqr(Point2.Y - Point1.Y));
End;
Begin
clrscr; {* Очистка экрана *}
Perimetr := 0;
For i := 1 To Dimention - 1 Do {* Цикл для i => [1 .. Dimention] *}
  Perimetr := Perimetr + SolveLen(A[i], A[i + 1]);
Perimetr := Perimetr + Solvelen(A[Dimention], A[1]);
writeln('Perimetr = ', Perimetr);
Repeat
  Until keypressed; {* После нажатия любой клавиши цикл остановится *}
  End....