Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание 2. Процедуры и функции.doc
Скачиваний:
18
Добавлен:
10.02.2015
Размер:
587 Кб
Скачать
☆

III. Числовые данные

Для элементов векторов и матриц  вещественных чисел

а)

б)

в)

г)

д)

е)

n

4

5

6

7

8

9

C

0,5

5,8

1,2

9,6

4,3

8,6

Для элементов векторов и матриц  булевских чисел

а)

б)

в)

г)

д)

е)

n

5

6

6

7

7

8

C

2

2

3

3

4

4

Элементы вектора и матриц A, B выбираются произвольно.

1.7 Вычисление матрицы.

Вычислить элементы квадратной матрицы М по выражению  (A, B, X, Y), содержащему заданные матрицы A, B и числа x, y. Определить значение функционала F на матрице М. Входные данные для программы: число n  размерность матриц, числа x, y и элементы матриц A, B. Выходные данные: элементы матрицы М и значение функционала F(M).

В программе предусмотреть:

  • процедуру-функцию вычисления функционала F (без параметров);

  • процедуру для той операции над матрицами, которая входит в выражение .

Исходные данные

I. Выражение  (A, B, X, Y) для вещественных матриц:

а) M = X (A + y B) + y (B + x A) (операция +)

б) (операция )

в) (операция *)

г) (операция / )

д) (операция ,

причем A2 = AA, A3 = A2A).

Пояснение. Операции , + ,  между числом и матрицей означает поэлементную операцию ( между числом и каждым элементом матрицы); операции между матрицами + ,  , * , /  операции поэлементные; операция   обычное произведение матриц.

II. Функционал F

а) ;

б) ;

в)  количество положительных чисел в i- й строке;

г) F(M) = r, где r – номер того столбца, сумма элементов которого минимальна;

д)

III. Числовые данные

а)

б)

в)

г)

д)

е)

x

0,2

18,3

1,7

24,5

2,5

4,3

y

6,8

1,8

0,2

18,1

19,6

14,2

n

5

5

6

6

7

8

Элементы матриц А и В выбираются произвольно.

1.8 Преобразование матрицы.

По заданной матрице А (размерности nn) вычислить новую матрицу X:

где Е1 и Е2 - заданные преобразования матрицы А. Входными данными программы являются: число n и элементы матрицы А; выходными  элементы матрицы X.

В программе предусмотреть:

- процедуру вычисления матрицы Е1(А) с формальными параметрами: размерность матрицы m, массивы А и В (исходная матрица и вычисляемая);

- процедуру-функцию булевского типа вычисления значения предиката с формальными параметрами: размерность матрицы и массив ее элементов.

Исходные данные

I. Две различные операции Е1 и Е2 над вещественными матрицами из следующего списка:

а) транспонирование;

б) умножение на 3 всех элементов тех и только тех строк, в которых диагональный элемент больше 1;

в) возведение в l-ю степень ( l = 3, 4);

г) замена элементов a i,j на sin a i,j для тех и только тех столбцов j, которые имеют в первой строке числа, принадлежащие интервалу [1, +1] (т.е. 1  a i,j  1);

д) к элементам нечетных строк прибавить значение их логарифма;

е) преобразование в симметричную с сохранением элементов, находящихся справа от главной диагонали;

Операции Е1 и Е2 над булевскими матрицами:

ж) транспонирование;

з) инвертирование (замена true на false и false на true ) элементов четных строк матрицы;

и) инвертирование элементов тех и только тех строк, которые на главной диагонали имеют true ;

к) возведение в l-ю степень (l = 3, 4), при этом умножение трактуется как конъюнкция, а сложение – как неэквивалентность булевских чисел;

л) преобразование в симметричную с сохранением элементов, находящихся слева от главной диагонали;

м) в каждом нечетном столбце переставить местами первый и последний элементы, второй и предпоследний и так далее.

III. Предикат P (A) на вещественных матрицах:

а) все определители второго порядка положительны (т.е.

;

б) каждая строка матрицы содержит и положительные и отрицательные числа;

в) в каждой строке и каждом столбце матрицы есть элемент по модулю не превосходящий 1;

г) для всех i и j таких, что i < j, имеет место a i,j < a j,i ;

д) ;

е) сумма элементов, находящихся слева от главной диагонали, вдвое превышает сумму элементов, находящихся справа от главной диагонали.

Предикат P(A) на булевских матрицах:

ж) все определители второго порядка равны true (определитель вычисляется по формуле

, где i, j = 1, … , n 1);

з) каждая строка матрицы содержит значения как true, так и false;

и) в каждой строке количество значений true больше количества значений false;

к) в матрице имеется либо строка, либо столбец, целиком состоящий из true;

л) для всех i и j таких, что i < j , имеет место ai, j a j, i ;

м) количество значений true, находящихся слева от главной диагонали, больше количества значений false, находящихся справа от главной диагонали.

IV. Числовые данные. Размерность матрицы n = 5, 6, 7 или 8, а элементы матрицы выбираются произвольно.

1.9 Рекуррентное образование матрицы.

По двум заданным матрицам X и Y размерности n m вычислить матрицу X5 согласно следующему рекуррентному соотношению:

где x0 = x, F(A) – функционал на матрице A, E1 и E2 – две операции над парой матриц образования новой матрицы.

Входными данными программы являются размерности n, m и элементы матриц X и Y ; выходными данными – элементы матрицы X5 .

В программе предусмотреть:

- процедуру-функцию вычисления функционала F с формальными параметрами: размерности n и m массива и сам массив (элементов матрицы);

- процедуру образования матрицы согласно операции E1 с формальными параметрами: размерности n, m и три массива (элементов матриц).

Исходные данные

I. Операции E1 и E2 выбираются из следующего списка (элементы матриц A, B и C = E(A, B) обозначены ai,j, bi,j, ci,j 1 in, 1 jm.

В случае вещественных матриц:

а)

б)

в)

г)

д)

В случае булевских матриц:

е)

ж)

з)

и)

к)

II. Функционал F(A) на матрице A = (ai, j), 1  in, 1  jm

В случае вещественных матриц:

а) ;

б) , где k = min(n, m);

в) ;

г) , где i  количество положительных чисел в i-ой строке матрицы A;

д) .

В случае булевских матриц:

е) , где i – количество true в i-й строке;

ж) F(A) количество false среди значений a1,1, a 2,2 , … , ak,k , где k = min (n, m);

з) F(A) = max i , где i  целое число, двоичное представление которого дает i-ый столбец при замене true на 1 и false на 0;

и) общее количество true , среди значений ai,j , когда i< j;

к) F(A) = min( i i), где i - количество true и i - количество false в i-м столбце.