Определить больший по площади четырехугольник - PascalABC.NET

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

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

Не могу решить на паскале выручайте Известны координаты точек A, B, C, D и K, L, M, N, образуют два выпуклых четырехугольниках. Определить больший по площади четырехугольник.

Решение задачи: «Определить больший по площади четырехугольник»

textual
Листинг программы
type Rpoint=record
       x,y:real;
     end;  
var
  a,b,c,d,k,l,m,n:Rpoint;
  p1,p2,s1,s2:real;
function Dlina(x,y:RPoint):real:=sqrt(sqr(x.x-y.x)+sqr(x.y-y.y));
function SemiPerimetr(x,y,z:Rpoint):real:=(Dlina(x,y)+Dlina(y,z)+Dlina(z,x))/2;
procedure Read4(s:string;var t1,t2,t3,t4:Rpoint);
begin
  writeln(s);
  write('Вершина 1:');readln(t1.x,t1.y);
  write('Вершина 2:');readln(t2.x,t2.y);
  write('Вершина 3:');readln(t3.x,t3.y);
  write('Вершина 4:');readln(t4.x,t4.y);
end;
begin
  Read4('Первый четырехугольник. Введите воординаты каждой из вершин через пробел',a,b,c,d);
  p1:=SemiPerimetr(a,b,c);p2:=SemiPerimetr(a,c,d);
  s1:=sqrt(p1*(p1-Dlina(a,b))*(p1-Dlina(b,c))*(p1-Dlina(c,a)))+
      sqrt(p2*(p2-Dlina(a,c))*(p2-Dlina(c,d))*(p2-Dlina(d,a)));
  writeln('Площадь:',s1);
  Read4('Второй четырехугольник. Введите воординаты каждой из вершин через пробел',k,l,m,n);
  p1:=SemiPerimetr(k,l,m);p2:=SemiPerimetr(k,m,n);
  s2:=sqrt(p1*(p1-Dlina(k,l))*(p1-Dlina(l,m))*(p1-Dlina(m,k)))+
      sqrt(p2*(p2-Dlina(k,m))*(p2-Dlina(m,n))*(p2-Dlina(n,k)));
  writeln('Площадь:',s2);
  if s1>s2 then writeln('площадь первого четырехугольника больше площади второго') else
  if s1<s2 then writeln('площадь первого четырехугольника меньше площади второго') else
                writeln('площади четырехугольников равны'); 
end.

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

Список элементов кода:

  1. Тип Rpoint, который определяет структуру данных для представления точки в пространстве.
  2. Объявление переменных a, b, c, d, k, l, m, n типа Rpoint. Эти переменные используются для хранения координат вершин четырехугольников.
  3. Объявление переменных p1, p2, s1, s2 типа real. Эти переменные используются для хранения полупериметра и площади четырехугольников.
  4. Функция Dlina, которая вычисляет длину стороны треугольника по координатам вершин.
  5. Функция SemiPerimetr, которая вычисляет полупериметр четырехугольника по координатам его вершин.
  6. Процедура Read4, которая считывает координаты вершин четырехугольника с помощью пользовательского ввода.
  7. Основной блок кода, который сначала считывает координаты вершин первого четырехугольника, затем вычисляет его площадь и полупериметр.
  8. Затем считываются координаты вершин второго четырехугольника, вычисляется его площадь и полупериметр.
  9. Сравниваются площади двух четырехугольников, и выводится соответствующее сообщение.
  10. Код завершается.

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

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