Студопедия

КАТЕГОРИИ:


Архитектура-(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.

Приклади заголовка процедури-функції:

<== предыдущая лекция | следующая лекция ==>
End Sub. Dim kv1 As Single, kv2 As Single, i As Integer | Private Function F1(a As Single, ParamArray x) As Single
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 276; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.