Advertisement
deced

Untitled

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