Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA2.DOC
Скачиваний:
17
Добавлен:
19.12.2018
Размер:
62.98 Кб
Скачать

Некоторые алгоритмы обработки матриц

Поиск минимального элемента матрицы

Пример. Дана матрица А(2,3). Найти минимальный элемент.

Программа

Sub MinMat()

Dim a(2, 3) As Single

Dim min As Single, i, j As Integer

'ввод матрицы

For i = 1 To 2

For j = 1 To 3

a(i, j) = Cells(i + 1, j)

Next j

Next i

min = a(1, 1)

For i = 1 To 2

For j = 1 To 3

If a(i, j) < min Then min = a(i, j)

Next j

Next i

MsgBox ("Минимальный элемент min=" + Str(min))

End Sub

Умножение матрицы на вектор

Пример. Дана матрица А(2,3) и вектор В(3). Найти произведение А*В.

Программа

Sub UmnMatNaVec()

Dim a(2, 3) As Single, b(3) As Single, c(2) As Single

Dim s As Single, i, j As Integer

'ввод матрицы

For i = 1 To 2

For j = 1 To 3

a(i, j) = Cells(i + 1, j)

Next j

Next i

'ввод массива

For i = 1 To 3

b(i) = Cells(4, i + 1)

Next i

For i = 1 To 2

s = 0

For j = 1 To 3

s = s + a(i, j) * b(j)

Next j

c(i) = s

Next i

'вывод нового массива b(5)

Cells(6, 1) = "Массив c(2)"

For i = 1 To 2

Cells(6, i + 1) = c(i)

Next i

End Sub

Подпрограммы и функции

При разработке макросов часто требуется выполнять одни и те же законченные действия в различных его частях. Чтобы избежать многократного набора кода для этих действий, целесообразно описать их в виде подпрограммы и обращаться к ней по мере необходимости. Различают подпрограммы-процедуры и подпрограммы-функции. Описываются подпрограммы при помощи инструкций Sub...End Sub— это подпрограмма-процедура, инструкций Function...End Function

— это подпрограмма-функция. Подпрограмма Function и подпрограмма Sub являются самостоятельной программой, которая может получать аргументы, выполнять последовательность операторов и изменять значения своих аргументов. Различие между процедурами и функциями состоит в том, что функция всегда возвращает значение и процедура Function может применяться в правой части выражения, как и любая другая встроенная функция, например, Sqr, Cos или Chr, а процедура Sub не может. Для работы подпрограммам иногда необходимо передать данные, которые носят названия параметров или аргументов подпрограммы. Параметры передаются в подпрограммы при ее вызове при помощи перечисления их после имени подпрограммы. При этом описание действий в подпрограмме осуществляется с использованием формальных параметров. Обращение к подпрограмме осуществляется с фактическими параметрами, которые должны соответствовать формальным по числу, типу и месту расположения.

Оператор Sub...End Sub

Описывает имя, аргументы и текст программы, составляющий тело процедуры Sub.

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

Sub имя [(слисока аргументов)]

операторы

End Sub

Здесь

имя — обязательный элемент, это имя процедуры Sub, удовлетворяющее =: стандартным правилам именования переменных.

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

операторы— любая группа операторов, выполняемых в процедуре Sub, находятся между Sub и End Sub.

Не допускается определение процедуры Sub внутри другой процедуры Sub или Function.

Оператор вызова подпрограмм Call

Обращение к процедуре осуществляется с помощью оператора Call.

Синтаксис оператора:

Call имя подпрограммы [параметры]

Синтаксис инструкции Call содержит следующие элементы:

имя подпрограммы — обязательный элемент, содержит имя вызываемой про- цедуры.

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

Для передачи в процедуру полного массива следует воспользоваться именем массива с пустыми скобками.

Оператор Function...End Function

Описывает имя, аргументы и текст программы, составляющий тело подпрограммы- функции Function.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]