Найти площадь пятиугольника, заданного координатами своих вершин - Turbo Pascal
Формулировка задачи:
Пятиугольник задан координатами своих вершин. Найти его площадь, используя для
вычисления площадей треугольников формулу Герона:
Решение задачи: «Найти площадь пятиугольника, заданного координатами своих вершин»
textual
Листинг программы
uses crt;
const n=5;
var a:array[1..2,1..n+1] of real;
i:byte;
s:real;
begin
clrscr;
writeln('Введите координаты ',n,' вершин в порядке обхода:');
for i:=1 to n do
begin
write('x[',i,']=');
readln(a[1,i]);
write('y[',i,']=');
readln(a[2,i]);
end;
{замкнем ломаную}
a[1,n+1]:=a[1,1];
a[2,n+1]:=a[2,1];
s:=0;
for i:=1 to n do
s:=s+(a[2,i+1]+a[2,i])*(a[1,i+1]-a[1,i])/2;
s:=abs(s);{площадь может получиться и отрицательная}
write('S=',s:0:2);
readln
end.
Объяснение кода листинга программы
- В начале кода подключается библиотека crt, которая используется для работы с числовыми значениями.
- Затем определяется константа n, которая указывает количество вершин пятиугольника.
- Далее объявляются две переменные a и i. Переменная a представляет собой массив из двух строк, где каждая строка содержит координаты вершин пятиугольника. Переменная i является байтовым типом и будет использоваться для цикла.
- Затем идет блок begin-end, внутри которого происходит чтение координат вершин пятиугольника с помощью функции readln. Чтение происходит для каждой вершины по отдельности.
- После чтения координат последней вершины, значение переменной i увеличивается на единицу.
- Затем происходит запись значения переменной s, которое представляет собой полупериметр пятиугольника. Значение s вычисляется как сумма площадей двух соседних вершин, деленная на 2.
- После вычисления значения s, оно приводится к типу real с помощью функции abs, чтобы получить абсолютное значение площади пятиугольника.
- Наконец, выводится значение площади пятиугольника с помощью функции write.
- Конец программы завершается вызовом функции readln для чтения новой строки.