Вычислите площадь произвольного выпуклого n-угольника, заданного координатами своих вершин на плоскости (x, y) - Pascal ABC

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

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

Вычислите площадь произвольного выпуклого n-угольника, заданного координатами своих вершин на плоскости (x, y) x: array [1..n] of real y: array [1..n] of real Указание. Вычислять площадь многоугольника как сумму площадей треугольников.

Решение задачи: «Вычислите площадь произвольного выпуклого n-угольника, заданного координатами своих вершин на плоскости (x, y)»

textual
Листинг программы
uses crt;
function plos(x1,y1,x2,y2,x3,y3:real):real;
begin
//формула через тангенс половинного угла
plos:=abs((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3))/2;
end;
const nmax=100;
var x,y:array[1..nmax] of real;
    n,i:byte;
    s:real;
begin
repeat
write('Количество вершин от 3 до ',nmax,' n=');
read(n);
until n in [3..nmax];
writeln('Введите координаты вершин в порядке обхода:');
for i:=1 to n do
 begin
  write('x[',i,']=');
  read(x[i]);
  write('y[',i,']=');
  read(y[i]);
 end;
s:=plos(x[1],y[1],x[2],y[2],x[3],y[3]);
writeln('S1=',s:0:2);
for i:=3 to n do
s:=s+plos(x[1],y[1],x[i],y[i],x[i+1],y[i+1]);
write('S=',s:0:2);
end.

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

  1. Программа вычисляет площадь произвольного выпуклого n-угольника, заданного координатами своих вершин на плоскости (x, y).
  2. Используется функция plos, которая вычисляет площадь треугольника по формуле через тангенс половинного угла.
  3. Объявлены следующие константы и переменные:
    • nmax - максимальное количество вершин n-угольника (100).
    • x, y - массивы для хранения координат вершин (реальное число).
    • n, i - переменные для подсчета количества вершин и итерации по массивам (byte).
    • s - переменная для хранения суммы площадей треугольников (реальное число).
  4. Пользователю предлагается ввести количество вершин от 3 до nmax и ввести координаты вершин в порядке обхода.
  5. С помощью цикла repeat-until осуществляется проверка корректности введенного количества вершин.
  6. С помощью цикла for i:=1 to n осуществляется ввод координат вершин.
  7. Вычисляется площадь треугольника по формуле plos(x[1],y[1],x[2],y[2],x[3],y[3]) и выводится на экран.
  8. С помощью цикла for i:=3 to n осуществляется подсчет площади каждого треугольника, добавляя ее к переменной s.
  9. Вычисляется и выводится на экран общая площадь S.

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


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

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

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