PDF_LABS / ЛР_8
.pdfЛР_8
Лабораторная работа №8
Создание на листе книги Excel кнопки, обеспечивающей табулирование функций
Задание
1. Разработать процедуру, выполняемую при нажатии кнопки CommandButton, находящейся на листе книги Excel, и
формирующую таблицу значений трёх функций определённых в задании к лабораторной работе №6 и №7.
При выполнении процедуры вводятся исходные данные:
-параметры табулируемых функций,
-интервал изменения и шаг приращения аргумента,
-индексы, определяющие положение левой верхней ячейки таблицы.
2.В результате выполнения процедуры формируется таблица значений трёх функций.
3.Проверка правильности результатов вычислений осуществляется путём их сравнения с результатами, полученными в лабораторной работе №6. Для этого таблица, полученная в ЛР_6, копируется и вставляется в на лист ЛР_8.
Итоговый документ, формируемый в результате выполнения ЛР_8, оформляется как документ, подготовленный к выводу на печать (см. рис. 8.1).
1 |
Любимов Е.Б. |
ЛР_8
Рис. 8.1. Вид итогового документа, подготовленного к выводу на печать
'Объявления глобальных переменных
Dim a As Double, b As Double
Dim x As Double, X0 As Double, XK As Double, dX As Double Private Sub CommandButton1_Click()
'Объявления локальных переменных , используемых в процедуре
Dim i0 As Integer, j0 As Integer, i As Integer, j As Integer, P As Double
P = WorksheetFunction.Pi 'значение константы Pi = 3.1415...
'очищаем ячейки формируемой таблицы
Range(Cells(1, 1), Cells(65536, 11)).Clear
'формирование заголовка таблицы
Cells(1, 1) = "Табулирование функций Y(a,b,X), G(a,b,X), Z(a,b,X)" Cells(2, 1) = "Параметры функции:"
' вводим значения параметров функции
a = InputBox("a= ", "ввод значения параметра a", 2, 12000, 800)
2 |
Любимов Е.Б. |
ЛР_8
'Cells(2, 4) = "а=": Cells(2, 5) = a Range("D2") = "а=": Range("E2") = a
b = InputBox("b= ", "ввод значения параметра b", 1.5, 12000, 800) Cells(3, 4) = "b=": Cells(3, 5) = b
'определяем параметры изменения аргумента Cells(4, 1) = "Исследуемый интервал:"
X0 = InputBox("Х0= ","ввод начального значения X0", -P/2,12000,800) Cells(5, 4) = "Х0=": Cells(5, 5) = X0
XK = InputBox("ХK= ", "ввод конечного значения Xk", P / 2, 12000, 800)
Cells(6, 4) = "Хk=": Cells(6, 5) = XK
dX = InputBox("dX= ", "ввод шага приращения dX", P / 10, 12000, 800) Cells(7, 4) = "Dх=": Cells(7, 5) = dX
'Формирование заголовка таблицы результатов
i0 = InputBox("i0=", "Ввод начального индекса строки", 8, 12000, 800) j = InputBox("j=", " ввод начального индекса столбца", 1, 12000, 800) i = i0
Cells(i, j) = "i": Cells(i, j + 1) = "X": Cells(i, j + 2) = "Y(a,b,X)" Cells(i, j + 3) = "G(a,bX)": Cells(i, j + 4) = "Z(a,b,X)"
i = i + 1
For x = X0 To XK + 0.001 * dX Step dX
Cells(i, j) = i - i0: Cells(i, j + 1) = x: Cells(i, j + 2) = Y(a, b, x) Cells(i, j + 3) = G(a, b, x): Cells(i, j + 4) = Z(a, b, x)
i = i + 1 Next x End Sub
3 |
Любимов Е.Б. |