Табулирование функции
Табулирование функции – это вычисление значений функции для некоторого набора значений аргумента.
Пример 5.1. Выполнить табулирование функции y=2x(x+b) для переменной x, значение которой изменяется от начального до конечного значения с постоянным положительным шагом.
Результаты вычисления вывести на рабочий лист Excel.
Таблица соответствия переменных
Обозначение в задании | Имя переменной | Тип переменной | Комментарий |
y | y | вещественный | Результат. Значение функции |
x | x | вещественный | Текущее значение аргумента функции |
b | b | вещественный | Исходное данное. Числовая константа |
Начальное значение x | XN | вещественный | Исходное данное |
Конечное значение x | XK | вещественный | Исходное данное |
Шаг изменения значения x | DX | вещественный | Исходное данное(>0) |
N | целый | Номер итерации вычисления |
Анализ исходных данных:
Имя переменной | Недопустимое значение | Ситуация |
XN, XK | XN>XK | Ввод данных |
DX | £0 | Ввод данных |
Вводимые значения переменных XN, XK и DX удобно проверять с помощью следующего логического выражения
(XK<=XN) Or (DX<=0)
Очевидно, что если это выражение истинно, то введенные данные некорректны.
Графическая схема алгоритма представлена на рис.5.2, результаты тестирования программы – на рис.5.3.
Sub Pr5_1()
Dim y As Single, x As Single, b As Single
Dim XN As Single, XK As Single, DX As Single
Dim N As Byte
'Ввод исходных данных
b = InputBox("Введи значение b")
XN = InputBox("Введи начальное значение х")
XK = InputBox("Введи конечное значение х")
DX = InputBox("Введи шаг изменения х")
'Проверка исходных данных
If (XK<=XN) Or (DX<=0) Then
Cells(1, 1) = "Введены некорректные данные:"
Cells(2, 1) = "XN=" & CStr(XN)
Cells(3, 1) = "XK=" & CStr(XK)
Cells(4, 1) = "DX=" & CStr(DX)
Else
'Выполнение расчетов и вывод результатов
Cells(1, 1) = "№"
Cells(1, 2) = "x"
Cells(1, 3) = "y"
N = 1
x = XN
While x <= XK
y = 2 * x * (x + b)
Cells(1 + N, 1) = N
Cells(1 + N, 2) = x
Cells(1 + N, 3) = y
N = N + 1
x = x + DX
Wend
Cells(1 + N + 1, 1) = "При b=" & CStr(b)
End If
End Sub
Пример 5.2. Выполнить табулирование функции
для переменной x, значение которой изменяется от начального до конечного значения с постоянным положительным шагом.
Результаты вычисления вывести в Excel. Вывести номер формулы вычисления.
Таблица соответствия переменных
Обозначение в задании | Имя переменной | Тип переменной | Комментарий |
y | y | вещественный | Результат. Значение функции |
x | x | вещественный | Текущее значение аргумента функции |
Начальное значение x | XN | вещественный | Исходное данное |
Конечное значение x | XK | вещественный | Исходное данное |
Шаг изменения значения x | DX | вещественный | Исходное данное |
N | целый | Номер итерации вычисления | |
f | целый | Номер формулы вычисления |
Анализ исходных данных: начальное, конечное значение переменной x и шаг ее модификации, - этого примера аналогичен анализу исходных данных примера 5.1. Однако требуется дополнительный анализ текущего значения аргумента функции, т.к. от его значения зависит выбор функциональной зависимости: по формуле 1, 2 или 3.
Графическая схема алгоритма представлена на рис.5.4, а результаты тестирования программы – на рис.5.5.
Sub Pr5_2()
Dim y As Single, x As Single
Dim XN As Single, XK As Single, DX As Single
Dim N As Byte, f As Byte
'Ввод и проверка исходных данных
XN = InputBox("Введи начальное значение х")
XK = InputBox("Введи конечное значение х")
DX = InputBox("Введи шаг изменения х")
If (XK<=XN) Or (DX<=0) Then
Cells(1, 1) = "Введены некорректные данные:"
Cells(2, 1) = "XN=" & XN: Cells(3, 1) = "XK=" & XK
Cells(4, 1) = "DX=" & DX
Else
'Выполнение расчетов и вывод результатов
Cells(1, 1) = "№": Cells(1, 2) = "x" ' Вывод шапки таблицы
Cells(1, 3) = "y": Cells(1, 4) = "Формула"
N = 1 ' Номер вычислений
For x = XN To XK Step DX ' Вычисления
If x >3 Then
y = x - 1: f = 1 ' По формуле 1
ElseIf x < -3 Then
y = x + 1: f = 2 ' По формуле 2
Else
y = x^2 : f = 3 ' По формуле 3
End If
Cells(1 + N, 1) = N: Cells(1 + N, 2) = x ' Номер вычислений и значение х
Cells(1 + N, 3) = y: Cells(1 + N, 4) = f ' Вывод y и номера формулы
N = N + 1 ' Модификация значения номера вычислений
Next
End If
End Sub
Для программирования циклических действий в приведенных выше примерах используются разные операторы цикла: в примере 5.1 – это оператор While … Wend, а в примере 5.2 – оператор For … Next.
ЛИТЕРАТУРА
1. Васильев А., Андреев А. VBA в Jffice 2000: учебный курс.-СПб.: Питер, 2001. -432с.
2. Гарнаев А.Ю. Excel, VBA, Internet в экономике и финансах. – СПб.: БХВ-Петербург,2002. – 816 с.; ил.
3. Кузьменко В.Г. Программирование на VBA 2002. – М.: ООО «Бином-Пресс», 2003 г. – 880 с.; ил.
4. Санна Пол и др. Visual Basic для приложений (версия5) в подлиннике: пер. с англ. – СПб.: BHV – Санкт-Петербург, 1998. – 704 с.
5. Браун С. Visual Basic 6: учебный курс. – СПб.: Питер, 2002. – 576 с.: ил.
6. Карпов Б. Visual Basic 6: специальный справочник. – СПб.: Питер, 2002. – 416 с.: ил.
7. Райтингер М., Муч Г. Visual Basic 6.0: пер. С нем. – К.: Издательская группа BHV, 2000. – 288 с. (Серия «Библиотека студента»)
Дата добавления: 2015-08-26; просмотров: 649;