Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке)
Категория: Delphi/Pascal
2011-12-21 19:39:51
Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом:
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
Поделиться: