КАТЕГОРИИ: Архитектура-(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
Процедура Function Процедури End Sub Next i Next j Next i Next j Dim i, j, n, m, jmax As Integer Dim c(1 to 50, 1 to 50) As Double, max As Double End Sub Next j Next i Next i Next j Dim i As Integer, j As Integer, n As Integer, m As Integer Dim d(1 to 10, 1 to 20) As Single, sum(1 to 20) As Single End Sub Next n For Each n In a Next i Dim p As Single, i As Integer, n As Variant Dim a(1 to 10) As Double For i = 1 To 10 a(i) = Val(InputBox("Введіть "& str(i) & “ елемент масиву а")) p = 1 If n > 0 Then p = p * n MsgBox "p=" & p Приклад 5. Дана матриця D=(dij), i= 1,2,...,m; j=1,2,...,n (m£10, n£20). Знайти суми позитивних елементів кожного стовпця. Позначення: sum[j] - сума позитивних елементів j- го стовпця. Sub Р5() n = Val(InputBox("Введіть кількість рядків n")) m = Val(InputBox("Введіть кількість стовпців m")) For i = 1 To n For j = 1 To m d(i, j) = Val(InputBox("Введіть масив d")) For j = 1 To m sum(j) = 0 For i = 1 To n If d(i, j) > 0 Then sum(j) = sum(j) + d(i, j) Debug.Print sum(j) Приклад 6. Дана матриця З=(сij), i=1,2,...n; j=1,2,... m (n£50, m£50). Визначити для кожного рядка максимальний елемент і його індекси. (Передбачається, що в кожному рядку є єдиний максимальний елемент). Позначення: max - максимальний елемент у рядку, jmax - номер стовпця максимального елемента. Sub Р6() n = Val(InputBox("Введіть кількість рядків n")) m = Val(InputBox("Введіть кількість стовпців m")) For i = 1 To n For j = 1 To m c(i, j) = Val(InputBox("Введіть масив c")) For i = 1 To n jmax = 1: max = c(i, 1) For j = 1 To m If c(i, j) > max Then max = c(i, j): jmax = j Debug.Print "max= " & max & “ imax=” & i & " jmax=" & jmax
Програма може являти собою сукупність окремих блоків-підпрограм (процедур). Використання процедур дозволяє реалізувати один із самих прогресивних методів програмування - структурне програмування. Процедури доцільно застосовувати у випадках, коли однакову послідовність дій необхідно виконувати в різних частинах програми й при різних вхідних даних. Таку послідовність дій можна виділити в самостійну програмну одиницю - процедуру, що може бути використана багаторазово в міру необхідності. В VBA є 3 види процедур: процедура Function, процедура Sub і процедура Property. У даній роботі розглядаються тільки процедури Function і Sub. VBA містить безліч вбудованих функцій, наприклад, cos, sqr, mid, але користувач може створювати власні функції, використовуючи для цього процедуру Function. Синтаксис поцедури Function: [Private ½Public ½Static] Function Ім'я(Список аргументів ) [As тип ] Блок операторів Тут і далі (означає, що використовується один з варіантів: Private, Public або Static. Private - означає, що процедура Function доступна для інших процедур тільки того модуля, у якому вона описана. Public -означає, що процедура Function доступна для інших процедур у всіх модулях. Static – означає, що локальні змінні процедуриFunction зберігаються в проміжках часу між викликами цієї процедури. Ім'я – ідентифікатор функції, що задовольняє стандартним правилам побудови імен; Тип – тип значення, що повертається Function; Список аргументів - список змінних, що представляють аргументи, які передаються в процедуру Function при її виклику. Аргументи в списку відділяються комами. Структура аргументу: [Optional] [ByVal ½ByRef] [ ParamАrray] Ім'я [As тип ] Optional - указує, що даний аргумент є необов'язковим. Аргументи, позначені кваліфікатором Optional повинні перебувати наприкінці списку аргументів. ByVal - означає, що аргумент передається за значенням. При цьому виключається можливість зміни значення аргументу процедури після її завершення. ByRef – аргумент передається по посиланню. Передача аргументу по посиланню дає процедурі доступ до вмісту змінної за її адресою в пам'яті. Значення змінної може бути змінене процедурою, що викликається. За замовчуванням установлюється ByRef. ParamАrray - позначає необов'язковий аргумент, що є масивом довільного числа змінних типу Variant. Цей аргумент може бути тільки останнім у списку аргументів. З ним не можуть використовуватися ключові слова ByVal, ByRef, Optional. Тип - тип аргументу, може використовуватися будь-який стандартний тип даних. За замовчуванням використовується Variant. Приклади заголовка процедури-функції:
Дата добавления: 2014-01-07; Просмотров: 301; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |