В данной статье описывается процесс разработки простейшей программы умножения двух матриц. Разработка любого приложения начинается с составления алгоритма [1,2], в данном случае это алгоритм умножения, представленный на рисунке 1.
Рисунок 1. – Алгоритм умножения матриц
Условно программу можно разделить на 3 модуля: модуль ввода, модуль вычисления и модуль вывода. В целом они будут образовывать небольшое консольное приложение для умножения одной матрицы на другую. Для написания этой программы подойдет практически любой язык, но был выбран C#, т.к. в первую очередь он является одним из актуальных для написания клиентских приложений под платформу Windows. Помимо этого, он обладает такими плюсами как простой синтаксис и скорость работы.
На рисунке 2 представлен код модуля ввода матриц.
Рисунок 2. – Код модуля ввода матриц
Этот фрагмент кода отвечает за ввод матриц в программу. Сначала происходит ввод размерности матрицы, а затем поочередный ввод элементов матрицы, данные заносятся в массив. Так же происходит и со второй матрицей. На этом этапе не учитывается тот факт, что количество строк в первой матрице должно быть равно количеству столбцов второй. После ввода матриц вызывается процедура вывода первой и второй матрицы на экран, затем вызов процедуры умножения и вывод полученной матрицы.
На рисунке 3, представлен код модуля вычисления.
Рисунок 3. – Код модуля вычисления
Процедура умножения начинается с проверки равно ли количество строк первой матрицы количеству столбцов второй. Если данные удовлетворяют условию код выполняется дальше, а если нет, то выводится ошибка. Для новой матрицы создается новый массив, в который заносятся результаты вычислений.
На рисунке 4 представлен код модуля вывода матриц. При вызове процедуры указывается индекс массива, который необходимо вывести, это позволяет сократить код, посредством вызова этой функции с необходимым параметром, а не указывая в коде на какой-то определенный массив.
Рисунок 4. – Модуль вывода матриц
На рисунке 5 показана выполненная программа. Выводятся обе матрицы, а также новая матрица, полученная в результате умножения.
Рисунок 5. – Результат выполнения программы
Библиографический список
- Умножение матриц [Электронный ресурс]. Режим доступа: https://ru.wikipedia.org/wiki/Умножение_матриц (дата обращения: 17.12.2016).
- Алгоритм умножения матриц [Электронный ресурс]. Режим доступа: http://vscode.ru/prog-lessons/algoritm-umnozheniya-matrits.html (дата обращения: 17.12.2016).