Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program La2_1;
- uses
- System.SysUtils;
- var
- I,TriangleCount : Integer;
- MinRadius,R : Double;
- function GetValue(Message : string) : Integer;
- var
- Ret : integer;
- begin
- Writeln(Message);
- try
- Readln(Ret);
- except
- Writeln('Ожидалось число');
- Ret := GetValue(Message);
- end;
- if Ret < 1 then
- begin
- Writeln('Число должно быть больше нуля');
- Ret := GetValue(Message);
- end;
- GetValue := Ret;
- end;
- function GetTriangleRadius() : double;
- var
- Ret,P : Double;
- A,B,C : Integer;
- begin
- Writeln('Введите длины сторон треугольника');
- A := GetValue('Введите длину стороны a ');
- B := GetValue('Введите длину стороны b ');
- C := GetValue('Введите длину стороны c ');
- P := (A + B + C) / 2;
- if ((P - A) > 0) and ((P - B) > 0) and ((P - C) > 0) then
- Ret := Sqrt(((P - A)*(P - B)*(P - C))/P)
- else
- begin
- Writeln('Такого треугольника не существует');
- Ret := GetTriangleRadius();
- end;
- GetTriangleRadius := Ret;
- end;
- begin
- MinRadius := 0;
- TriangleCount := GetValue('Введите количество треугольников ');
- for I := 1 to TriangleCount do
- begin
- R := GetTriangleRadius();
- if (R < MinRadius) or (MinRadius = 0) then
- MinRadius := R;
- end;
- Writeln('Минимальный радиус равен ',MinRadius:5:2);
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement