Понятие матриц и операции, выполняемые с ними. Разработка программы для вычислений над матрицами в среде MS Visual Studio Express с применением языка программирования C . Работа с библиотекой математического типа vector. Реализация перегрузки операций.
Аннотация к работе
На сегодняшний день математическое программирование - важная составляющая всего программирования.Матрица - математический объект, записываемый в виде прямоугольной таблицы чисел (или элементов кольца ) и допускающий алгебраические операции (сложение , вычитание , умножение ) между ним и другими подобными объектами. Обычно матрицы представляются двумерными (прямоугольными) таблицами. A на число ? (обозначение: ?A) заключается в построении матрицы B, элементы которой получены путем умножения каждого элемента матрицы A - B определяется аналогично сложению, это операция нахождения матрицы C, элементы которой cij = aij - bij Существует нулевая матрица ? такая, что ее прибавление к другой матрицеВектор (vector) напоминает нам массив, только он способен расти до произвольного размера, поддерживает информацию о размере. Как и массив к вектору можно обратить воспользовавшись операцией индексирования []. Как видите вектор оптимален для получения информации, но при большом количестве вставок лучше воспользоваться другими контейнерами, например, списками. Проблема в том, что физически вектор располагается в непрерывной памяти. Объявить рабочую область: После этого вектор необходимо объявить, это можно сделать двумя способами. vector VARRAY1; vector VARRAY2(30);Перегрузка операторов - в программировании - один из способов реализации полиморфизма , заключающийся в возможности одновременного существования в одной области видимости нескольких различных вариантов применения оператора, имеющих одно и то же имя, но различающихся типами параметров, к которым они применяются.Перегрузка операций предполагает введение в язык двух взаимосвязанных особенностей: возможности объявлять в одной области видимости несколько процедур или функций с одинаковыми именами и возможности описывать собственные реализации операций (то есть знаков операций, обычно записываемых в инфиксной нотации, между операндами). Принципиально реализация их достаточно проста: Перегрузка операций предполагает введение в язык двух взаимосвязанных особенностей: возможности объявлять в одной области видимости несколько процедур или функций с одинаковыми именами и возможности описывать собственные реализации операций (то есть знаков операций, обычно записываемых в инфиксной нотации, между операндами). Иногда возникает потребность описывать и применять к созданным программистом типам данных операции, по смыслу эквивалентные уже имеющимся в языке. Отчасти проблема решается средствами объектного программирования - когда новые типы данных объявляются как классы, операции над ними могут быть оформлены как методы классов, в том числе и одноименные (поскольку методы разных классов не обязаны иметь различные имена), но, во-первых, оформление подобным образом операций над значениями разных типов неудобно, а во-вторых, это не решает проблему создания новых операторов. Средства, позволяющие расширять язык, дополнять его новыми операциями и синтаксическими конструкциями (а перегрузка операций является одним из таких средств, наряду с объектами, макрокомандами, функционалами, замыканиями) превращают его уже в метаязык - средство описания языков, ориентированных на конкретные задачи.Чтение матриц происходит из файлов в котором они находятся, и после решений все полученные результаты выводятся в другой файл.В качестве средства разработки выбран MS Visual Studio 2008 Express.В папке с проектом должны присутствовать файлы: file1.txt, file2.txt, file3.txtПрограмма содержит компоненты, отвечающие за: 1) интерфейс, 2) математическую логику, 3) взаимодействие объектов класса, 4) перегрузку операторов.В ходе выполнения курсовой работы была получена работоспособная программа, удовлетворяющая начальному заданию._matrix (const _matrix &obj) _matrix& operator (_matrix &obj2) _matrix* obj = new _matrix(*this); _matrix& operator-(_matrix &obj2) _matrix &operator*(_matrix &obj2)#include "matrix.
План
Содержание
Введение
1. Теоретическая часть
1.1 Описание программы, матрицы
1.2 C
1.3 Microsoft Visual Studio Express
1.4 Стандартная библиотека шаблонов (STL)
1.5 Vector
1.6 Перегрузка операторов
2. Проектирование и этапы разработки
2.1 Постановка задачи
2.2 Средства разработки
2.3 Описание процесса компиляции и запуска программы
3. Реализация
3.1 Структура программы
3.2 Структура класса
Заключение
Литература
Приложение. Исходный код программы. Заголовочные файлы
Введение
На сегодняшний день математическое программирование - важная составляющая всего программирования. Большие и сложные вычисления благодаря простым программам становятся простыми.
В данной курсовой работе создавалась программа для вычислений над матрицами.
В качестве среды программирования выбрана MS Visual Studio 2008 и язык программирования C .
Вывод
В ходе выполнения курсовой работы была получена работоспособная программа, удовлетворяющая начальному заданию.
В ходе разработке были проанализированы и использованы следующие технологии: 1) Stl;
2) потоков данных;
3) перегрузка операторов;
В качестве дальнейшего совершенствования программы представляется возможным увеличение функциональности класса и интерфейса (с целью увеличения информативности).
Список литературы
1. Свободная энциклопедия http://ru.wikipedia.org/
2. Книга У. Форд, У. Топп «Структура данных в С » ООО «Бином-Пресс»2006г.
3. Беллман Р. Введение в теорию матриц. - М.: Мир, 1969.
4. Курош А.Г.Курс высшей алгебры: Учебник для вузов 15-е изд., стереотип. - М.: Лань, 2006. - 432 с.
5. Дж. Голуб, Ч. Ван Лоун Матричные вычисления. - М.: Мир, 1999.
6. Сайт «Знакомимся с вектором». http://www.cyberguru.ru/
7. Б. Страуструп. «Язык программирования C . Специальное издание.», 2004 г.