Найти поверхность правильной трехгранной пирамиды,если известна высота пирамиды и радиус окружности, в которую вписано основание пирамиды. Как будет выглядеть решение в Pascal? Напишите пожалуйста

Ответы

Ответ дал: Аноним
0
Получим формулы для необходимых вычислений.
Пусть ΔАВС вписан в окружность радиуса R с центром в точке О. ΔАВС - равносторонний, с углами при вершине, равными 60°. Опустим в этом треугольнике высоту из вершины В на сторону АС, получая точку D.
Соединим вершину А с центром описанной окружности и рассмотрим полученный ΔAOD. Этот треугольник прямоугольный, поскольку ОD - часть высоты (OD⊥ AC). AO - гипотенуза, равная R, ∠OAD=30°, как половина ∠BAC, поскольку в равностороннем треугольнике центр вписанной окружности является также точной пересечения бисектрисс, высот и медиан. Тогда OD=R/2, как катет, лежащий против угла 30°. AD=R×cos(30°)=R√3/2. Но AD=DC (BD- медана, как сказано выше), тогда AC=R√3
Площадь основания может быть найдена как AD×BD=(R√3/2)×(R+R/2)=(3R√3)/4

Теперь рассмотрим пирамиду ABCD (второй рисунок).
Она по условию правильная, т.е. все её боковые грани - одинаковые треугольники.
Рассмотрим ΔDOE, образованный высотой пирамиды DO=h, её апофемой DE=a и отрезком OE, соединяющим точку пересечения высоты пирамиды с её основанием и точку пересечения апофемы с ребром пирамиды ВС. Этот треугольник прямоугольный, поскольку высота пирамиды перпендикулярна плоскости её основания. Длина катета ОЕ известна: она равна длине отрезка OD из предыдущего чертежа, т.е. половине радиуса R. Длина апофемы может быть найдена по теореме Пифагора.
displaystyle a= sqrt{h^2+ frac{R^2}{4}}
Существует формула для определения площади боковой поверхности пирамиды:
displaystyle S_b= frac{1}{2}pa;  p=AB+BC+AC=3AC=3R sqrt{3};  a= sqrt{h^2+ frac{R^2}{4}}; \ S_b= frac{3R sqrt{3}}{2}times sqrt{h^2+ frac{R^2}{4}}
Площадь полной поверхности пирамиды складывается из площади основания и площади боковой поверхности.

Программа на языке PascalABC.Net
var
  a,h,r,s0,s1,s:double;
begin
  Write('Введите радиус: '); read(r);
  Write('Введите высоту: '); Read(h);
  s0:=0.75*sqr(r)*sqrt(3);
  a:=sqrt(sqr(h)+sqr(r)/4);
  s1:=3*r*sqrt(3)*a/2;
  Writeln('Sбок=',s1);
  Writeln('Sполн=',s1+s0);
end.

Тестовое решение:
Введите радиус: 20
Введите высоту: 15
Sбок=936.74969975976
Sполн=1456.36494203042

Приложения:
Вас заинтересует