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