Лабораторная работа №14

Обработка матриц произвольного порядка
с фиксированным базовым типом

Цель работы: закрепление навыков обработки нетипизированных параметров подпрограмм и освоение работы с параметрами, являющимися открытыми массивами.

Задания для подготовки к работе

1. Изучите возможности для создания гибких подпрограмм для обработки одномерных и двумерных массивов с произвольными типами индексов, но с фиксированным базовым типом.

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

3. Каждому из двух укрупненных должна соответствовать одна подпрограмма, позволяющая обрабатывать матрицы разных размеров. Опишите блок-схему алгоритма для этой подпрограммы в укрупненных блоках, а также ее спецификацию.

4. Для каждой подзадачи, выделенной в п.3, опишите используемые структуры данных и спецификации и блок-схемы алгоритмов.

5. В блок-схемах обработки матриц не используйте операции приведения типов, а обращайтесь к элементам матрицы как к элементам двумерного массива.

6. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».

7. Закодируйте алгоритм.

8. Подберите наборы тестовых данных с обоснованием их выбора.

Задания к работе

1. Наберите программу, отладьте ее, протестируйте.

2. Выполните анализ ошибок, выявленных при отладке программы.

Содержание отчет а

1. Формулировка задачи.

2. Ответы на пункты 2 – 8 заданий для подготовки к работе.

3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.

Варианты заданий

1. Даны две пары квадратных матриц: A и B порядка m и C и D порядка n. Определить, есть ли среди них пара взаимно обратных матриц.

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

3. Даны три вещественные квадратные матрицы разных порядков. Вывести матрицы с наименьшей нормой. В качестве нормы матрицы взять максимум абсолютных величин ее элементов.

4. Даны две прямоугольные матрицы разных размеров. Для каждой из матриц найти среднее геометрическое модулей элементов в заштрихованной области (рис.6).

 
 

Рис. 6

5. Даны две квадратные матрицы разных порядков, все элементы которых различны. Назовем псевдодиагональю множество элементов матрицы, лежащих на прямой, параллельной прямой, содержащей элементы ai , n - i +1, где n – порядок матрицы. Для каждой из матриц найти сумму максимальных элементов псевдодиагоналей данной матрицы.

6. Даны две квадратные матрицы разных порядков, все элементы которых различны. Для каждой из матриц найти скалярное произведение строки, в которой находится наибольший элемент матрицы, на столбец с наименьшим элементом.

7. Даны две квадратные матрицы разных порядков. Назовем псевдодиагональю множество элементов этой матрицы, лежащих на прямой, параллельной прямой, содержащей элементы ai , i . Найти сумму максимальных элементов всех псевдодиагоналей данной матрицы.

8. Даны две квадратные матрицы разных порядков. Для каждой из матриц заменить предпоследнюю строку матрицы первым из столбцов, в котором находится минимальный элемент матрицы.

9. Даны две прямоугольные матрицы разных размеров. Для каждой из матриц найти минимальный элемент в заштрихованной области (рис.7), где max – максимальный элемент матрицы.

 
 

Рис. 7

10. Даны две квадратные матрицы разных порядков. Для каждой из матриц заменить две ее первые строки последним из столбцов, в котором находится минимальный элемент матрицы.

11. Даны две квадратные матрицы разных порядкови натуральное число n. Для каждой из матриц получить матрицу
В = A 1+ A 2 +...+ An.

12..Даны две прямоугольные матрицы разных размеров. Для каждой из матриц определить количество классов эквивалентных строк. Строки считать эквивалентными, если равны суммы их элементов.

13. Даны две квадратные матрицы разных порядков.Для каждой из матриц, если суммы элементов строк матрицы различны, то транспонировать матрицу.

14. Даны две квадратные матрицы разных порядков.Для каждой из матриц, если матрица симметрична, то заменить ее квадратом.

15. Даны две квадратные матрицы разных порядков.Заменить в каждой из матриц предпоследний столбец первой из строк, в которой находится максимальный элемент.

16. Даны три квадратные матрицы разных порядков.Определить число матриц, строки которых упорядочены по невозрастанию элементов.

17. Даны две прямоугольные матрицы разных размеров, все элементы которых различны. Найти максимальный элемент матрицы в заштрихованной области (рис.8), где min – минимальный элемент.

 
 

Рис. 8

 

18. Даны две матрицы разных размеров. Упорядочить строки каждой из них по неубыванию их наибольших элементов строк.

19. Даны две квадратные матрицы разных порядков.Для каждой из матриц определить, является ли она ортонормированной, то есть такой, в которой скалярное произведение каждой пары различных строк равно нулю, а скалярное произведение каждой строки на себя равно единице.

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

21. Элемент матрицы назовем седловой точкой, если он является наименьшим в своей строке и наибольшим в столбце. Для каждой из двух данных матриц вывести индексы всех седловых точек.

22. Даны две прямоугольные матрицы разных размеров. Упорядочить строки каждой из них по убыванию первых элементов строк, если это возможно.

23. Даны две прямоугольные матрицы разных размеров.Упорядочить строки каждой из них по неубыванию сумм элементов строк.

24. Даны три квадратные матрицы разных порядков.Вывести матрицы, имеющие наибольшее число нулевых строк.

25. Даны две прямоугольные матрицы разных размеров, не имеющие одинаковых элементов.В каждой из матриц обменять строки, содержащие максимальный и минимальный элементы.

26. Даны две прямоугольные матрицы разных размеров. Упорядочить столбцы каждой из них по невозрастанию минимальных элементов столбцов.

27. Даны две прямоугольные матрицы разных размеров. Для каждой из матриц определить k – количество "особых" элементов, считая элемент "особым", если в строке слева от него находятся меньшие элементы, а справа – бóльшие.

28. Даны две прямоугольные матрицы разных размеров. Для каждой из матриц определить k – количество "особых" элементов матрицы, считая элемент "особым", если он больше суммы остальных элементов своего столбца.

29. Даны две прямоугольные матрицы разных размеров. В каждой из матриц число строк не меньше числа столбцов. Для каждой из них найти сумму элементов в заштрихованной области (рис.9).


 

Рис. 9

 
 

30.

 
 

Для прямоугольной матрицы А строится матрица B по следующему правилу. Элемент bij равен минимальному из элементов матрицы A в заштрихованной области (рис.10). Для каждой из двух данных прямоугольных матриц получить матрицу, по данному правилу.

Рис. 10

Контрольные вопросы

1. В каких случаях используются открытые массивы?

2. Как определить в подпрограмме количество элементов в открытом массиве?

3. Как обратиться в подпрограмме к первому и последнему элементу открытого массива?

4. К какому типу приводится вещественная матрица в подпрограмме для обработки вещественных матриц различных размеров?

5. Дана последовательность, состоящая из элементов матрицы размером m x n, выписанных по строкам. Определите индексы элемента матрицы, который является k -м членом последовательности.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: