КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Обращение к функции
Формальные и фактические параметры Подпрограмма составляется формально. Используемые в ней переменные, называются формальными. Формальные параметры – это идентификаторы переменных, через которые передается информация из основной программы в подпрограмму и обратно. Их имена используются в теле подпрограммы, но на самом деле она будет обрабатывать фактические параметры, переданные при вызове, которые могут иметь совершенно другие имена. Фактические параметры - это информация о том, какие значения нужно передать аргументам подпрограммы и каким именам основной процедуры передать значения результатов подпрограммы. При вызове подпрограммы из основной процедуры формальные параметры заменяются фактическими, между ними устанавливается взаимно однозначное соответствие, удовлетворяющее одному условию: соответствующие друг другу параметры должны совпадать по порядку следования и по типу. Блок подпрограммы выполняется для фактического набора параметров. Типы формальных параметров функции (в скобках) и самой функции можно не указывать - в этом случае им присваивается тип Variant. Значения формальных параметров передается в процедуру по ссылке ByRef. VBA не отводит для них дополнительного места в памяти (чтобы хранить их значения). Поэтому формальные параметры не являются настоящими переменными - это только ссылки на значения соответствующих переменных из вызывающей процедуру программы. Если же в ходе выполнения процедуры эти параметры меняют свои значения, то в итоге может быть получен неверный результат. Чтобы этого не произошло, используется передача формального параметра в процедуру по его значению с помощью записи выражения ByVal перед именем параметра. Например, заголовок функции может иметь следующий вид: Function F(ByVal x As Single, n As Integer) As Single
Описание функции задает формальную схему обработки информации, в то время как оператор вызова функции осуществляет настройку этой формальной схемы на конкретную обработку фактических данных. Для того чтобы использовать написанную вами функцию, ее можно вызвать в программный код VBA, поместив ее имя со списком фактических параметров в расчетную формулу. Обращение к функции является операндом в выражении также как и обращение к обычной функции. Пример: Пусть дана функция F(x)=x2+2. Необходимо вычислить таблицу значений y=F(z+2)+F(z)+3 для z=0(1)5 В разделе General: Function F (ByVal x As Integer) As Integer F=x^2+2 End Function Для командной кнопки «Таблица значений»:
Private Sub CommandButton1_Click() Dim y As Integer, z As Integer for z=0 To 5 y=F(z+2)+F(z)+3 MsgBox ("Значение y=" & Format(y, "##.####")) Next z End Sub
Пример. Вычислить m!+n!
Function f(a As Integer) f = 1 For i = 1 To a f = f * i Next End Function
Private Sub CommandButton1_Click() Dim m As Integer, n As Integer m = Val(InputBox("Введите m")) n = Val(InputBox("Введите n")) s = f(m) + f(n) MsgBox (s) End Sub
Пользовательская функция листа Пользовательская функция листа – это функция, которая используются в формулах ячеек рабочего листа так же, как встроенные функции Excel. Для того чтобы использовать эту функцию, ее нужно вызвать, поместив ее имя со списком фактических параметров в формулу на рабочем листе. В этом случае она будет называться пользовательской функцией листа. Записываются они, как правило, в специальных листах, называемых модульными листами или просто модулями. В программировании под модулем понимают набор инструкций, хранящийся в одном месте. Кстати и текст макроса, записанный макрорекодером, тоже автоматически заносится в модуль. Для создания нового модульного листа необходимо: · вызвать редактор VBA (Alt+F11); · выполнить команду Insert/Module
Например, для функции F:
Function F(X As Single,Y As Single) As Single Dim Z As Single Z=X^2+Y^2 F=Sqr(Z) End Function
A4Þ3 B4Þ4 C4Þ =F(A4;B4) Þ5
На Рабочем листе:
После записи функции в модульном листе в списке «Категории функций» в окне Мастера функций появится раздел «Определенные пользователем». Внутри этого раздела появится функция с именем F.
Пример: Решить квадратное уравнение:
Для его решения создадим следующие функции:
Вычисления дискриминанта Function Fdisc(a As Single, b As Single, c As Single) As Single Fdisc = b ^ 2 - 4 * a * c End Function
Вычисления первого (положительного) корня: Function Fplus(a As Single, b As Single, c As Single) As Variant Dim D As Single D = b ^ 2 - 4 * a * c If D >= 0 Then Fplus = (-b + Sqr(D)) / (2 * a) Else Fplus = "D<0!" End If End Function
Вычисления второго (отрицательного) корня: Function Fminus(a As Single, b As Single, c As Single) As Variant Dim D As Single D = b ^ 2 - 4 * a * c If D >= 0 Then Fminus = (-b - Sqr(D)) / (2 * a) Else Fminus = "D<0!" End If End Function
Пример: Для d=5 и y=1(0,5)3 вычислить , где
в разделе General: Function f(x As Single) Dim d As Single d = 5.2 f = Sqr(x ^ 3 + x ^ 2 + x + d) End Function
Для кнопки «Вычислить»: Dim b As Single, y As Single i = 22 y1 = Worksheets("Функции ").Range("c23") yk = Worksheets("Функции ").Range("c25") dy = Worksheets("Функции ").Range("c27") For y = y1 To yk Step dy b = f(y) + Sin(f(2)) - f(Abs(2 * y)) Worksheets("Функции ").Cells(i, 7) = b i = i + 1 Next y End Sub
В редакторе VBA добавляем модульный лист: InsertÞModule
Копируем в него функцию пользователя: Function f(x As Single) Dim d As Single d = 5.2 f = Sqr(x ^ 3 + x ^ 2 + x + d) End Function
В ячейку H22 вводим формулу: =f(F22)+SIN(f(2))-f(ABS(2*F22)) И копируем ее во все остальные ячейки данного столбца.
Решим эту же задачу, только с другими исходными данными: Пример: Для d=5 и y={1,5;8,2;-2,5;3;7} вычислить , где
Для кнопки «Вычислить»: Dim b As Single, y As Single For i = 22 To 26 i = Worksheets("Функции "). Cells(i, 6) b = f(y) + Sin(f(2)) - f(Abs(2 * y)) Worksheets("Функции ").Cells(i, 7) = b Next i End Sub
Лекция №12 В настоящее время для научно-технических расчетов на компьютерах все чаще и чаще используются не традиционные языки программирования и не электронные таблицы, а специальные математические программы типа Mathematica, MatLab, Maple, Mathcad, Gauss, Reduce, Eureka и др. Математические пакеты, в особенности Mathcad — самый популярный пакет из вышеперечисленного списка, — позволяют специалистам в конкретной научно-технической области очень быстро освоить работу на компьютере и реализовать на них математические модели, не вдаваясь в тонкости программирования на традиционных языках (fortran, С, Pascal, BASIC и др.). Данный пакет был разработан фирмой Math Soft Inс (USA). В состав Mathcad входят несколько интегрированных между собой компонентов: 1) мощный текстовый редактор, позволяющий вводить, редактировать и форматировать как текст, так и математические выражения; 2) вычислительный процессор, умеющий проводить расчеты по введенным формулам, используя встроенные численные методы; 3) символьный процессор, являющийся, фактически, системой искусственного интеллекта; 4) графический процессор, позволяющий построить различные типы графиков, в различных системах координат. 5) огромное хранилище справочной информации, как математической, так и инженерной, оформленной в виде библиотеки интерактивных электронных книг.
В Mathcad интерфейс пользователя интуитивен и сходен с другими приложениями Windows (рис. 1). Отметим его основные элементы: · верхнее меню, или строка меню (menu bar); · рабочая область (Worksheet); · панели инструментов (toolbars) Standard (Стандартная) и Formatting (Форматирование); · панель инструментов Math (Математика) и доступные через нее дополнительные математические палитры символов: -общие арифметические операторы; -знак равенства, знаки отношения; -различные 2-х и 3-х мерные графики; -матричные и векторные операции; -производные, интегралы, пределы, ряды и произведения; -программные структуры; -греческие буквы. символьные вычисления-
Дата добавления: 2014-01-07; Просмотров: 282; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |