![]() КАТЕГОРИИ: Архитектура-(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) |
End Function
End Sub Объявление процедур и функций Вызов процедур и функций Чтобы код функции или процедуры общего назначения был исполнен, она должна быть вызвана. Вызов процедуры осуществляется вставкой в программу строки, которая начинается с ее имени. Сразу после имени должны следовать разделенные запятой аргументы процедуры, если таковые предусмотрены.
ИмяПроцедуры [Список значений аргументов]
Другой способ вызова процедуры (оставлен для совместимости со старыми версиями VB) заключается в использовании ключевого слова Call, при этом за ним должно следовать имя процедуры и заключенный в скобки список аргументов.
Call ИмяПроцедуры [(Список значений аргументов)] Функция возвращает значение, в остальном же ее вызов подобен вызову процедуры.
X = A + ИмяФункции ([Список значений аргументов])
Чтобы функция могла вернуть значение, ее вызов должен фигурировать в какой-нибудь конструкции, использующей возвращаемое функцией значение (например, в качестве присваиваемой величины в операции присваивания, в качестве условия в конструкции If и т. п.). Процедура (функция) не может быть определена внутри какой-либо процедуры или функции. Для объявления процедуры используют следующий синтаксис:
[ Private /Public][Static] Sub ИмяПроцедуры _ [(Список аргументов)] [Инструкции] [Exit Sub] [Инструкции]
Синтаксис объявления функции выглядит несколько иначе:
[ Private /Public][Static] Function ИмяФункции _ [(Список аргументов)] [ As Тип] [Инструкции] [ИмяФункции = Выражение] [Exit Function] [Инструкции] [ИмяФункции = Выражение] Пояснения синтаксиса:
Синтаксис аргументов сам по себе является достаточно развитым:
[Optional] [ByVal / ByRef ] [ParamArray] _ ИмяАргумента [()] [ As Тип][= ЗначениеПоУмолчанию]
ИмяАргумента – это имя переменной, массива, элемента управления или формы (в последних двух случаях тип принимает значения Control или Form). В случае массива после имени массива ставится пара скобок (), внутри которых не указываются границы значений индексов, что позволяет использовать одну процедуру (функцию) для разного числа элементов массива в каждом конкретном случае. Тип может быть Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (только переменной длины), Variant, пользовательский тип или Control и Form. Список аргументов определяет связь по данным между вызывающей процедурой (процедура, из которой происходит вызов) и вызываемой процедурой. Пример объявления процедуры вычисления площади прямоугольника по заданным значениям сторон:
Sub D (Длина As Single, Высота As Single, _ Площадь As Single) Площадь = Длина * Ширина End Sub
Пример обращения к процедуре:
D w1, h1, s1 D w2, h2, s2 s = s1 + s2
Пример объявления функции вычисления площади прямоугольника по заданным значениям сторон:
Function Df (Длина As Single, _ Высота As Single) As Single Df = Длина * Ширина End Function
Пример обращения к функции:
s = Df(w1, h1) + Df(w2, h2)
Пример процедуры формирования вектора из сумм элементов столбцов матрицы:
Sub MatrVektor (A() As Single, B() As Single, _ MaxI As Integer, MaxJ As Integer) Dim J As Integer, I As Integer For J = 1 To MaxJ A(J) = 0 For I = 1 То MaxI А(J) = А(J) + B(I,J) Next Next End Sub
Изменяя значения аргументов данную процедуру можно использовать для работы с матрицами произвольного размера. А вот пример функции для вычисления среднего значения элементов одномерного массива:
Function FunSumVector (A() As Single, _ MaxI As Integer) As Single Dim Sum As Single, I As Integer Sum = 0 For i=1 To MaxI Sum = Sum + A(I) Next FunSumVector = Sum/MaxI End Function
В следующем примере функция Celsius пересчитывает градусы Фаренгейта в градусы Цельсия. Когда функция вызывается процедурой Command1_Ckick, переменная, содержащая значение аргумента, передается функции. Результат вычислений возвращается вызывающей процедуре и выводится в окно сообщения.
Sub Command1_Ckick() Dim t As Single t = InputBox(_ "Введите температуру в градусах Фаренгейта“) MsgBox "Температура равна " & _ Celsius(t) & " градусов Цельсия" End Sub Function Celsius(ГрадФар As Single) As Single Celsius = (ГрадФар - 32) * 5 / 9 End Function
Поясним назначение зарезервированных слов, применяемых при определении аргументов:
Дата добавления: 2014-12-07; Просмотров: 670; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |