Вопрос задан 05.11.2026 в 18:05. Предмет Информатика. Спрашивает Митасов Васёк.

Составить и отладить программу для вычисления площади произвольного пятиугольника по заданным координатам его вершин, определив процедуры для вычисления длин сторон и нахождения площади треугольников.

Перейти к ответам

Ответы на вопрос

Отвечает Бадахшанова Ариана.

Ниже программа на 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.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос