Перестановка блоков элементов матриц

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

Пример 13. Получить матрицу Е, переставив блоки элементов матрицы D. Требуемые перестановки блоков матрицы D показаны на рисунке.

перестановка блоков элементов матриц - student2.ru

PROGRAM PR13;

VAR D, E : ARRAY [1..6, 1..6] OF REAL;

i, j : INTEGER;

BEGIN

{Ввести элементы матрицы D (способы задания матриц приведены в примерах 1, 2)}

E:=D;

FOR i:=3 TO 4 DO

FOR j:=5 TO 6 DO

E[i+2, j-2]:=D[i, j];

FOR i:=5 TO 6 DO

FOR j:=3 TO 4 DO

E[i-2, j+2]:=D[i, j];

{Вывод на экран матрицы E (см. примеры 3, 4)};

END.

Пояснения к программе: Сначала элементам матрицы E присваиваются соответствующие элементы матрицы D.

Рассмотрим элементы блока 1. Элемент D[3, 5] должен стать элементом E[5, 3]. То есть номер строки элемента D[3, 5] увеличивается на 2, а номер столбца уменьшается на 2.

Аналогичное изменение номеров строк и столбцов будет у элементов: D[3, 6] – E[5, 4];

D[4, 5] – E[6, 3];

D[4, 6] – E[6, 4].

Для перестановки данной группы элементов матрицы D в программе применяется вложенный цикл.

Теперь найдем закономерность для элементов блока 2 матрицы D. Элемент D[5, 3] должен стать элементом E[3, 5];

D[5, 4] – E[3, 6];

D[6, 3] – E[4, 5];

D[6, 4] – E[4, 6].

Нетрудно заметить, что номер строки матрицы D уменьшается на 2, а номер столбца увеличивается на 2.

Для перестановки этой группы элементов матрицы D в программе также используются вложенный цикл. Поскольку в данной программе выполняются однотипные действия, то можно описать процедуру, которая сократит программу. Рассмотрим пример.

Пример 14. Получить матрицу Е, переставив блоки элементов матрицы D. Требуемые перестановки блоков показаны на рисунке в примере 13. Решить задачу, используя процедуру.

PROGRAM PR14;

TYPE Mas = ARRAY [1..6, 1..6] OF REAL;

VAR D, E : Mas;

i, j : INTEGER;

PROCEDURE S (DS:Mas; i1,i2,j1,j2,is,js:INTEGER; VAR ES:Mas);

BEGIN

FOR i:=i1 TO i2 DO

FOR j:=j1 TO j2 DO

ES[i+is, j+js]:=DS[i, j];

END;

BEGIN

{Ввести элементы матрицы D (способы задания матриц приведены в примерах 1, 2)}

E:=D;

S(D, 3, 4, 5, 6, 2, -2, E);

S(D, 5, 6, 3, 4, -2, 2, E);

{Вывод на экран матрицы E (см. примеры 3, 4)};

END.

Пояснения к программе: Формальными параметрами процедуры S являются:

DS – переменная, определяющая имя исходной матрицы;

i1, i2 – номера строк переставляемого блока;

j1, j2 – номера столбцов переставляемого блока;

is, js – переменные, определяющие изменения номеров строк и столбцов матрицы;

ES – переменная, определяющая имя преобразованной матрицы.

Сначала элементам матрицы E присваиваются соответствующие элементы матрицы D. Затем дважды выполняется процедура S, но с различными значениями формальных параметров. При первом выполнении процедуры блок 1 переставляется на место блока 2, при втором – блок 2 на место блока 1.

Пример 15. Получить матрицу Е, переставив блоки элементов матрицы D. Требуемые перестановки блоков матрицы D показаны на рисунке.

перестановка блоков элементов матриц - student2.ru

PROGRAM PR15;

TYPE Mas =ARRAY [1..6, 1..6] OF REAL;

VAR E, D : Mas;

i, j : INTEGER;

PROCEDURE M (DS:Mas; i1,i2,j1,j2,is,js:INTEGER; VAR ES:Mas);

BEGIN

FOR i:=i1 TO i2 DO

FOR j:=j1 TO j2 DO

ES[i+is, j+js]:=DS[i, j];

END;

BEGIN

{Ввести элементы матрицы D (способы задания матриц приведены в примерах 1, 2)}

E:=D;

M (D, 1, 2, 1, 2, 0, 4, E);

M (D, 1, 2, 5, 6, 4, 0, E);

M (D, 5, 6, 5, 6, 0, -4, E);

M (D, 5, 6, 1, 2, -4, 0, E);

{Вывод на экран матрицы E (см. примеры 3, 4)};

END.

Пояснения к программе:Формальные параметры процедуры M аналогичны формальным параметрам процедуры S из примера 14.

Сначала элементам матрицы E присваиваются соответствующие элементы матрицы D. Затем для каждого переставляемого блока выполняется процедура M, но с различными значениями формальных параметров.

ВЫЧИСЛЕНИЯ В МАТРИЦАХ

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

Рассмотрим примеры.

Пример 16. Для заданной матрицы E определить номер столбца с максимальной суммой элементов.

PROGRAM PR16;

VAR E : ARRAY [1..6, 1..6] OF REAL;

i, j, jmax : INTEGER;

Smax, s : REAL;

BEGIN

{Ввести элементы матрицы E (способы задания матриц приведены в примерах 1, 2)}

Smax:=0;

jmax:=1;

FOR i:=1 TO 6 DO Smax:=Smax+E[i, 1];

FOR j:=2 TO 6 DO BEGIN

s:=0;

FOR i:=1 TO 6 DO s:=s+E[i, j];

IF s>=Smax THEN BEGIN

Smax:=s;

jmax:=j;

END;

END;

WRITELN (' номер столбца с мак. суммой элем. = ', jmax);

END.

Пояснения к программе: Переменная Smax – определяет максимальную сумму элементов в столбце;

jmax – определяет номер столбца с максимальной суммой элементов;

s – определяет сумму элементов в текущем столбце.

В первом цикле FOR подсчитывается сумма элементов первого столбца. Переменной Smax присваивается это значение. Затем во вложенном цикле подсчитывается сумма элементов каждого столбца, начиная со второго, и при выполнении условия оператора IF, переменной jmax присваивается номер столбца с максимальной суммой элементов.

Пример 17. Для заданной матрицы E определить минимальный элемент 3 и 5 столбца.

PROGRAM PR17;

VAR E : ARRAY [1..6, 1..6] OF REAL;

i, j : INTEGER;

Emin3, Emin5 : REAL;

BEGIN

{Ввести элементы матрицы E (способы задания матриц приведены в примерах 1, 2)}

Emin3:=E[1, 3];

Emin5:=E[1, 5];

FOR i:=2 TO 6 DO BEGIN

IF Emin3>E[i, 3] THEN Emin3:=E[i, 3];

IF Emin5>E[i, 5] THEN Emin5:=E[i, 5];

END;

WRITELN (' мин. элем. 3 столбца = ', Emin3:7:1);

WRITELN (' мин. элем. 5 столбца = ', Emin5:7:1);

END.

Пояснения к программе: Переменная Emin3 – определяет минимальной элемент в 3 столбце; Emin5 – минимальной элемент в 5 столбце.

СПИСОК ЛИТЕРАТУРЫ

1. Фаронов В.В. Программирование на персональных ЭВМ в среде Турбо-Паскаль. – М.: Изд-во МГТУ, 2007. –580 с.

2. Белецкий Я. Турбо Паскаль с графикой для персональных компьютеров / Пер. с польск. Д.И. Юренкова. – М.: Машиностроение, 2006. –320 с.

ЗАДАНИЕ

1. Получить матрицу А( m*n) образованную по соответствующему закону (размер матрицы и закон, по которому определяется каждый элемент матрицы А, для каждого варианта задания приведены в столбце 2 таблицы).

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

3. Построить матрицу С (6*6) соответствующего вида (вид матрицы С для каждого варианта задания приведен в столбце 4 таблицы).

4. Вычислить D=B*C.

5. Получить матрицу Е, переставив блоки матрицы D (необходимые перестановки для каждого варианта задания приведены в столбце 5 таблицы).

6. Сделать соответствующие вычисления для матрицы Е (требуемые вычисления приведены в столбце 6 таблицы).

На экран необходимо последовательно вывести матрицы А, В, С, D, Е и результат вычисления пункта 6 задания.

закон перестановка блоков элементов матриц - student2.ru преобразование для матрицы А вид матрицы С вид матрицы Е вычислить, определить (для матрицы Е)
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в строках по возрастанию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru сумму min и max элементов главной диагонали
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в столбцах по возрастанию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru среднеарифметическое элементов побочной диагонали
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в строках по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru среднеарифметическое отрицательных элементов матрицы
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в строках по возрастанию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru минимальный элемент главной диагонали
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в столбцах по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер строки и столбца с максимальным элементом матрицы
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в строках по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru количество отрицательных элементов матрицы
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в столбцах по возрастанию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru минимальный элемент матрицы
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец содержащий max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru количество положительных элементов матрицы
перестановка блоков элементов матриц - student2.ru (6*6) поменять местами строки с min и max элементами матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер столбца с максимальной суммой элементов
перестановка блоков элементов матриц - student2.ru (7*6) удалить строку содержащую min элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru количество положительных элементов 1 и 3 строк матрицы
перестановка блоков элементов матриц - student2.ru (6*6) поменять местами столбцы с min и max среди положительных элементов перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер столбца содержащий минимальный элемент матрицы
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в строках по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru количество положительных элементов главной диагонали
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец содержащий min элемент матрицы   перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru Минимальный элемент 1 и 6 столбцов матрицы
перестановка блоков элементов матриц - student2.ru (6*6) поменять местами строки с min и max среди положительных элементов перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru максимальный элемент 2 и 3 строк матрицы
перестановка блоков элементов матриц - student2.ru (7*6) удалить строку, содержащую max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru максимальный элемент матрицы
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в строках по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru максимальный элемент 1 и 5 строк матрицы
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец, содержащий max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru Максимальный элемент 2 и 4 строк матрицы
перестановка блоков элементов матриц - student2.ru (6*6) поменять местами строки с min и max элементом матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru максимальный элемент главной диагонали
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в столбцах по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер строки содержащей максимальный элемент матрицы
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец содержащий max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru среднеарифметическое положительных элементов матрицы
  перестановка блоков элементов матриц - student2.ru (6*6) поменять местами столбцы с min и max среди положительных элементов матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru количество отрицательных элементов главной диагонали
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в столбцах по возрастанию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru сумму минимального и максимального элементов матрицы
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец содержащий min среди положительных элементов матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер столбца с минимальной суммой элементов матрицы
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец содержащий max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru сумму положительных элементов матрицы
перестановка блоков элементов матриц - student2.ru (7*6) удалить строку содержащую max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru минимальный элемент 3 и 5 столбцов матрицы
перестановка блоков элементов матриц - student2.ru (6*6) упорядочить элементы в столбцах по убыванию перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер строки с максимальной суммой элементов матрицы
перестановка блоков элементов матриц - student2.ru (6*7) удалить столбец содержащий min элемент перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер строки с минимальной суммой элементов матрицы
перестановка блоков элементов матриц - student2.ru (7*6) удалить строку содержащую min элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru номер строки и столбца с минимальным элементом матрицы
перестановка блоков элементов матриц - student2.ru (7*6) удалить строку содержащую max элемент матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru среднеарифметическое элементов главной диагонали
перестановка блоков элементов матриц - student2.ru (6*6) поменять местами строки содержащие max и min элементы матрицы перестановка блоков элементов матриц - student2.ru перестановка блоков элементов матриц - student2.ru сумму отрицательных элементов матрицы

СОДЕРЖАНИЕ

ВВЕДЕНИЕ. 3

1. ОПИСАНИЕ МАССИВОВ.. 3

2. ЗАПОЛНЕНИЕ МАССИВА ЭЛЕМЕНТАМИ.. 4

3. ВЫВОД МАССИВОВ НА ЭКРАН.. 6

4. ДЕЙСТВИЯ НАД МАТРИЦАМИ.. 7

5. ПОСТРОЕНИЕ МАТРИЦ ПО ЗАДАННОМУ ВИДУ.. 10

6. УМНОЖЕНИЕ МАТРИЦ.. 12

7. ПЕРЕСТАНОВКА БЛОКОВ ЭЛЕМЕНТОВ МАТРИЦ.. 13

8. ВЫЧИСЛЕНИЯ В МАТРИЦАХ.. 17

СПИСОК ЛИТЕРАТУРЫ.. 18

ЗАДАНИЕ. 18

Наши рекомендации