Advertisement
deced

Untitled

Oct 2nd, 2020
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.56 KB | None | 0 0
  1. program La2_1;
  2.  
  3. uses
  4.     System.SysUtils;
  5. var
  6.     A,B,C,I,TriangleCount: Integer;
  7.     P,MinRadius,R : Double;
  8. function GetValue(Message : string) : Integer;
  9.     begin
  10.         Writeln(Message);
  11.         try
  12.             Readln(Result);
  13.         except
  14.             Writeln('Ожидалось число');
  15.             Result := GetValue(Message);
  16.         end;
  17.         if Result < 1    then
  18.         begin
  19.             Writeln('Число должно быть больше нуля');
  20.             Result := GetValue(Message);
  21.         end;
  22.     end;
  23.  
  24. function GetTriangleRadius() : double;
  25.     begin
  26.         Writeln('Введите длины сторон треугольника');
  27.         A := GetValue('Введите длину стороны a ');
  28.         B := GetValue('Введите длину стороны b ');
  29.         C := GetValue('Введите длину стороны c ');
  30.         P := (A + B + C) / 2;
  31.         if ((p-a) > 0) and   ((p-b) > 0) and ((p-c) > 0) then
  32.             Result := sqrt(((p-a)*(p-b)*(p-c))/p)
  33.         else
  34.         begin
  35.             Writeln('Такого треугольника не существует');
  36.             Result :=  GetTriangleRadius();
  37.         end;
  38.     end;
  39. begin
  40.     MinRadius := 0;
  41.     TriangleCount :=  GetValue('Введите количество треугольников ');
  42.     for I := 1 to TriangleCount do
  43.     begin
  44.         R := GetTriangleRadius();
  45.         if (R < MinRadius) or (MinRadius = 0) then
  46.             MinRadius := R;
  47.     end;
  48.     Writeln(MinRadius:5:2);
  49.     readln;
  50. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement