Помогите составить программу в паскале 1. Определить массу 3-х пирамид фараонов,...

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

Помогите составить программу в паскале
1. Определить массу 3-х пирамид фараонов, сделанных из гранита, в тоннах. В основании пи-рамид находится квадрат. Размеры средней пира-миды: основание - 232 × 232 м, высота – 147 м, левой пирамиды: основание - 215 × 215 м, высота - 143 м, правой пирамиды: основание - 108 × 108 м, высота – 66 м. Плотность гранита 2300 кг/м3. Вы-числение объема пирамиды оформить в виде функции с тремя параметрами. (Vпирамиды = 1/3*Sосн*h).


Информатика (152 баллов) | 20 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

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.

(150k баллов)