Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




 

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

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

 

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 показаны на рисунке.

 

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 задания.

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

 

СОДЕРЖАНИЕ

 

ВВЕДЕНИЕ. 3

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

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

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

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

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

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

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

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

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

ЗАДАНИЕ. 18

 

 





Поделиться с друзьями:


Дата добавления: 2016-09-06; Мы поможем в написании ваших работ!; просмотров: 781 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Надо любить жизнь больше, чем смысл жизни. © Федор Достоевский
==> читать все изречения...

2355 - | 2039 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.