Функции. Найти периметр - Pascal ABC
Формулировка задачи:
Добрый вечер! Помогите, пожалуйста
Найти периметр n-угольника, заданного координатами вершин (массивы не использовать). Описать функцию определения расстояния между двумя точками.
Решение задачи: «Функции. Найти периметр»
textual
Листинг программы
function rasst(x1,y1,x2,y2:real):real; begin rasst:=sqrt(sqr(x1-x2)+sqr(y1-y2)); end; var x1,y1,x2,y2,x,y:real; n,i:byte; r,p:real; begin repeat write('Введите количество вершин n>2 n='); readln(n); until n>2; writeln('Введите координаты первой вершины'); readln(x1,y1); x2:=x1; y2:=y1; p:=0; writeln('Введите координаты остальных вершин'); for i:=2 to n do begin readln(x,y); p:=p+rasst(x,y,x2,y2); x2:=x; y2:=y; end; p:=p+rasst(x1,y1,x2,y2); writeln('Периметр=',p:0:2); end.
Объяснение кода листинга программы
В данном коде объявлены следующие переменные:
- x1, y1, x2, y2 - переменные для хранения координат вершин.
- n, i - переменные для контроля ввода данных.
- r, p - переменные для хранения результата вычисления периметра. Функция rasst(x1,y1,x2,y2:real) вычисляет периметр треугольника по формуле sqr(x1-x2)+sqr(y1-y2), где sqr() - квадратный оператор. Цикл repeat-until используется для проверки ввода числа n. Затем вводятся координаты первой вершины. Переменная x2 и y2 присваиваются значение координат этой вершины. Далее идет цикл for, в котором читаются координаты остальных вершин. Переменная p иглается суммой периметров треугольников, образованных каждой парой вершин. Переменные x2 и y2 обновляются после каждой итерации цикла. После этого суммируется периметр треугольника, образованного первой вершиной. В конце выводится значение переменной p, представляющее собой периметр треугольника.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д