Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке)

Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом:
1 — катет a, 2 — гипотенуза c = a*sqrt(2), 3 — высота h, опущенная на гипотенузу (h = c/2), 4 — площадь S = c*h/2.
Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке)

code: #pascal
Program Case13;
Var
Cnt:Byte;
_Val,c,a:Real;
Begin
WriteLn('1 — катет, 2 — гипотенуза, 3 — высота, опущенная на гипотенузу, 4 — площадь:');
ReadLn(Cnt);
WriteLn('Введите значение элементa: ');
ReadLn(_Val);
Case Cnt Of
1:Begin
a := _Val;
c := a * sqrt(2);
WriteLn('Катет: ',a);
WriteLn('Гипотенуза: ',c);
WriteLn('Высота: ', c/2);
WriteLn('Площадь: ',c * (c/2)/2);
End;
2:Begin
a := _Val/sqrt(2);
c := _Val;
WriteLn('Катет: ',a);
WriteLn('Гипотенуза: ',c);
WriteLn('Высота: ', c/2);
WriteLn('Площадь: ',c * (c/2)/2);
End;
3:Begin
a := _Val/(Sqrt(2)/2);;
c := a * sqrt(2);
WriteLn('Катет: ',a);
WriteLn('Гипотенуза: ',c);
WriteLn('Высота: ', c/2);
WriteLn('Площадь: ',c * (c/2)/2);
End;
4:Begin
a := Sqrt(2 * _Val);{<-- это получается после нехитрых тупых преобразований}
c := a * sqrt(2);
WriteLn('Катет: ',a);
WriteLn('Гипотенуза: ',c);
WriteLn('Высота: ', c/2);
WriteLn('Площадь: ',c * (c/2)/2);
End;
End;
End.

автор: Sklyarov Sergej a.k.a. S9

Поделиться:

Похожие статьи: