Вы находитесь на странице: 1из 19

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ


«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет экономики и управления
Кафедра математических методов и моделей в экономике

ИНДИВИДУАЛЬНОЕ ТВОРЧЕСКОЕ ЗАДАНИЕ


Разработка программы «Матричный калькулятор»
Руководитель
Доцент кафедры математических
методов моделей в экономике
Яркова О.Н.

Выполнил
Студент группы 17ПМ(ба)ПММ
Бердина Е.Э.
Оренбург, 2018
Цели, задачи, актуальность работы
Цель: написание программы «Матричный калькулятор», которая
реализует работу с матрицами, а также систематизация, углубление и
активное применение знаний по современным средствам
программирования, закрепление знаний, полученных в лекционном
курсе, а также на практических занятиях.
Задачи индивидуального творческого задания:
1. Изучение и анализ основных теоретических аспектов темы
исследования, выявление наиболее эффективных алгоритмов обработки
матриц.
2. Составление функциональной схемы работы программы;
3. Написание программы «Матричный калькулятор»;
4. Тестирование разработанной программы.
Актуальность: С помощью матриц решается множество задач
практически любых областей математики. Данный продукт будет
полезен большому количеству пользователей.
Теоретические сведения
Матрица - это двумерный массив, каждый элемент
которого имеет два индекса: номер строки – i; номер
столбца – j.
Оператор if служит для того, чтобы выполнить какую-либо
операцию в том случае, когда условие является верным
Цикл for (с параметром) - цикл с известным количеством
итераций.
Динамический массив- массив, количество элементов
которого заранее не известно или может изменяться в
процессе выполнения программы.
Операции сложения и вычитания матриц

𝑎11 𝑎12 b11 b12


A= 𝑎 𝑎22 B=
21 b21 b22

𝑎11 𝑎12 b11 b12 𝑎11 + 𝑏11 𝑎12 + 𝑏12


A+B= 𝑎 𝑎22 =
21 b21 b22 𝑎21 + 𝑏21 𝑎22 + 𝑏22
Блок-схема алгоритма сложения (вычитания) матриц
НАЧАЛО A В

n,k b[i][j] i=1, n, 1

i=1, n, 1 i
j j=1, k, 1

j=1, k, 1 i
i
c[i][j]
i
a[i][j] j
i=1, n, 1
i i
j j=1, k, 1 i
i
i c[i][j]=a[i][j]+b[i][j] КОНЕЦ

i
i=1, n, 1 j
i
j=1, k, 1 i

A В
Тестовый пример операции сложения двух матриц
Тестовый пример операции вычитания двух матриц
Операция умножения матриц

𝑎11 𝑎12 b11 b12


𝑎21 𝑎22 × =
b21 b22

𝑎11 ∗ 𝑏11 + 𝑎21 𝑏12 𝑎11 ∗ 𝑏12 + 𝑎21 𝑏22


=
𝑎21 ∗ 𝑏11 + 𝑎22 𝑏12 𝑎21 ∗ 𝑏12 + 𝑎22 𝑏22
Блок-схема алгоритма умножения двух матриц
НАЧАЛО A B

i
m,q,w i i=1, n, 1

i=1, m, 1 i=1, m, 1
j=1, h, 1
j=1, w, 1 j=1, q, 1
c[i][j]
ar[i][j] c[i][j]=0
i
i
h=1, q, 1 j
j
i i
i c[i][j] += ar[i][h]*br[h][j] i
i
i=1, w, 1 h
КОНЕЦ
i
j=1, q, 1 j
i
br[i][j] i
с𝑖𝑗 = 𝑎𝑖1 𝑏1𝑗 + 𝑎𝑖2 𝑏2𝑗 + ⋯ + 𝑎𝑖𝑝 𝑏𝑝𝑗
i
j B

A
Тестовый пример операции умножения двух матриц
Операция умножения матрицы на число

𝑎11 𝑎12 𝑘 ∗ 𝑎11 𝑘 ∗ 𝑎12


𝐴∗𝑘 =𝑘∗ 𝑎 𝑎22 =
21 𝑘 ∗ 𝑎21 𝑘 ∗ 𝑎22
Блок-схема алгоритма умножения матрицы на число
НАЧАЛО A

i
n,k j
i
i=1, n, 1 i

j=1, k, 1 i=1, n, 1

a[i][j] j=1, k, 1
j
j c[i][j]
i i
i j

i=1, n, 1 i
i

j=1, k, 1
КОНЕЦ

c[i][j]=a[i][j]*w

A
Тестовый пример операции умножения матрицы на
число
Операция транспонирования матрицы

𝑎11 𝑎12
𝐴= 𝑎 𝑎22
21

𝑇
𝑎11 𝑎21
𝐴 = 𝑎 𝑎22
12
Блок-схема алгоритма транспонирования матрицы
НАЧАЛО A

n,k c[i][j]=a[j][i]
i
i=1, n, 1 j
i
j=1, k, 1 i

a[i][j] i=1, n, 1
i j=1, k, 1
j
i
i c[i][j]
i
j
i=1, n, 1
i
i
j=1, k, 1
КОНЕЦ
A
Тестовый пример операции умножения матрицы
на число
Основные качества созданной программы:
- функциональность, то есть программа
включает основной и дополнительный набор
операций с матрицами.
- простота интерфейса, рассчитанного
практически на любого пользователя,
имеющего хотя бы первоначальное понятие о
матрицах.
- удобство в использовании программы.
Заключение
В этой работе была рассмотрена проблема
решения математических задач, в частности
задач, связанных с матрицами, с помощью
автоматизированной системы. Для реализации
поставленной задачи был использован язык С++.