Построение графиков функций в Excel

Построить графики функций с применением имён диапазонов и создав в VBA функцию пользователя:

I. Построить в одной системе координат

1. Y =aCos(x); Z= b Cos 2 (2x) ,Построение графиков функций в Excel - student2.ruпри xÎ [-2;2], Dx=0,2

2. Y =aSin(px) – a Cos(px); Z= Cos2(2px) – qSin(px), при xÎ [-1,8;2], Dx=0,25

3. Y =aSin(px)- Cos(3px); Z= Cos(2px) – bSin3(px),при xÎ [-3;3,4], Dx=0,8

4. Y =qSin(2px)Cos(px)–Cos2(3px); Z= qCos2(2px)–Sin (3px),при xÎ[-1,1], Dx=0,05

5. Y =aSin(px)Cos(px); Z= Cos2(px)Sin(spx),при xÎ [0;4], Dx=0,4

6. Y =sSin(3px)Cos(2px); Z= Cos3(qpx)Sin(px) ,при xÎ [-3;0], Dx=0,3

7. Y =aSin(2px)Cos(4px); Z= Cos 2(bpx)-Cos(px)Sin(px) ,при xÎ [-3,3;0,9], Dx=0,3

8. Y =Sin(jpx)+bSin(2px)Cos(3px); Z= Cos(px)-Cos(dpx)Sin2(px),при xÎ [0;2], Dx=0,1

9. Y =Cos(apx)Sin(px)+qSin(3px)Cos(2px); Z= Cos 2(px)-Cos(apx),при xÎ [0;3], Dx=0,2

10. Y =fSin(2px)Cos(px)+Sin(px); Z= Cos (apx)Sin2(px)-Cos(4px),при xÎ [0;2], Dx=0,1

II. Построить графики следующих функций:

1. Z = Построение графиков функций в Excel - student2.ru,при xÎ[-1,4;1,4], Dx=0,1

2. Y = Построение графиков функций в Excel - student2.ru,при xÎ[-1,5;1,9], Dx=0,3

3. G = Построение графиков функций в Excel - student2.ru,при xÎ [-1,5;1,5], Dx=0,1

4. Y = Построение графиков функций в Excel - student2.ru,при xÎ[-1,5;1,9], Dx=0,3

5. Y = Построение графиков функций в Excel - student2.ru , при xÎ [-2;2], Dx=0,2

6. Y = Построение графиков функций в Excel - student2.ru,при xÎ[-1,7;1,3], Dx=0,3

7. G = Построение графиков функций в Excel - student2.ru,при xÎ [-1,5;1,5], Dx=0,1

8. G = Построение графиков функций в Excel - student2.ru,при xÎ [-2;2], Dx=0,2

9. G = Построение графиков функций в Excel - student2.ru,при xÎ [-2;2], Dx=0,1

10. Z = Построение графиков функций в Excel - student2.ru,при xÎ [-2;1,4], Dx=0,2

11. G = Построение графиков функций в Excel - student2.ru,при xÎ [-1,5;1,5], Dx=0,1

12. Y = Построение графиков функций в Excel - student2.ru,при xÎ [-1,5;1,5], Dx=0,1

13. Z = Построение графиков функций в Excel - student2.ru,при xÎ [-1,8;1,8], Dx=0,1

14. = Построение графиков функций в Excel - student2.ru,при xÎ[-2;1,8], Dx=0,2

15. Z = Построение графиков функций в Excel - student2.ru,при xÎ [-1,8;1,8], Dx=0,2

16. Z = Построение графиков функций в Excel - student2.ru,при xÎ[-1,6;2,5], Dx=0,3

17. Z = Построение графиков функций в Excel - student2.ru,при xÎ [-1,8;1,6], Dx=0,2

18. Z = Построение графиков функций в Excel - student2.ru,при xÎ[-1,4;1,4], Dx=0,1

19. Y = Построение графиков функций в Excel - student2.ru,при xÎ[-1,5;1,9], Dx=0,3

20. G = Построение графиков функций в Excel - student2.ru,при xÎ[-1,4;1,8], Dx=0,2

Лабораторная работа № 7

Основы программирования в VBA.

Visual Basic for Applications

Язык Visual Basic for Applications является одной из версий популярного языка разработки приложений Visual Basic.

Отличия двух языков:

· Язык Visual Basic разрабатывался для создания законченных самостоятельных приложений, VBA используется для автоматизации существующих приложений

· Visual Basic имеет собственную среду программирования, VBA использует среду приложения

· Приложения, созданные в Visual Basic, можно скомпилировать в .EXE файлы. VBA - приложения могут выполняться только в том приложении, в котором они были созданы

Общими для VBA и VB являются:

· Язык программирования (типы данных, правила объявления и использования переменных, процедур и функций)

· Средства разработки и отладки программ

· Аналогичные модели объектно-ориентированного и событийно-управляемого программирования

Процедуры

Процедура— это именованный блок операторов VBA, расположенная в модуле

В VBA можно выполнить только тот программный код, который содержится в какой-либо процедуре. Вне процедуры, в начале модуля, могут располагаться только установка опций(например Option Explicit - требование обязательного объявления переменных) и объявление переменных и констант, общих для модуля или проекта.

· Набор команд, который предполагается использовать многократно, записывается в виде процедуры пользователя.

· Повторное использование отлаженного кода при применении процедуры пользователя позволяет сократить время разработки программы, а также ее размер.

· Детали вычислений заменяются в основной программе оператором вызова соответствующей процедуры пользователя

· Такой подход улучшает читабельность программы и позволяет абстрагироваться от деталей вычислений.

Свойства процедуры

· Каждая процедура имеет один вход. При вызове процедуры управление передается ее первой инструкции.

· На время выполнения вызываемой процедуры выполнение вызывающего ее процедуры откладывается. В любой момент времени выполняется только одна процедура.

· После завершения процедуры управление всегда возвращается в вызывающую процедуру на инструкцию, следующую непосредственно за вызовом процедуры.

В VBA предусмотрены следующие типы процедур:

• процедура типа Sub(подпрограмма)— универсальная процедура для выполнения каких-либо действий, типа ввода данных(например массива), вывода, изменения элементов массива и т.п..

Синтаксис инструкции Sub

[Private | Public] Sub имяПроцедуры ([списокАргументов])

[инструкции]

[Exit Sub]

[инструкции]

End Sub

процедура типа Function(функция) — набор инструкций для вычисления сложного выражения.

Принципиальное отличие: функция возвращает вызвавшей ее программе (или процедуре) какое-то значение, которое будет там использовано.

Синтаксис инструкции Function

[Private | Public] Function имяФункции ([список_Аргументов]) [As тип]

[инструкции]

[имяФункции =выражение]

[Exit Function]

[инструкции]

[имяФункции = выражение]

End Function

Пример использования процедуры и функции пользователя.

Постановка задачи следующая:

Заполнить вектор (одномерный массив) B кубическими корнями элементов вектора А. размерность векторов, разумеется, одинаковые.

Private Sub main() 'Главная процедура

Dim A() As Double, B() As Double, n As Integer, i As Double

n = InputBox("Введи размер вктора")

ReDim A(1 To n)

ReDim B(1 To n)

ВводВектКлав A, n

ПечатВект A, n

ЗаполнВект B, A, n

ПечатВект B, n

End Sub

Private Sub ЗаполнВект(вект1, вект2, размер)

Dim i As Integer

For i = 1 To размер

вект1(i) = фунКубКорень(вект2(i))

Next

End Sub

Public Sub ВводВектКлав(вектор, размер As Integer)

Dim i As Integer

For i = 1 To размер

вектор(i) = InputBox("Введи элемент №" & i)

Next

End Sub

Public Sub ПечатВект(вектор, размер As Integer)

Dim i As Integer

Debug.Print

For i = 1 To размер

Debug.Print вектор(i),

Next

Debug.Print

End SubPublic Sub ЗаполнВект(вект1, вект2, размер)

Dim i As Integer

For i = 1 To размер

вект1(i) = фунКубКорень(вект2(i))

Next

End Sub

Public Function фунКубКорень(x)

If x >= 0 Then фунКубКорень = x ^ (1 / 3): Exit Function

If x < 0 Then фунКубКорень = -Abs(x) ^ (1 / 3)

End Function

В главной (основной) процедуре main объявляются два вещественных вектора A и B, а так же размерность векторов n.

Размер вектора n вводится с клавиатуры, а затем вызывается процедура пользователя ВводВектКлав с фактическими параметрами: имя вектора А размерностью n. Вызванная процедура заполняет вектор числами, введенными с клавиатуры, и возвращает управление в основную процедуру. Затем вызывается процедура ПечатВект с фактическими параметрами А и n. После печати вектора А вызывается процедура заполнения, куда передаются: вектор В для заполнения, вектор А и их размерность.

Так как в VBA не существует функции кубического корня, то создана функция пользователя с именем фунКубКорень, которая позволяет вычислять кубический корень, в том числе из отрицательного числа. После возврата в основную процедуру из процедуры ЗаполнВект, опять вызывается процедура ПечатВект, но теперь в качестве фактического параметра выдается вектор В и его размер. Имена аргументов процедур пользователей (вектор, размер и т.п.) написаны на кириллице только для того, чтобы подчеркнуть, что это формальные аргументы. Правильнее и проще задать эти имена латиницей, например V1, N, и т.п. Имена процедур и функций пользователя имеет смысл задавать по-русски, когда из названия будет ясно назначение этих процедур.

Проект содержит два модуля. В модуле Module1 находится основная процедуры main и ЗаполнВект, в модуле с именем библиотека находятся общедоступные (Public) процедуры.

Задание: создайте в VBA этот проект и выполните его в пошаговом режиме (запуск клавишей F8), наблюдая вызовы процедур и изменение значений переменных в окне Locals (вызов окна View-> Locals Window). Построение графиков функций в Excel - student2.ru

Рисунок 1

Наши рекомендации