Final-LabRabKonsPrilozh_2011_Word2007
.pdf41
3. Текст программы.
Module Module1
‘Заголовок программной секции, относящейся к категории программных модулей
Sub Main()
‘Заголовок программной секции, относящейся к категории головного модуля программы
Dim N, M, I, J As Integer
Dim A(,) As Single = {{7,-1,2,0}, {4,5,-3,1}, {-6,11,8,-4}}
‘Явный способ задания двумерного массива А(,) с вещественными (Single) элементами, значения которым присваиваются после символа = построчно, то есть три строки по 4 элемента в каждой
N = A.GetUpperBound(0)
‘Параметру N присвоено значение верхней границы 1-ой (0) размерности двумерного массива А(,)
M = A.GetUpperBound(1)
‘Параметру M присвоено значение верхней границы 2-ой (1) размерности двумерного массива А(,)
Console.WriteLine("N={0} |
M={1}", N, M) |
|
|
|
Console.WriteLine("Количество |
строк |
матрицы |
A |
равно |
N+1={0}", N + 1)
Console.WriteLine("Количество столбцов матрицы A равно
M+1={0}", M + 1)
‘Количество строк (K1) и столбцов (K2) матрицы A равны, соответственно, N+1 и M+1, так как стандартная нумерация элементов ведется для строк с 0 до K1-1, для столбцов – с 0
до K2-1.
Dim B(N), D(M) As Single Dim Z As Single
Z = AMAXN(N, M, A)
‘ Осуществляется обращение к процедуре – функции AMAXN(N,
M, A) |
|
Console.WriteLine("") |
|
Console.WriteLine("НАИБОЛЬШИЙ ЭЛЕМЕНТ ПОСЛЕДНЕЙ |
СТРОКИ |
AMAXN ={0}", Z) |
|
Console.WriteLine("") |
|
Console.WriteLine("МАССИВ ЗНАЧЕНИЙ СУММ СТРОК |
МАТРИЦЫ |
A():") |
|
Call BSUM(N, M, A, B) |
|
‘ Осуществляется обращение к процедуре BSUM(N, M, A, B)
For I = 0 To N
Console.WriteLine("B({0})={1}", I, B(I))
Next I
42
Console.WriteLine("")
Console.WriteLine("МАССИВ ЗНАЧЕНИЙ СУММ СТОЛБЦОВ МАТРИЦЫ
A():")
Call DSUM(N, M, A, D)
‘ Осуществляется обращение к процедуре DSUM(N, M, A, D) For J = D.GetLowerBound(0) To M
Console.WriteLine("D({0})={1}", J, D(J))
Next J
Console.ReadLine()
EndSub
Function AMAXN(ByRef N As Integer, ByRef M As Integer, _ ByRef A(,) As Single) As Single
‘Заголовок процедуры – функции AMAXN(N, M, A), при обращении к которой все аргументы (N, M, A) передаются по ссылке (ByRef), а сама функция возвращает в качестве результата вещественное число (Single)
Dim J As Integer Dim MAX As Single
MAX = A(N, 0) For J = 0 To M
If A(N, J) > MAX Then MAX = A(N, J) Next J
AMAXN = MAX
‘Осуществляется формирование результирующего значения функции AMAXN
EndFunction
‘окончание текста программы для процедуры – функции
Sub BSUM(ByRef N As Integer, ByRef M As Integer, _ ByRef A(,) As Single, ByRef B() As Single)
‘Заголовок процедуры BSUM(N, M, A, B), при обращении к которой все аргументы (N, M, A, B) передаются по ссылке
(ByRef)
Dim I, J As Integer Dim S As Single For I = 0 To N
S = 0
‘Переменной S присваивается начальное значение, равное 0.
For J = 0 To M
S = S + A(I, J)
43
‘Значение переменной S увеличивается на величину, равную значению элемента A(I, J)
Next J
B(I) = S
‘Элементу B(I) массива B() присваивается значение переменной S.
Next I EndSub
‘окончание текста программы для процедуры BSUM(N, M, A, B)
Sub DSUM(ByRef N As Integer, ByRef M As Integer, _ ByRef A(,) As Single, ByRef D() As Single)
‘Заголовок процедуры DSUM(N, M, A, D), при обращении к которой все аргументы (N, M, A, D) передаются по ссылке
(ByRef)
Dim I, J As Integer Dim S As Single
For J = A.GetLowerBound(1) To M S = 0
‘Переменной S присваивается начальное значение, равное 0.
For I = A.GetLowerBound(0) To N S = S + A(I, J)
‘Значение переменной S увеличивается на величину, равную значению элемента A(I, J)
Next I
D(J) = S
‘Элементу D(I) массива D() присваивается значение переменной S.
Next J EndSub
‘окончание текста программы для процедуры DSUM(N, M, A, D)
EndModule
‘ Конец программной секции, относящейся к категории программных модулей
4. Результаты работы программы аналогичны представленным на рис. 5.2.
44
Перечень вариантов заданий к лабораторной работе № 5
Вариант № 1
Дана матрица
10 20 13 А= 25 1 3 4 12 8
Определить количество отрицательных и положительных элементов.
Вариант № 2
Дана матрица. Определить сумму элементов, стоящих на главной и побочной диагоналях.
11 |
13 |
15 |
В= 12 |
19 |
14 |
17 |
19 |
21 |
Вариант № 3
Дана квадратная матрица М. Найти сумму и произведение элементов, попадающих в заданный интервал [a, b].
3 |
4 |
0 |
М= 1 |
2 |
8 |
7 |
4 |
1 |
Вариант № 4
Дана матрица. Найти сумму элементов первой строки и первого столбца.
18 |
19 |
28 |
Z= 14 |
13 |
1 |
222 |
0 |
17 |
Вариант № 5
Дана матрица В. Найти сумму элементов j-го столбца.
2 1 6 2
В=
7 1 0 4
8 1 3 0
4 1 2 0
45
Вариант № 6
Найти максимальный элемент матрицы и индексы максимального элемента.
3.415.1 19.2
Z= 12 16.3 3.1 0 18.4 5.7
Вариант № 7
Дана матрица
10 20 13 А= 22 11 5 4 12 8
Определить среднее арифметическое отрицательных и положительных элементов.
Вариант № 8
Дана матрица С. Найти сумму отрицательных элементов и количество положительных.
18 |
19 |
28 |
С= 14 |
9 |
10 |
22 |
0 |
17 |
Вариант № 9
Найти минимальный элемент матрицы и его индексы.
2 8 7 Z= 3 10 12 7 18 19
Вариант № 10
Дана матрица A. Получить новую матрицу В, элементы которой определяются по
|
ai, j*12 , i |
j |
|
1 |
1 |
8 |
|
формуле bij= |
А= |
|
|
|
|||
ai, j |
* 5, i |
j |
2 |
3 |
9 |
||
|
|
4 |
7 |
2 |
|||
|
|
|
|
|
Вариант № 11
Дана квадратная матрица
46
1 2 3 4 Z= 4 5 8 10 12 3 7 1 0 0 5 0
Транспонировать матрицу, т. е. получить новую матрицу A, где столбцы матрицы Z является строками, а строки – столбцами.
Вариант № 12
Даны матрицы
7 |
1 |
1 |
2 |
8 |
7 |
X= 3 |
0 |
3 |
Y= 3 |
10 |
12 |
18 |
2 |
8 |
7 |
18 |
19 |
Получить матрицу Z, элементы которой равны zij xij yij .
Вариант № 13
Дана единичная матрица E
|
1 |
1 |
1 |
1 |
E= |
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
|
1 |
1 |
1 |
1 |
Найти элементы новой матрицы B, каждый из которых определяется условием:
eij |
|
|
1 |
|
,i |
j |
|
|
|
|
|||
|
i |
j |
|
|||
bij= |
|
1 |
|
|||
|
|
1 |
|
|
|
|
eij |
* |
|
|
,i |
j |
|
|
|
|
||||
i |
j |
|
||||
|
|
1 |
|
Вариант № 14
Дана единичная матрица
1 1 1 Е= 1 1 1 1 1 1
Получить новую матрицу Z, каждый элемент которой определяется заданным условием:
eij |
i |
, |
i |
j |
|
|
|
||
zij= eij |
|
0 , |
i |
j |
e |
j , |
j |
i |
|
ij |
|
|
|
|
47
Вариант № 15
Даны квадратные матрицы А, В, С второго порядка. Получить матрицу D, элементы которой равны dij = (aij+bij)*cij
A= 2 4 |
B= |
1 18 |
C= |
4 9 |
|||
8 |
6 |
|
0 |
3 |
|
5 |
12 |
Вариант № 16
Дана квадратная матрица
8 4 3 1
Z= |
7 |
11 |
10 |
0 |
15 |
31 |
2 |
9 |
|
|
12 |
0 |
5 |
17 |
Выбрать максимальный элемент в третьей строке, составить новую матрицу, каждый элемент которой равен соответствующему элементу матрицы Z, деленному на полученный максимальный элемент.
Вариант № 17
15 18 19
Дана матрица А =
10 14 28
9 2.1 13
3 17 23
Найти вектор В, каждая компонента которого совпадает с произведением элементов соответствующей строки матрицы А. Вектор B вывести на экран в строку.
Вариант № 18 |
|
|
|
||
Даны две матрицы |
|
|
|
||
1.1 |
4.1 |
1.5 |
2.6 |
5.1 |
16.3 |
X = 2 |
8 |
0 |
Y = 3.1 |
12.4 |
0 |
3 |
5 |
17.3 |
4.3 |
13.7 |
18.9 |
Найти наибольший элемент среди элементов матриц X и Y.
Вариант № 19
Дана квадратная матрица А.
48
|
2 |
4 |
6 |
8 |
|
A |
1 |
3 |
5 |
7 |
|
9 |
11 |
13 |
15 |
||
|
|||||
|
10 |
12 |
14 |
16 |
Получить матрицу В, элементы которой определяются как bij = aij2 – i*j. В матрице B найти минимальный элемент.
Вариант № 20
2.713 14
Дана квадратная матрица A = 1 |
10.1 8 |
6.57.2 4.1
Найти минимальный элемент, стоящий на главной диагонали (amin); получить новую матрицу В, каждый элемент которой равен bij = aij + аmin.
Вариант № 21
18 19 28
Дана матрица С = 14 9 10 22 0 17
Найти вектор К, каждая компонента которого равна количеству положительных элементов соответствующей строки матрицы С.
Вариант № 22
Дана квадратная матрица Z
13.2 10.2 4.5
Z14.2 9.3 3.3
18.7 7.5 1.1
Найти максимальный элемент первой строки (zmax) и получить новую матрицу Y, каждый элемент которой равен yij = zij - zmax.
Вариант № 23
3.415.1 19.2
Дана квадратная матрица X = 12 16.3 3.1 0 18.4 5.7
Найти вектор Y, каждая компонента которого равна количеству отрицательных элементов соответствующего столбца матрицы X.
49
Вариант № 24
Даны две матрицы X и Y
|
7 |
1 |
1 |
|
2 |
8 |
7 |
X |
3 |
0 |
3 |
Y |
3 |
10 |
12 |
|
18 |
2 |
8 |
|
7 |
18 |
19 |
Выбрать из них наименьший элемент.
Вариант № 25
3 5 1
Дана матрица C 8 2 6 10 0 3
Выбрать наибольший элемент (max) и получить новую матрицу В, каждый элемент которой равен bij = max - aij
Вариант № 26
4 1 - 2
Дана матрица C |
12 |
8 3 |
Найти наименьший элемент матрицы (min) и |
||
|
7 |
16 - 11 |
|
|
|
получить новую матрицу D, |
каждый элемент которой равен d |
ij |
2 min c . |
||
|
|
|
|
ij |
Вариант № 27
Дана квадратная матрица М. Найти сумму элементов S, расположенных в заштрихованной части. Получить новую матрицу С, каждый элемент которой
сij |
2 S mij |
|
|
|
|
|
|
|
|
|
|
4 |
|
3 |
4 |
8 |
|
|
|
|
2 |
|
||||
|
|
|
10 |
1 |
15 |
3 |
2 |
|
|
|
M |
|
|
|
|
|
|
|
|
5 |
7 |
1 |
4 |
3 |
|
|
|
|
|
|
|||||
|
|
|
12 |
8 |
3 |
5 |
4 |
|
|
|
|
58 |
3 |
8 |
6 |
40 |
|
|
|
|
||||||
|
|
|
|
Вариант № 28
Дана квадратная матрица С. Найти произведение элементов, расположенных в заштрихованной части матрицы. Подсчитать сколько элементов больше 5 в заштрихованной части матрицы.
3 |
1 |
7 |
4 |
|
С = 2 12 |
5 |
2 |
||
|
|
|||
8 10 |
18 |
1 |
||
6 |
8 |
3 13 |
||
|
|
|
|
|
50
Вариант № 29
Дана матрица А. Получить матрицу В, элемент bij которой равен результату деления суммы элементов матрицы A, расположенных в заштрихованной области, на aij.
|
3 |
28 |
2 |
1 |
|
A |
10 |
14 |
3 |
2 |
|
17 |
7 |
4 |
8 |
||
|
|||||
|
24 |
1 |
8 |
7 |
Вариант № 30
Дана квадратная матрица Z. Найти сумму элементов, расположенных в заштрихованной части матрицы.
|
2 |
8 |
2 |
3 |
|||
|
|
|
|
|
|
||
Z |
2 |
14 |
|
5 |
9 |
||
|
|
|
|
|
|
|
|
8 |
|
12 |
13 |
25 |
|||
|
|
||||||
|
|
|
|
|
|
|
|
|
7 |
1 |
14 |
19 |
Получить новую матрицу Y, каждый элемент которой равен разности между найденной суммой и элементом матрицы Z.