prg9.PAS

{* Возможное количество треугольников *}

Unit PRG9;
Interface
Implementation
Begin
 writeln('Программа по 4 отрезкам определяет возможное количество треугольников и их площадь.');
End.

Program prg9;

Uses prg9.pas; {* Эту строку можно удалить *}
Var {* Объявление переменных *}
  a                   : real;
  b                   : real;
  c                   : real;
  d                   : real;
  s1                  : real;
  s2                  : real;
  s3                  : real;
  s4                  : real;
Procedure Ploshad(x : real;
y                   : real;
z                   : real;
Var {* Необходимые переменные *}
  s : real);
Var {* В работе нам потребуются переменные: *}
  p : real;
Begin
  p := (x + y + z) / 2;
  s := sqrt(p * (p - x) * (p - y) * (p - z));
End;
Begin
  writeln('vvedite dliny otrezka a');
  readln(a);
  writeln('vvedite dliny otrezka b');
  readln(b);
  writeln('vvedite dliny otrezka c');
  readln(c);
  writeln('vvedite dliny otrezka d');
  readln(d);
  If ((a + b) > c) And ((a + c) > b) And ((b + c) > a) Then
  Begin
    Ploshad(a, b, c, s1);
    writeln('ABC - mozno postroit treugolnik, ploshad = ', s1);
  End;
  Else writeln('ABC - nelzya postroit treugolnik');
    If ((a + c) > d) And ((a + d) > c) And ((d + c) > a) Then
    Begin
      Ploshad(a, d, c, s2);
      writeln('ADC - mozno postroit treugolnik, ploshad = ', s2);
    End;
    Else writeln('ADC - nelzya postroit treugolnik');
      If ((a + b) > d) And ((a + d) > b) And ((b + d) > a) Then
      Begin
        Ploshad(a, b, d, s3);
        writeln('ABD - mozno postroit treugolnik, ploshad = ', s3);
      End;
      Else writeln('ABD - nelzya postroit treugolnik');
        If ((b + c) > d) And ((b + d) > c) And ((d + c) > b) Then
        Begin
          Ploshad(d, b, c, s4);
          writeln('BCD - mozno postroit treugolnik, ploshad = ', s4);
        End;
        Else writeln('BCD - nelzya postroit treugolnik');
End.