В результате двойного транспонирования исходной матрицы "a1" (из "a1" в "a2", из "a2" в "a3") получается матрица "a3" тождественная "a1".
Матрицы "b1" и "b2" содержат квадраты диагональных элементов матриц "a1" и "a2". Типы массивов фактических параметров должны соответствовать типам массивов формальных параметров, описанных в модуле MATR_1. Можно использовать имена типов, заданные в интерфейсной части модуля или задавать новые имена типов.
Практическое задание N 1. 33
1. Написать и отладить программы с использованием модуля, содержащего процедуры расчета элементов линейных массивов "В", являющихся:
1_1. суммой элементов в столбцах матрицы "A" (NxM),
1_2. суммой элементов в строках матрицы "A" (NxM),
1_3. наибольшими элементами в строках матрицы "A" (NxM),
1_4. наименьшими элементами в строках матрицы "A" (NxM).
1_5. наибольшими элементами в столбцах матрицы "A" (NxM),
1_6. наименьшими элементами в столбцах матрицы "A" (NxM). N=30, M=10.
|
|
Значения элементов матрицы "A" определяются в основной программе функцией Random(10), N=15, M=6. Программа выводит на экран значения элементов массивов "A" и "В".
2. Составить модуль, содержащий процедуры или функции для расчета:
2_1. скалярного произведения двух векторов "A" и "B" длиной "N", т. е.
С= A * B = a1*b1 + a2*b2 +... + aN*bN, где N<=100.
2_2. суммирования двух матриц "A" и "B" размером (МxN), N<=30, M<=30, т. е.
С= A + B, где c11= a11+ b11; b12 = a12+ b12; и т. д. cMN = aMN+ bMN.
2_3. умножения двух матриц "A" (МxN) и "B" (NxK), N<=30, K <=30, M<=30, т. е. С= A * B, где cij= ai1* b1j+ ai2* b2j +... + aiN* bNj ; и т. д.
Элемент с индексом "i, j" новой матрицы "С" (МхК) получается как сумма произведений элементов i -ой строки матрицы "A" на соответствующие элементы j -ого столбца матрицы "В".
Значения элементов матрицы "A" определяются в основной программе функцией Random(200), М=5, N=10. Программа выводит на экран массивы "A", "В" и "С".
Модуль СRT