Turbo Paskal Операции над матрицами
for i1:=1 to m1 do begin {Вывод транспонированной
матрицы}
for j1:=1 to n1 do
Write (MAS2[i1,j1]);
WriteLn;
end;
end;
4,5: begin {Сложение/вычитание матриц}
{Ввод второй матрицы}
WriteLn ('Введите кол-во строк второй
матрицы');
ReadLn (m2);
Writeln ('Введите кол-во столбцов второй
матрицы');
ReadLn (n2);
If (n2<>n1) or (m2<>m1)
then WriteLn ('OSHIBKA!!!') {Условие ошибки}
else begin
WriteLn ('Введите вторую матрицу');
for i1:=1 to m1 do
for j1:=1 to n1 do
Read (MAS2[i1,j1]);
end;
for i1:=1 to m1 do {Вывод второй матрицы}
begin
for j1:=1 to n1 do
Write (MAS2[i1,j1]);
WriteLn;
end;
if operation = 4 then k := 1;
if operation = 5 then k := -1;
for i1:=1 to m1 do
for j1:=1 to n1 do
MAS3[i1,j1]:=MAS1[i1,j1]+k*MAS2[i1,j1];
{Итоговая формула}
writeln('Сумма/разность:');
for i1:=1 to m1 do
begin
for j1:=1 to n1 do Write(MAS3[i1,j1]);
WriteLn;
end;
end;
6: begin {Умножение матриц}
{Ввод второй матрицы}
WriteLn ('Введите кол-во строк второй матрицы');
ReadLn (m2);
Writeln ('Введите кол-во столбцов второй
матрицы');
ReadLn (n2);
If ((1>=m2) or (m2>=10) or (1>=n2) or (n2>=10)
{Условие ошибки}
or (n2<>m1)) then WriteLn
('ОШИБКА!!!')
else begin
WriteLn ('Введите вторую матрицу');
for i2:=1 to m2 do
for j2:=1 to n2 do Read
(MAS2[i2,j2]);
end;
for i2:=1 to m2 do begin {Вывод второй матрицы}
for j2:=1 to n2 do
Write (MAS2[i2,j2]);
WriteLn;
end;
m3:=m1; n3:=n2;
for i3:=1 to m3 do
for j3:=1 to n3 do begin
MAS3[i3,j3] := 0;
for i2:= 1 to m2 do
{Итоговая формула}
MAS3[i3,j3] :=MAS3[i3,j3] +
MAS1[i3,i2] * MAS2[i2,j3];
end;
begin {Вывод произведения}
writeln;
writeln('Произведение:');
for i3:=1 to m1 do begin
for j3:=1 to n2 do Write
(MAS3[i3,j3]);
WriteLn;
end;
end;
end;
End; {End Case}
ReadKey;
END. {Конец программы}
Пример работы программы
1. Операция нахождения определителя:
1) При появлении на экране меню с выбором операций, выбираем 1.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (
5) Программа выдает ответ: det = 54.
2. Операция нахождения обратной матрицы:
1) При появлении на экране меню с выбором операций, выбираем 2.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (
5) Программа выдает ответ: ( 1,851*100 9,259*100 1,481*10
(
( 7,407*100 5,555*100 1,851*100 (
( 9,259*100 1,296*10 7,407*100
(.
3. Операция транспонирования матрицы:
1) При появлении на экране меню с выбором операций, выбираем 3.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (
5) Программа выдает ответ: ( 1 5 8 (
( 4 3 1 (
( 5 7 4 (.
4. Операция сложения матриц:
1) При появлении на экране меню с выбором операций, выбираем 3.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (
5) На предложение ввести кол-во строк матрицы, выбираем 3.
6) Кол-во столбцов – 3.
7) Вводим матрицу: ( 2 8 10 (
( 10 6 14 (
( 16 2 8 (.
8) Программа выдает ответ: ( 3 12 15 (
( 15 9 21 (
( 24 3 12
(.
5. Операция вычитания матриц:
1) При появлении на экране меню с выбором операций, выбираем 3.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (
5) На предложение ввести кол-во строк матрицы, выбираем 3.
6) Кол-во столбцов – 3.
7) Вводим матрицу: ( 2 8 10 (
( 10 6 14 (
( 16 2 8 (.
8) Программа выдает ответ: ( -1 -4 -5 (
( -5 -3 -7 (
( -8 -1 -4 (.
6. Операция перемножения матриц:
1) При появлении на экране меню с выбором операций, выбираем 3.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (.
5) На предложение ввести кол-во строк матрицы, выбираем 3.
6) Кол-во столбцов – 3.
7) Вводим матрицу: ( 2 8 10 (
( 10 6 14 (
( 16 2 8 (.
8) Программа выдает ответ: ( 122 42 106 (
( 152 72 148 (
( 90 78 126 (.
7. Первый исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 1.
2) На предложение ввести кол-во строк матрицы, выбираем 0.
3) Кол-во столбцов – 3.
4) Программа выдает: «ОШИБКА!!!».
8. Второй исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 1 (2,
3).
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 2.
4) Вводим матрицу: ( 1 4 (
( 5 3 (
( 8 1 (.
5) Программа выдает: «ОШИБКА!!!».
9. Третий исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 4.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (.
5) На предложение ввести кол-во строк матрицы, выбираем 2.
6) Кол-во столбцов – 2.
6) Программа выдает: «ОШИБКА!!!».
10. Четвертый исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 6.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: ( 1 4 5 (
( 5 3 7 (
( 8 1 4 (.
5) На предложение ввести кол-во строк матрицы, выбираем 2.
6) Кол-во столбцов – 2.
7) Программа выдает: «ОШИБКА!!!».
Выводы по работе
Для проверки результатов, выдаваемых программой, использовался
математический пакет MathCAD 2001 Professional.
Существенный недостаток программы в том, что при нахождении обратной
матрицы и определителя, программа может работать только с матрицами,
размером не
| | скачать работу |
Turbo Paskal Операции над матрицами |