kursovik (663321), страница 2
Текст из файла (страница 2)
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.
-
На предложение ввести кол-во строк матрицы, выбираем 3.
-
Кол-во столбцов – 3.
-
Вводим матрицу: 1 4 5
5 3 7
8 1 4
-
Программа выдает ответ: 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 .
-
Операция транспонирования матрицы:
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 .
-
Операция сложения матриц:
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 .
-
Операция вычитания матриц:
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 .
-
Операция перемножения матриц:
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 .
-
Первый исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 1.
2) На предложение ввести кол-во строк матрицы, выбираем 0.
3) Кол-во столбцов – 3.
-
Программа выдает: «ОШИБКА!!!».
-
Второй исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 1 (2, 3).
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 2.
4) Вводим матрицу: 1 4
5 3
8 1 .
-
Программа выдает: «ОШИБКА!!!».
-
Третий исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 4.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
-
Кол-во столбцов – 3.
4) Вводим матрицу: 1 4 5
5 3 7
8 1 4 .
5) На предложение ввести кол-во строк матрицы, выбираем 2.
6) Кол-во столбцов – 2.
-
Программа выдает: «ОШИБКА!!!».
-
Четвертый исключительный случай:
1) При появлении на экране меню с выбором операций, выбираем 6.
2) На предложение ввести кол-во строк матрицы, выбираем 3.
3) Кол-во столбцов – 3.
4) Вводим матрицу: 1 4 5
5 3 7
8 1 4 .
5) На предложение ввести кол-во строк матрицы, выбираем 2.
6) Кол-во столбцов – 2.
-
Программа выдает: «ОШИБКА!!!».
Выводы по работе
Для проверки результатов, выдаваемых программой, использовался математический пакет MathCAD 2001 Professional.
Существенный недостаток программы в том, что при нахождении обратной матрицы и определителя, программа может работать только с матрицами, размером не превышающие 3х3. Это связано со значительным усложнением программы, в случаи необходимости выполнения вышеперечисленных операций над матрицами большего размера.
При написании программы использовалась следующая литература:
-
Фаронов В.В. «TurboPascal 7.0, начальный курс. Учебное пособие».
-
Мизрохи С.В. «TurboPascal и объектно-ориентированное програмирование».
-
Голубев А.Б., Сидоров Ю.Н., Чередниченко А.И., Яценко И.В. «Основы программирования на языке Pascal».
-
Боревич Э.И. «Определители и матрицы».
-
Гутер Р.С., Резниковский П.Т. «Программирование и вычислительная математика».
-
Письменный Д.Т. «Конспект лекций по высшей математике», 1 часть.
-
Владимирский Б.М., Горстко А.Б., Ерусалимский Я.М. «Математика. Общий курс».