Функции. Найти периметр - 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.

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

В данном коде объявлены следующие переменные:

  1. x1, y1, x2, y2 - переменные для хранения координат вершин.
  2. n, i - переменные для контроля ввода данных.
  3. 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, представляющее собой периметр треугольника.

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

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