Операции над Матрицами

Автор работы: Пользователь скрыл имя, 27 Июня 2014 в 08:15, контрольная работа

Краткое описание

Программа работает в текстовом режиме. Пользователь выбирает операцию, вводит с клавиатуры размер матрицы и значения элементов матрицы. Программа выполняет заданную операцию и выводит на экран ее результат. Для реализации в программе предлагаются следующие операции: перемножение двух матриц, транспонирование, вычисление определителя, вычисление обратной матрицы, сложение (вычитание) двух матриц.

Вложенные файлы: 1 файл

kursovik.doc

— 123.00 Кб (Скачать файл)

                    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  ø

  1. Программа выдает ответ:  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. Операция транспонирования матрицы:

 

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. Операция сложения матриц:

 

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. Операция вычитания матриц:

 

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. Операция перемножения матриц:

 

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)   При появлении  на экране меню с выбором операций, выбираем 1.

2)   На предложение  ввести кол-во строк матрицы, выбираем 0.

3)   Кол-во столбцов  – 3.

  1. Программа выдает: «ОШИБКА!!!».

 

  1. Второй исключительный случай:

 

1)   При появлении  на экране меню с выбором  операций, выбираем 1 (2, 3).

2)   На предложение  ввести кол-во строк матрицы, выбираем 3.

3)   Кол-во столбцов  – 2.

4)   Вводим матрицу:      æ  1  4  ö

ç  5  3  ÷

è  8  1  ø.

  1. Программа выдает: «ОШИБКА!!!».

 

  1. Третий исключительный случай:

 

1)   При появлении  на экране меню с выбором операций, выбираем 4.

2)   На предложение  ввести кол-во строк матрицы, выбираем 3.

  1. Кол-во столбцов – 3.

 

4)   Вводим матрицу:      æ  1  4  5  ö

ç  5  3  7  ÷

è  8  1  4  ø.

5)   На предложение  ввести кол-во строк матрицы, выбираем 2.

6)   Кол-во столбцов – 2.

  1. Программа выдает: «ОШИБКА!!!».

 

  1. Четвертый исключительный случай:

 

1)   При появлении  на экране меню с выбором  операций, выбираем 6.

2)   На предложение  ввести кол-во строк матрицы, выбираем 3.

3)   Кол-во столбцов  – 3.

4)   Вводим матрицу:     æ  1  4  5  ö

ç  5  3  7  ÷

è  8  1  4  ø.

5)   На предложение  ввести кол-во строк матрицы, выбираем 2.

6)   Кол-во столбцов  – 2.

  1. Программа выдает: «ОШИБКА!!!».

 

 

Выводы по работе

 

Для проверки результатов, выдаваемых программой, использовался математический пакет MathCAD 2001 Professional.

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

При написании программы использовалась следующая литература:

    1. Фаронов В.В. «TurboPascal 7.0, начальный курс. Учебное пособие».
    2. Мизрохи С.В. «TurboPascal и объектно-ориентированное програмирование».
    3. Голубев А.Б., Сидоров Ю.Н., Чередниченко А.И., Яценко И.В. «Основы программирования на языке Pascal».
    4. Боревич Э.И. «Определители и матрицы».
    5. Гутер Р.С., Резниковский П.Т. «Программирование и вычислительная математика».
    6. Письменный Д.Т. «Конспект лекций по высшей математике», 1 часть.
    7. Владимирский Б.М., Горстко А.Б., Ерусалимский Я.М. «Математика. Общий курс».

Информация о работе Операции над Матрицами