Найти периметр N-угольника, заданного координатами вершин - Turbo Pascal
Формулировка задачи:
Решение задачи: «Найти периметр N-угольника, заданного координатами вершин»
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-угольника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д