Private Sub CommandButton1_Click()
Dim i As Integer
Dim j As Integer
Dim x As Single
Dim xn As Single
Dim xk As Single
Dim dx As Single
Dim y As Single
xn = InputBox (" Xn = ", "Ввод начального значения x ", -2, 8000, 2000)
xk = InputBox (" Xk = ", "Ввод конечного значения x ", 2, 8000, 1000)
dx = InputBox (" dX = ", "Ввод значения шага x ", 0.25, 8000, 2000)
i = InputBox (" i = ", "Ввод значения начала таблицы, строка i ", 5, 8000, 1000)
j = InputBox (" j = ", "Ввод значения начала таблицы, столбец j ", 3, 8000, 2000)
x = xn: Cells(i, j) = "X(vba)": Cells(i, j + 1) = "Y(vba)"
10 y = Exp(x - 2) * (1 + x ^ 2 + 2 * x) ^ 0.5
Cells(i + 1, j) = x
Cells(i + 1, j + 1) = y
x = x + dx
i = i + 1
If x > xk Then GoTo 20 Else GoTo 10
End Sub
Некоторые комментарии к программе:
– Объявление простых переменных, строго говоря, в VBA не требуется, но бывают случаи, когда именно из-за этого программа работает не правильно или не работает вообще;
– В операторе InputBox используются пять параметров, первые два – символьные константы, их использование объясняется при появлении окна InputBox , третий параметр– предлагаемое значение, которое можно изменить, четвертый и пятый параметры– координаты левого верхнего угла окна InputBox на экране;
– Конечно, можно написать более совершенную программу, исключающую применение условного оператора и тем более операторов перехода, применив один из операторов цикла, но предполагается, что на данном этапе студенты еще не знакомы с разновидностями операторов цикла и поэтому главным критерием качества программного продукта является решение поставленной задачи;
|
|
ТАБУЛИРОВАНИЕ РАЗВЕТВЛЯЮЩЕЙСЯ ФУНКЦИИ
Выполнение этой лабораторной работы, также как и всех последующих связанных с табуляцией функций, целесообразно начинать с копирования предыдущей.
СКОПИРОВАТЬ ВЕСЬ ЛИСТ С ЛАБОРАТОРНОЙ РАБОТОЙ ТАБУЛИРОВАНИЕ ФУНКЦИИ НА ЧИСТЫЙ ЛИСТ И НА НЕМ ПРОИЗВЕСТИ НЕОБХОДИМЫЕ ИЗМЕНЕНИЯ.
Лабораторная работа “Табулирование разветвляющейся функции” также состоит из двух частей:
– табулирование функции в Excel;
– табулирование функции в VBA.
Критерием правильности является совпадение полученных таблиц.
Однако, в связи с условием задачи спектр значений функции G ( x ) формируется не как раньше в одном столбце, а в двух, рис. 2.1.
При этом в ячейки В6: B 12 вносится арифметическое выражение, соответствующее первой формуле задания, а в ячейки С13: C 26 – арифметическое выражение, соответствующее второй формуле задания. Можно отобразить их разным цветом.
Именно эти два столбца ПОЛНОСТЬЮ используются для построения графика.
В ячейках D 6: D 26 записывается логическая функция ЕСЛИ, с помощью мастера функций fx .
Выполняется это следующим образом:
|
|
– выбрать ячейку D 6;
– включить мастер функций fx
– в появившемся окне рис. 2.2 мастера функций fx выбрать логическую функцию ЕСЛИ
Рис. 2.1
Рис. 2.2
– в окне “Аргументы функции” рис. 2.3 в первом окне записать логическое выражение, соответствующее заданию, при этом справа, если выражение написано грамматически правильно, появляется результат “= истина”.
Рис. 2.3
В самом деле, значение ячейки А6 равно -3, что меньше нуля. Во второе окно записывается арифметическое выражение соответствующее первой формуле задания, в третье – арифметическое выражение соответствующее второй формуле задания. Грамматическая правильность записи арифметических выражений подтверждается числовыми результатами, сформированными на основании вычислений арифметических выражений при значении ячейки А6 равном -3. Эти результаты появляются справа от окон,
– нажать ОК;
– скопировать формулу ячейки D 6 в диапазон D 6: D 26;
Числовые значения ячеек диапазона D 6: D 26 должны совпадать с числовыми значениями ячеек диапазонов B 6: B 12 и C 13: C 26.
Можно не обращаться к мастеру функций fx ,а просто записать в ячейку D 6 выражение
= ЕСЛИ (A6<=0;SIN(A6);EXP(-A6))
а затем скопировать от D 6 до D 26 включительно.
|
|
ПРОГРАММНЫЙ МОДУЛЬ VBA ИЗ ЛАБОРАТОРНОЙ РАБОТЫ “ТАБУЛИРОВАНИЕ ФУНКЦИИ” СКОПИРОВАТЬ В МОДУЛЬ ОБЪЕКТА CommandButton ЛАБОРАТОРНОЙ РАБОТЫ “ТАБУЛИРОВАНИЕ РАЗВЕТВЛЯЮЩЕЙСЯ ФУНКЦИИ”.
Внести соответствующие изменения.
Дата добавления: 2019-03-09; просмотров: 529; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!