Умножение матрицы на скаляр. Сложение и вычитание матриц. Умножение матриц. Транспонирование матриц, страница 5

WRITE('Матpица C');

VIVOD(N,C);

READLN;

CLRSCR;

{Транспонирование матрицы}

FOR I:=1 TO N DO

FOR J:=N-I TO N DO

BEGIN

F:=B[I,J];

B[I,J]:=B[J,I];

B[J,I]:=F

END;

{ Умножение двух матриц }

FOR I:=1 TO N DO

FOR J:=1 TO N DO

K[I,J]:=PROIZV(N,I,J,A,B);

{ Умножение матрицы на скаляр }

FOR I:=1 TO N DO

FOR J:=1 TO N DO

K[I,J]:=3*K[I,J];

{ Вычитание двух матриц }

FOR I:=1 TO N DO

FOR J:=1 TO N DO

P[I,J]:=K[I,J]-C[I,J];

{Транспонирование матрицы}

FOR I:=1 TO N DO

FOR J:=N-I TO N DO

BEGIN

F:=P[I,J];

P[I,J]:=P[J,I];

P[J,I]:=F

END;

WRITELN('Результирующая матрица ');

VIVOD(N,P);

READLN;

{ Определение кол-ва элементов удовл. условиям }

N1:=0;

N2:=0;

N3:=0;

FOR I:=1 TO N DO

FOR J:=1 TO N DO

BEGIN

IF P[I,J]>Q1 THEN N1:=N1+1;

IF P[I,J]<Q1 THEN N2:=N2+1;

IF (P[I,J]<=Q1) AND (P[I,J]>=Q2) THEN N3:=N3+1;

END;

WRITELN('Q1=',Q1:4:1,' Q2=',Q2:4:1);

WRITELN('Кол-во элементов удовл. условию 1) P[i,j] > q1 :',N1:3);

WRITELN('Кол-во элементов удовл. условию 2) P[i,j] < q2 :',n2:3);

WRITELN('Кол-во элементов удовл. условию 3) q2 <= P[i,j] <= q1',n3:3);

END.

Результаты вычисления по программе

Введите размер матрицы N (N<=10) 6

Введите 2 произвольных числа Q1, Q2 50 80

Исходные матpицы:

Матpица A

    0.00    0.50    4.33    1.00    2.00    9.00

16.00    5.00    0.78    0.86    2.29    0.86

3.00    0.80    0.63    0.40    0.63    2.71

3.40    0.00    1.00    0.00    0.00    1.86

2.00    0.67    1.57    1.33    0.44    0.71

15.00    3.40    2.20    1.44    0.00    2.71

Матpица B

2.00    1.00    1.67    2.83    0.71   12.00

5.67    2.50    3.80    1.50    1.00    1.50

1.00    2.33    0.14    1.00   15.00    0.88

1.33    1.29    4.00    0.25    1.00    3.00

0.57    0.83    4.00    2.00    2.17    0.67

1.00    2.00    2.80    2.50    2.83    0.29

Матpица C

    1.60    0.50    2.60   18.00    1.63    0.56

2.00    2.60    2.00    0.78    9.50    0.33

17.00    2.60   13.00    6.00    1.11    2.67

0.67    2.25   17.00    0.43    1.00    8.50

1.00    1.38   12.00    1.11    2.67    1.00

2.71    2.17    0.20    0.29    5.67    1.14

Результирующая матрица

   54.33   96.44  116.56   77.50  287.37   33.78

191.25  102.51  180.25  180.84   99.50  613.23

27.29   36.17   46.49   49.38   64.18  117.75

28.30   26.09   16.03   45.40   67.07  118.12

35.29   31.16   33.61   32.63   87.29   91.63

165.61  105.59  154.64  170.55  163.08  575.26

Q1=50.0 Q2=80.0

Кол-во элементов удовл. условию 1) P[i,j] > q1: 23

Кол-во элементов удовл. условию 2) P[i,j] < q2: 13

Кол-во элементов удовл. условию 3) q2 <= P[i,j] <= q1:  0

Краткие выводы по решению задачи

В данной курсовой работе очень широко используются подпрограммы, что позволяет сократить размер основной части программы и сделать её более понятной для пользователя. Такой способ значительно упрощает ввод исходных матриц и вывод результата работы на монитор. Программа построенная по данному алгоритму наиболее оптимально использует возможности ПЭВМ. Последовательность вывода результатов разработана в соответсвии с заданием на курсовую работу, что облегчает просмотр и контроль выполнения программы. Вся практическая работа была выполнена в соответствии с рекомендациями изложенными в теоретической части курсовой работы.

Список используемой литературы

1.  Новичков В. С., Парфилова Н. И. “Алгоритмические языки в техникуме. Паскаль”, Москва, Высшая школа, 1994 год.

2.  Киселёв А. В. Коротаев А. Т. “Практическая работа на персональном компьютере”, Москва, 1995 год.

3.  Фигурнов В. Э.” IBM PC для пользователя ”, Москва, Финансы и статистика, 1991 год.

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