dyatchina63
?>

Вычислите радиус rb вписанной и радиус ro описанной около треугольника окружности, если заданы стороны треугольника a, b, c rb=s/p ro=a*b*c/4s где s-площадь, p-полупериметр треугольника

Информатика

Ответы

tat72220525
Var a,b,c,p,s,rb,ro: real;
begin
readln(a,b,c);
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
rb:=s/p;
ro:=a*b*c/(4*s);
writeln('rb = ',rb:6:2,' ro = ',ro:6:2);
end.

Пример:
4 4 4
rb = 1.15 ro = 2.31
Нескажу25
1. В "реальном мире" это решается примерно так:

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
  var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
  a.Sorted.Println
end.

Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2

2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):

// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
  nn=100;
var
  i,j,n,t:integer;
  a:array[1..nn] of integer;
begin
  Write('n='); Read(n);
  Randomize;
  for i:=1 to n do begin
    a[i]:=Random(3);
    Write(a[i],' ')
    end;
  Writeln;
  for i:=1 to n-1 do
    for j:=1 to n-1 do
      if a[j]>a[j+1] then begin
        t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
        end;
  for i:=1 to n do Write(a[i],' ');
  Writeln;
end.

Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2
vera2job7
//PascalABC.NET
//Версия 3.3, сборка 1634 (14.02.2018)

begin
  var (cost, t, k) := (Arr(15, 70, 125, 230, 440), Arr(1, 5, 10, 20, 60), new integer[5]);
  var n := ReadInteger('n->');
  for var i := 4 downto 0 do
  begin
    k[i] := n div t[i];n := n mod t[i];
  end; 
  if k[0] * cost[0] >= cost[1] then begin k[0] := 0;inc(k[1]); end;
  if k[0] * cost[0] + k[1] * cost[1] >= cost[2] then 
  begin
    k[0] := 0;k[1] := 0;inc(k[2]); 
  end;
  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] >= cost[3] then 
  begin
    k[0] := 0;k[1] := 0;k[2] := 0;inc(k[3]);
  end;
  if k[0] * cost[0] + k[1] * cost[1] + k[2] * cost[2] + k[3] * cost[3] >= cost[4] then 
  begin
    k[0] := 0;k[1] := 0;k[2] := 0;k[3] := 0;inc(k[4]); 
  end;
  
  for var i := 0 to 4 do WritelnFormat('{0} билет(ов)- {1} штук(а)', t[i], k[i]);
end.

Пример(1):
n-> 37
1 билет(ов)- 0 штук(а)
5 билет(ов)- 0 штук(а)
10 билет(ов)- 0 штук(а)
20 билет(ов)- 0 штук(а)
60 билет(ов)- 1 штук(а)

Пример(2):
n-> 35
1 билет(ов)- 0 штук(а)
5 билет(ов)- 1 штук(а)
10 билет(ов)- 1 штук(а)
20 билет(ов)- 1 штук(а)
60 билет(ов)- 0 штук(а)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Вычислите радиус rb вписанной и радиус ro описанной около треугольника окружности, если заданы стороны треугольника a, b, c rb=s/p ro=a*b*c/4s где s-площадь, p-полупериметр треугольника
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Kaccak8778
sastakhova
merx80
novdodCT
savenko0109152
Иванович-Васильевна1153
manuchar-formen2
elena
TrubnikovKlimenok926
Aleksei Biketova
НосовЖелиховская
ser7286
Анна Марина1873
Grigorev_Nikita794
vkaloshin