Объем прямоугольного параллелепипеда с длиной а, шириной b и высотой h может быть найден, как произведение площади основания ab на высоту, т.е. Vп=abh.
Из этого объема нужно вычесть объемы четырех цилиндров. Объем цилиндра с диаметром основания D и высотой h находится по формуле Vц=πD²h/4.
Окончательно V = Vп-4Vц = h(ab-πD²).
Масса такой фигуры пли заданной плотности ρ может быть найдена по формуле m=ρV
В программе будем считать, что значения a,b,h,D,ρ заданы в ячейках листа рабочей книги MS Excel, Туда же будут выведены результаты. Для второго примера a,b будем вводить в диалоге, а ответ выдадим в окне сообщений. Это проиллюстрирует часть различных возможностей ввода и вывода данных в VBA.
Файл с рабочей книгой MS Excel 2003 дан во вложении.
На всякий случай ниже приводятся коды, прописанные в кнопках.
Private Sub CommandButton1_Click()
' ввод
a = Cells(1, 2).Value
b = Cells(2, 2).Value
h = Cells(3, 2).Value
D = Cells(4, 2).Value
rho = Cells(5, 2).Value
'расчет
V = h * (a * b + Pi * D ^ 2)
m = rho * V
' вывод
Cells(7, 2) = V
Cells(8, 2) = m
End Sub
Private Sub CommandButton2_Click()
a = CDbl(InputBox("Введите значение a"))
b = CDbl(InputBox("Введите значение b"))
x = Atn(a + b)
y = Sin(a * b - 2)
u = Log(x ^ 2 + y ^ 2 + 1)
MsgBox "y=" + CStr(u)
End Sub
Program n1;
const n=15;
var a: array[1..n] of integer;
i,k5,kns,sum: integer;
sb: real;
begin
randomize;
k5:=0;
kns:=0;
sum:=0;
write('оценки: ');
for i:=1 to n do
begin
a[i]:=random(4)+2;
write(a[i],' ');
if a[i]=5 then k5:=k5+1;
sum:=sum+a[i];
end;
writeln;
sb:=sum/n;
writeln('кол-во 5: ',k5);
writeln('ср арифм: ',sb);
for i:=1 to n do if a[i]>sb then kns:=kns+1;
writeln('кол-во уч >ср арифм: ',kns);
end.