Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК доп_раздел.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
20.74 Mб
Скачать

2.4. Обработка двумерных массивов

Двумерные массивы представляют собой двумерные матрицы. Например, массив L(7,8) – матрица, в которой 7 строк и 8 столбцов.

Чтобы провести обработку двумерного массива, нужно организовать сложный (вложенный) цикл. Как правило во внешнем цикле будет организован перебор строк массива, во внутреннем – перебор столбцов.

Пример 3

Составим программу для вычисления произведения всех элементов массива N(5,3).

Процедура имеет вид

Sub ДвумерныйМассив( )

Dim N(5,3), P As Variant

Dim I, J As Integer

P = 1

Перебор строк

For I = 1 To 5

Перебор столбцов

For J = 1 To 3

Вычисление произведения

P = P * N(I,J)

Завершение цикла по столбцам

Next

Завершение цикла по строкам

Next

End Sub

2.4. Работа с подпрограммами

Как и все алгоритмические языки высокого уровня, Visual Basic позволяет осуществлять обращение из одной процедуры в другую, а также передавать параметры (аргументы) из одной процедуры в другую.

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

Пример 4

Создать процедуру Основная, из которой осуществляется обращение к трем вспомогательным процедурам с именем Первая, Вторая и Третья. Каждая из вспомогательных процедур должна выполнять только одну операцию – выдать сообщение о том, какая процедура в данный момент работает.

Сначала создадим процедуру Основная и из нее организуем обращение к каждой из вспомогательных процедур. А под текстом процедуры Основная разместим тексты вспомогательных процедур.

Текст программы имеет вид:

Sub Основная( )

Обращение к процедуре Первая

Первая

Обращение к процедуре Вторая

Вторая

Обращение к процедуре Третья

Третья

End Sub

Текст процедуры Первая

Sub Первая( )

MsgBox “Работает процедура Первая”

End Sub

Текст процедуры Вторая

Sub Вторая ( )

MsgBox “Работает процедура Вторая”

End Sub

Текст процедуры Третья

Sub Третья ( )

MsgBox “Работает процедура Третья”

End Sub

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

Call Имя процедуры (фактические параметры).

Пример 5

Создать процедуру, вычисляющую площадь круга по значению радиуса R. Осуществить несколько обращений к этой процедуре, различными способами задавая фактические параметры.

Сначала создадим процедуру, вычисляющую площадь круга и записывающую результат в ячейку А1 ЭТ.

Sub ПлощадьКруга(R)

Dim S, R As Variant

S = 3.14 * R ^ 2

Range(“A1”).Value = S

End Sub

Теперь рассмотрим способы задания фактических параметров из процедуры с именем Обращение. Можно использовать другие буквенные обозначения параметров, например,

Sub Обращение( )

Dim Радиус As Variant

‘Задание радиуса

Радиус = 5

‘Обращение к процедуре вычисления площади круга

Call ПлощадьКруга(Радиус)

End Sub

Можно в качестве фактического аргумента сразу указать число, например,

Sub Обращение( )

Call ПлощадьКруга(5)

End Sub

При составлении общей программы текст программы, откуда происходит обращение, всегда располагается первым, текст вспомогательной программы – под ним. Наша программа в целом имеет вид:

Sub Обращение( )

Dim Радиус As Variant

Радиус = 25

‘Вычисление площади для радиуса =25

Call ПлощадьКруга(Радиус)

‘Вычисление площади для радиуса =18

Call ПлощадьКруга(18)

End Sub

Sub ПлощадьКруга(R)

Dim S, R As Variant

S = 3.14 * R ^ 2

Range(“A1”).Value = S

End Sub