Составить и отладить программу для вычисления площади произвольного пятиугольника по заданным координатам его вершин, определив процедуры для вычисления длин сторон и нахождения площади треугольников.
Ответы на вопрос
Ниже программа на Pascal. Координаты вершин вводятся по порядку обхода пятиугольника: по или против часовой стрелки.
Длины сторон вычисляет функция Distance, а площадь треугольника — функция TriangleArea. Площадь пятиугольника находится как сумма площадей треугольников с общей вершиной.
program PentagonArea;
type
TPoint = record
x, y: Real;
end;
var
p: array[1..5] of TPoint;
i: Integer;
s: Real;
function Distance(a, b: TPoint): Real;
begin
Distance := Sqrt(Sqr(b.x - a.x) + Sqr(b.y - a.y));
end;
function TriangleArea(a, b, c: TPoint): Real;
begin
TriangleArea := ((b.x - a.x) * (c.y - a.y) -
(b.y - a.y) * (c.x - a.x)) / 2;
end;
begin
for i := 1 to 5 do
begin
Write('Введите x и y вершины ', i, ': ');
ReadLn(p[i].x, p[i].y);
end;
for i := 1 to 4 do
WriteLn('Длина стороны ', i, ': ', Distance(p[i], p[i + 1]):0:2);
WriteLn('Длина стороны 5: ', Distance(p[5], p[1]):0:2);
s := 0;
for i := 2 to 4 do
s := s + TriangleArea(p[1], p[i], p[i + 1]);
WriteLn('Площадь пятиугольника: ', Abs(s):0:2);
end.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

