PGUPS_Informatika_Lab__KR1_VBA_V-08 (1) / Лабораторные работы 1-3
.doc
Лабораторная работа №1
Текст задачи

Задача 1.1
Состав входных и выходных данных
Входные данные:
-
h (высота цилиндра) - вещественное число;
-
r (радиус основания) - вещественное число.
Выходные данные:
-
V (объём цилиндра) - вещественное число;
-
S (площадь цилиндра) - вещественное число.
Математическое описание задачи.
Для вычисления объема и площади цилиндра используются следующие формулы:
![]()
Схема алгоритма

Код приложения и отладочный пример
Public Sub zadacha1_1()
' объявляем вещественные переменные
Dim V, S, h, r, Pi As Single
' вводим h
h = Val(InputBox("Введите высоту цилиндра:"))
' вводим R
r = Val(InputBox("Введите радиус основания:"))
Pi = 22 / 7
' вычисляем объем
V = Pi * r * r * h
' вычисляем площадь поверхности цилиндра
S = 2 * Pi * r * h
' выводим результат на экран
MsgBox ("V = " + Format(V, "0.0") + "; S = " + Format(S, "0.0"))
End Sub
Результат выполнения задачи приведен ниже:


Задача 1.2
Состав входных и выходных данных
Входные данные:
-
a - вещественное число;
-
x - вещественное число.
Выходные данные:
-
u - вещественное число;
Математическое описание задачи.
Необходимо вычислить значение по формуле:

Схема алгоритма

Код приложения и отладочный пример
Public Sub zadacha1_2()
' объявляем вещественные переменные
Dim a, x, u As Single
' вводим a
a = Val(InputBox("Введите a:"))
' вводим x
x = Val(InputBox("Введите x:"))
' вычисляем u
u = (Tan(x) ^ 2 + a ^ (1 / 3)) * (10 ^ 6) / Exp(-x + 0.2)
' выводим результат на экран
MsgBox ("u = " + Str(u))
End Sub
Результат выполнения задачи приведен ниже:



Лабораторная работа №2
Текст задачи

Состав входных и выходных данных
Входные данные:
-
x - вещественное число;
-
a - вещественное число.
Выходные данные:
-
y (результат) - вещественное число.
Математическое описание задачи.
Если введённое значение x больше нуля, то вычисляем верхнее выражение:
y=x3+lg(3a)
иначе - нижнее:
![]()
Код приложения и отладочный пример
Public Sub zadacha2()
' объявляем вещественные переменные
Dim x, a, y As Single
' вводим x
x = Val(InputBox("Введите x:"))
' вводим a
a = Val(InputBox("Введите a:"))
' вычисляем y
If x > 0 Then ' проверяем значение x
y = x ^ 3 + Log(3 * a) / Log(10)
Else ' если условие ложно
y = Sqr(a) - 3 * x
End If
' выводим результат на экран
MsgBox ("y = " + Format(y, "0.000"))
End Sub
Результат выполнения задачи приведен ниже:



Схема алгоритма

Лабораторная работа №3
Текст задачи

Задача 1
Состав входных и выходных данных
Входные данные:
-
h (высота правильной пирамиды) - вещественное число;
-
S (площадь основания пирамиды) - вещественное число;
Выходные данные:
-
V (объем правильной пирамиды) - вещественное число.
Математическое описание задачи.
Необходимо запустить цикл, в котором на каждом шаге будет изменяться значение h от h0 до hr с шагом dh. При этом на каждой итерации следует вычислять объем правильной пирамиды во временной переменной. Вычисления будут происходить по следующей формуле:
V=S*h/3
Код приложения и отладочный пример
Public Sub zadacha3_1()
' объявляем вещественные переменные
Dim V, S, h, h0, hr, dh As Single
'строка для результата
Dim St As String
' вводим исходные данные
h0 = Val(InputBox("Введите h0:"))
hr = Val(InputBox("Введите hr:"))
dh = Val(InputBox("Введите dh:"))
S = Val(InputBox("Введите площадь S:"))
' инициализируем строку
St = "Результат" + Chr(13)
' запускаем цикл от h0 до hr с шагом dh
For h = h0 To hr Step dh
' вычисляем объем
V = S * h / 3
' добавляем результат к строке
St = St + "h=" + Format(h, "0.00") + "; V=" + Format(V, "0.00") + Chr(13)
Next h
' выводим результат на экран
MsgBox (St)
End Sub
Результат выполнения задачи приведен ниже:





Схема алгоритма

Задача 2
Состав входных и выходных данных
Входные данные:
-
h (высота правильной пирамиды) - вещественное число;
-
S (площадь основания пирамиды) - вещественное число;
Выходные данные:
-
V (объем правильной пирамиды) - вещественное число.
Математическое описание задачи.
Необходимо запустить цикл, в котором на каждом шаге будет изменяться значение h от h0 до hr с шагом dh. В теле цикла задаем ещё один цикл, в котором на каждом шаге будет изменяться значение S от 90 до 120 с шагом 10. При этом на каждой итерации следует вычислять объем правильной пирамиды во временной переменной. Вычисления будут происходить по следующей формуле:
V=S*h/3
Код приложения и отладочный пример
Public Sub zadacha3_2()
' объявляем вещественные переменные
Dim V, S, h, h0, hr, dh As Single
'строка для результата
Dim St As String
' вводим исходные данные
h0 = Val(InputBox("Введите h0:"))
hr = Val(InputBox("Введите hr:"))
dh = Val(InputBox("Введите dh:"))
' инициализируем строку
St = "Результат" + Chr(13)
' запускаем цикл от h0 до hr с шагом dh
For h = h0 To hr Step dh
' запускаем цикл от 90 до 120 с шагом 10
For S = 90 To 120 Step 10
' вычисляем объем
V = S * h / 3
' добавляем результат к строке
St = St + "h=" + Format(h, "0.00") + "; S=" + Format(S, "0") + "; V=" + Format(h, "0.000") + Chr(13)
Next S
Next h
' выводим результат на экран
MsgBox (St)
End Sub
Результат выполнения задачи приведен ниже:



Схема алгоритма

Список использованной литературы
-
Программирование в пакетах MS Office: учеб. пособие / С.В. Назаров, П.П. Мельников, Л.П. Смольников и др.; под ред. С.В. Назарова. – М.: Финансы и статистика, 2007. – 656 с.: ил.
-
Бернд Вайланд. Visual Basic 6 для детей: Пер. с нем. – М.: АО “Интерэксперт”, 2002. – 240 с.
-
Мэтью Харрис. Освой самостоятельно программирование для Microsoft Excel 2000 за 21 день.: Пер. с англ.: Уч. пос. – М.: Издательский дом “Вильямс”, 2000. – 880 с.: ил. – Парал. тит. англ.
-
Стив Каммингс. VBA для “чайников”.: Пер. с англ.: – М.: Издательский дом “Вильямс”, 2000. – 384 с.: ил. – Парал. тит. англ.
