Программа табулирование разветвляющейся функции в V ВА



Private Sub CommandButton 1_ 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 g As Single

xn = InputBox (" Xn = ", "Ввод начального значения x ", -3, 8000, 2000)

xk = InputBox (" Xk = ", "Ввод конечного значения x ", 7, 8000, 1000)

dx = InputBox (" dX = ", "Ввод значения шага x ", 0.5, 8000, 2000)

i = InputBox (" i = ", "Ввод значения начала таблицы, строка i ", 5, 8000, 1000)

j = InputBox (" j = ", "Ввод значения начала таблицы, столбец j ", 5, 8000, 2000)

x = xn: Cells(i, j) = "X(vba)": Cells(i, j + 1) = "G1(vba)": Cells(i, j + 2) = "G2(vba)"

10 Cells(i + 1, j) = x

If x <= 0 Then

g = Sin(x)

Cells(i + 1, j + 1) = g

Else

g = Exp(-x)

Cells(i + 1, j + 2) = g

End If

x = x + dx

i = i + 1

If x > xk Then GoTo 20 Else GoTo 10

End Sub

Некоторые комментарии к программе:

 

    – Применен условный оператор, у которого в частях Then и Else находятся по два оператора, поэтому по грамматическим требованиям необходим переход на другую строку и завершается оператор End If .

 

 


ТАБУЛИРОВАНИЕ ФУНКЦИИ, РАЗВЕТВЛЯЮЩЕЙСЯ БОЛЬШЕ, ЧЕМ ОДИН РАЗ

Выполнение этой лабораторной работы, также как и всех последующих связанных с табуляцией функций, целесообразно начинать с копирования предыдущей.

 

СКОПИРОВАТЬ ВЕСЬ ЛИСТ С ЛАБОРАТОРНОЙ РАБОТОЙ “ТАБУЛИРОВАНИЕ РАЗВЕТВЛЯЮЩЕЙСЯ ФУНКЦИИ” НА ЧИСТЫЙ ЛИСТ И НА НЕМ ПРОИЗВЕСТИ НЕОБХОДИМЫЕ ИЗМЕНЕНИЯ.

 

Лабораторная работа “Табулирование функции разветвляющейся больше, чем один раз” также состоит из двух частей:

–  табулирование функции в Excel;

–  табулирование функции в VBA.

Критерием правильности является совпадение полученных таблиц.

Однако, в связи с условием задачи спектр значений функции Z ( x ) формируется не как раньше в одном или в двух столбцах, а в трех, рис. 3.1.

 


Рис. 3.1


При этом в ячейки В6: B 12 вносится арифметическое выражение, соответствующее первой формуле задания, в ячейки С13: C 19 вносится арифметическое выражение, соответствующее второй формуле задания, а в ячейки D 20: D 26 вносится арифметическое выражение, соответствующее третьей формуле задания. Можно отобразить их разным цветом.

Именно эти три столбца ПОЛНОСТЬЮ используются для построения графика.

В ячейках E 6: E 26 записывается логическая функция ЕСЛИ, с помощью мастера функций  fx .

Выполняется это следующим образом:

– выбрать ячейку E 6;

– включить мастер функций  fx

– в появившемся окне рис. 3.2 мастера функций  fx  выбрать логическую функцию ЕСЛИ

 

 

Рис. 3.2

 

– в окне “Аргументы функции” рис. 3.3 в первом окне записать логическое выражение, соответствующее заданию, при этом справа, если выражение написано грамматически правильно, появляется результат “= истина”.

 

 

Рис. 3.3

 

В самом деле, значение ячейки А6 равно -3, что меньше нуля. Во второе окно записывается арифметическое выражение соответствующее первой формуле задания, в третье – логическую функцию,

 

Если ( И (A6>0;A6<=3,5);exp(-A6);ln(A6)),

соответствующее второй и третьей частям задания. Грамматическая правильность записи арифметических выражений подтверждается числовыми результатами, сформированными на основании вычислений арифметических выражений при значении ячейки А6 равном -3. Эти результаты появляются справа от окон;

– нажать ОК;

– скопировать формулу ячейки E 6 в диапазон E 6: E 26;

Числовые значения ячеек диапазона E 6: E 26 должны совпадать с числовыми значениями ячеек диапазонов B 6: B 12 , C 13: C 19 и D 20: D 26.

 

Можно не обращаться к мастеру функций fx , а  просто записать в ячейку E 6 выражение

 

 =ЕСЛИ(A6<=0;SIN(A6);ЕСЛИ(И(A6>0;A6<=3,5);EXP(-A6);LN(A6)))

 

а затем скопировать от E 6 до E 26 включительно.

 

ПРОГРАММНЫЙ МОДУЛЬ VBA ИЗ ЛАБОРАТОРНОЙ РАБОТЫ “ТАБУЛИРОВАНИЕ РАЗВЕТВЛЯЮЩЕСЯ ФУНКЦИИ” СКОПИРОВАТЬ В МОДУЛЬ ОБЪЕКТА CommandButton ЛАБОРАТОРНОЙ РАБОТЫ “ТАБУЛИРОВАНИЕ ФУНКЦИИ, РАЗВЕТВЛЯЮЩЕЙСЯ БОЛЬШЕ, ЧЕМ ОДИН РАЗ”.

 

Внести соответствующие изменения.

 


Дата добавления: 2019-03-09; просмотров: 303; Мы поможем в написании вашей работы!






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