Задана площадь и диагональ прямоугольника. Составьте программу, с помощью которой...

0 голосов
28 просмотров

Задана площадь и диагональ прямоугольника. Составьте программу, с помощью которой определите периметр прямоугольника.


Информатика (99 баллов) | 28 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
\displaystyle d^2=a^2+b^2 \to a^2=d^2-b^2; \\ S=ab; \ S^2=a^2b^2=(d^2-b^2)b^2 \\ b^4-b^2d^2-S^2=0; \ b^2 \to x; \ x^2-d^2x+S^2=0 \\ D=d^4-4S^2, \ D \geq 0 \\ x_1= \frac{d^2-\sqrt{d^4-4S^2}}{2} ; \ b= \sqrt{x}; \ a=S/b \\
P=2(a+b)=2\left( \frac{S}{b}+b\right)

// PascalABC.NET 3.2, сборка 1338 от 16.11.2016
begin
  var d:=ReadReal('Диагональ прямоугольника');
  var S:=ReadReal('Площадь прямоугольника');
  var Di:=sqr(d*d)-4*S*S;
  if Di<0 then Writeln('Неверные данные')<br>  else begin
    var b:=sqrt((d*d-sqrt(Di))/2);
    var P:=2*(S/b+b);
    Writeln('P=',P:0:4)
    end
end.
(150k баллов)