M=ρ×V; V=a²×h/3; m=a²×h×ρ/3, где
a - длина основания пирамиды, м;
h - высота пирамиды, м;
ρ - плотность материала пирамиды, кг/м³.
Функция "масса пирамиды" будет иметь три параметра: mp(a,h,ρ)=a²×h×ρ/3000 и возвращать массу пирамиды в тоннах.
1. Современный вариант программы
// PascalABC.NET 3.3, сборка 1607 от 31.12.2017
// Внимание! Если программа не работает, обновите версию!
begin
var mp:function(p1,p2,p3:real):real:=(a,h,ρ)->a**2*h*ρ/3000;
var am:=Arr(232.0,215.0,108.0);
var ah:=Arr(147.0,143.0,66.0);
var ρ:=2300.0;
for var i:=0 to 2 do
Writeln('Масса пирамиды ',i+1,' (',am[i],'×',am[i],'×',ah[i],') = ',
mp(am[i],ah[i],ρ):0:0,' т')
end.
Результат
Масса пирамиды 1 (232×232×147) = 6065965 т
Масса пирамиды 2 (215×215×143) = 5067801 т
Масса пирамиды 3 (108×108×66) = 590198 т
2. Вариант программы для диалектов Free Pascal и Pascal ABC
type
Arr=array[1..3] of real;
const
rho=2300.0;
am:Arr=(232.0,215.0,108.0);
ah:Arr=(147.0,143.0,66.0);
function mp(a,h, rho:real):real;
begin
mp:=a*a*h*rho/3000
end;
var
i:integer;
begin
for i:=1 to 3 do
Writeln('Масса пирамиды ',i,' (',am[i],'×',am[i],'×',ah[i],') = ',
mp(am[i],ah[i],rho):0:0,' т')
end.