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; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!