Dim A(4, 4) As Integer ‘задаем массив для заполнения
Dim Z(4, 4) As Integer ‘задаем массив для вывода результата
Dim i As Integer, j As Integer, B As Single
B = Val(InputBox("Введите множитель"))
Range(Cells(1, 1), Cells(N, N)).Select ‘ выделение диапазона ячеек
Selection.Clear ‘удаление содержимого выделенных ячеек
Cells(1, 1).Select ‘отмена выделения диапазона ячеек
Randomize
For i = 1 To 4 ‘цикл по строкам массива
For j = 1 To 4 ‘цикл по столбцам массива
A(i, j) = Int(100 * Rnd + 1)
Next j
Next i
For i = 1 To 4 ‘транспонирование и умножение массива
For j = 1 To 4
Z(i, j) = A(j, i)*B
Next j
Next I
Cells(1, 1) = "Исходная матрица"
Cells(1, 2 + 4) = "Преобразованная матрица"
For i = 1 To 4
For j = 1 To 4
Cells(i + 1, j) = A(i, j) ‘вывод исходного массива
Cells(i + 1, 1 + 4 + j) = Z(i, j) ‘вывод преобразованного массива
Next j
Next i
End Sub
|
П р и м е р 2. Вычислить произведение и сумму элементов матрицы А.
Матрицу ввести с рабочего листа Excel, результат работы программы – в окно MsgBox с пояснениями. ГСА вычисления произведения и суммы элементов матрицы изображена на рис. 11.5.
Рис. 11.3. ГСА транспонирования и умножения массива
Рис.11.5. ГСА вычисления произведения и суммы элементов матрицы
Программный код:
Option Explicit
Sub PR2 ( )
Dim A(1 to 10, 1 to 10) As Integer ‘задаем массив для заполнения
Dim N As Integer, M As Integer, i As Integer, j As Integer
Dim S As Single, P As Single
N = Val(InputBox("Введите количество строк матрицы"))
М = Val(InputBox("Введите количество столбцов матрицы"))
For i = 1 To N ‘цикл по строкам массива
For j = 1 To N ‘цикл по столбцам массива
A(i, j) = Сells(i, j)
Next j
Next I
S = 0 : P = 1 ‘начальные значения суммы и произведения
For i = 1 To N
For j = 1 To N
S = S + A(i, j): P = P* A(i, j)
Next j
Next I
MsgBox ("Сумма элементов =" & S)
MsgBox ("Произведение элементов " & P)
End Sub
11.2. Индивидуальные задания
З
а д а н и е 1. Составить алгоритм и программу, которая выполняет
ввод массивов АиВ с
помощью генератора случайных чисел RND в интервале
[8; 12]. Порядок массивов равен четырем.
Варианты преобразований массивов
приведены в табл. 9.2. Результаты обработки двумерного массива представить в
виде массива Z и вывести на рабочий лист с пояснениями (см. пример
1).
Таблица 11.1
Варианты задания обработки двумерного массива
Вариант |
Массив |
Вариант |
Массив |
1 |
2 |
3 |
4 |
1 |
Zij = (Aij·Bij/2) ·Bij3 |
2 |
Zij = (Bij·Aij/2) ·Aij3 |
Окончание табл. 11.1
1 |
2 |
3 |
4 |
3 |
Zji = (Bji/Aji + 4)2 |
17 |
Zij = (Aij/Bij + 14)3 |
4 |
Zij = 5·Aji/Bij |
18 |
Zij = (Aij – BijT)/3 |
5 |
Zji = 9·Bji/Aji + Bji2 |
19 |
Zij = (Aij + BijT) ·4·Bij |
6 |
Zij = 3·BijT/AijT |
20 |
Zij = 3/Bij + Aij3 |
7 |
Zij = 3/Bij + Aij3 |
21 |
Zij = π·BijT/πAij |
8 |
Zij = 9·BijT/eAij |
22 |
Zij = (π + АijT) ·4·Bij |
9 |
Zij = (Aij/Bij + 14)3 |
23 |
Zij = 5· π · (Aij2 + Bij) |
10 |
Zij = (BijT·Aij0,5)/Aij4 |
24 |
Zij = (2·AijT + BijT)/4 |
11 |
Zij = (BijT·Aij0,5)/Aij3 |
25 |
Zij = 3·BijT/Aij |
12 |
Zij = 7· (Aij2 + Bij3) |
26 |
Zij = (Aij·5) ·BijТ |
13 |
Zij = (Aij – BijT)/3 |
27 |
Zij = (Bij/Aij·4)3 |
14 |
Zji = 5· (Aji2 + Bji) |
28 |
Zij = 14·Aijπ ·Bij |
15 |
Zij = (AijT + BijT)/4 |
29 |
Zij = 10,7/Aij + BijТ |
16 |
Zij = 7· (Aij2 + Bij3) |
30 |
Zij=(Bij·Aij·АijТ/2) ·Aij3 |
Результат работы программы ввести в табл. 11.2.
Таблица исходных массивов А и В и результат Z
Массив А |
Массив В |
Результат, массив Z |
|||||||||
75 |
14 |
63 |
64 |
9 |
90 |
100 |
60 |
||||
86 |
33 |
71 |
65 |
76 |
33 |
70 |
80 |
||||
26 |
11 |
70 |
93 |
55 |
6 |
42 |
14 |
||||
93 |
81 |
67 |
6 |
22 |
15 |
2 |
87 |
Задание 2.
Составить алгоритм и программу, которая выполняет
ввод массивов с помощью генератора случайных чисел RND
в интервале
[–40;
30] или с листа Excel. Исходный и
преобразованный массив вывести на рабочий лист с пояснениями.
1) Дан массив W(6, 4). Преобразовать массив W: все элементы, расположенные на пересечении четных строк и столбцов, заменить единицами, затем найти произведение элементов полученного массива.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.