zadach110.PAS

{* Задача 110 *}

Unit ZADACH110;
Interface
Implementation
Begin
 writeln('Даны 4 точки x1, y1, x2, y2, x3, y3, x4, y4 Составить программу для опред. площади четырёхугольника, используя процедуру нахождения площади ');
End.

Program pas0;

Uses zadach110.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключаем внешние файлы *}
Var {* Необходимые переменные *}
  x1                 : real;
  x2                 : real;
  x3                 : real;
  x4                 : real;
  y1                 : real;
  y2                 : real;
  y3                 : real;
  y4                 : real;
  c1                 : real;
  c2                 : real;
  c                  : real;
Procedure treyg(a1 : real;
b1                 : real;
a2                 : real;
b2                 : real;
a3                 : real;
b3                 : real;
Var {* Необходимые переменные *}
  s : real);
Var {* Объявление переменных *}
  a, b, c, p : real; {исходные данные а1, в1, а2, в2, а3, в3 - формальные.Перед     вып.процедуры им присваивается фактические параметры     Процедура вырабатывает значения а, в, с, р, s.Перед их     именами в описании стоит служебное слово
Var {* Объявление переменных *}

Begin
  a := sqrt(sqr(a1 - a2) + sqr(b1 - b2));
  b := sqrt(sqr(a2 - a3) + sqr(b2 - b3));
  c := sqrt(sqr(a3 - a1) + sqr(b3 - b1));
  p := (a + b + c) / 2;
  s := sqrt(p * (p - a) * (p - b) * (p - c));
End;
Begin
  clrscr; {* Очистка экрана *}
  write('x1=');
  readln(x1);
  write('y1=');
  readln(y1);
  write('x2=');
  readln(x2);
  write('y2=');
  readln(y2);
  write('x3=');
  readln(x3);
  write('y3=');
  readln(y3);
  write('x4=');
  readln(x4);
  write('y4=');
  readln(y4);
  treyg(x1, y1, x2, y2, x3, y3, c1);
  treyg(x3, y3, x4, y4, x1, y1, c2);
  c := c1 + c2;
  writeln('ОТВЕТ:', c);
  readln; {* Приостановка программы. Ожидание Enter *}
End.