Найти периметр N-угольника, заданного координатами вершин - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Найти периметр N-угольника, заданного координатами вершин на плоскасти {(,Xi;Yi)},(i=1,…<N)

Решение задачи: «Найти периметр N-угольника, заданного координатами вершин»

textual
Листинг программы
const
   n = 6;
   X : array[1 .. n] of integer = (1, 2, 3, 4, 5, 5);
   Y : array[1 .. n] of integer = (1, 3, 3, 2, 2, 1);
 
var
   i : integer;
   s : real;
 
begin
   s := 0;
   for i := 1 to n - 1 do { суммируем расстояния 1->2, 2->3, ... , n-1->n }
      s := s + Sqrt(sqr(X[i] - X[i+1]) + sqr(Y[i] - Y[i+1]));
   s := s + Sqrt(sqr(X[1] - X[n]) + sqr(Y[1] - Y[n])); { и добавляем расстояние n->1 }
 
   writeln('P = ', s:10:5);
end.

Объяснение кода листинга программы

В данном коде объявлены две массивы X и Y, содержащие координаты вершин N-угольника. Переменная n содержит количество вершин в N-угольнике. Затем объявлена переменная i для итерации по вершинам N-угольника, и переменная s для хранения суммы расстояний между соседними вершинами. Далее идет цикл for, который проходит по всем вершинам N-угольника, кроме последней. Внутри цикла вычисляется расстояние между текущей и следующей вершиной, а затем это расстояние добавляется к сумме s. После этого добавляется расстояние от последней вершины к первой, что позволяет замкнуть цикл и получить полный периметр N-угольника. В конце выводится значение переменной s, которое представляет собой периметр N-угольника.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы