Программирование действий над матрицами на языке С - Курсовая работа

бесплатно 0
4.5 94
Понятие матриц и операции, выполняемые с ними. Разработка программы для вычислений над матрицами в среде 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 г.

Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность
своей работы


Новые загруженные работы

Дисциплины научных работ





Хотите, перезвоним вам?