Решение системы линейных алгебраических уравнений методом Крамера - Курсовая работа

бесплатно 0
4.5 124
Этапы развития языков программирования. Способы решения системы линейных алгебраических уравнений методом Крамера, рассмотрение особенностей. Анализ языка программирования С . С # как прямой потомок двух самых успешных в мире компьютерных языков.


Аннотация к работе
На практике в большинстве случаев найти точной решение возникшей математической задачи не удается. В настоящей курсовой работе рассмотрена важная, с точки зрения прикладных задач: метод Крамера для решения системы линейных уравнений. Созданный компанией Microsoft для поддержки среды .NET Framework, язык С# опирается на богатое наследие в области программирования. Добавлен также синтаксис, который поддерживает атрибуты; упрощено создание компонентов за счет исключения проблем, связанных с COM (Component Object Model - модель компонентных объектов Microsoft - стандартный механизм, включающий интерфейсы, с помощью которых объекты предоставляют свои службы другим объектам). На протяжении всей истории развития вычислительной техники эволюция языков программирования означала изменение вычислительной среды, способа мышления программистов и самого подхода к программированию.Использовалось необходимое условие существования решения, т.е. не равенство нулю главного определителя системы.

Введение
На практике в большинстве случаев найти точной решение возникшей математической задачи не удается. Это происходит главным образом не потому, что мы не умеем этого сделать, а поскольку искомое решение обычно не выражается в привычных для нас элементарных или других известных функциях. Поэтому большое значение приобрели численные методы, особенно в связи с возрастанием роли математических методов в различных областях науки и техники и с появлением высокопроизводительных ЭВМ.

В настоящей курсовой работе рассмотрена важная, с точки зрения прикладных задач: метод Крамера для решения системы линейных уравнений.

1. Создение С #

Зачастую слишком многого требований от инструментов, с которыми работаем, особенно, когда это касается языков программирования. Хотя таких языков существует великое множество, но только некоторые из них по-настоящему сильны. Эффективность языка заключается в его мощности и одновременно - в гибкости. Синтаксис языка должен быть лаконичным, но ясным. Он должен способствовать созданию корректного кода и предоставлять реальные возможности, а не ультрамодные (и, как правило, тупиковые) решения. Наконец, мощный язык должен иметь одно нематериальное качество: вызывать ощущение гармонии. Как раз таким языком программирования и является С#. Созданный компанией Microsoft для поддержки среды .NET Framework, язык С# опирается на богатое наследие в области программирования. Его главным архитектором был ведущий специалист в этой области - Андерс Хейлсберг (Anders Hejlsberg).

С# - прямой потомок двух самых успешных в мире компьютерных языков: С и C . От С он унаследовал синтаксис, ключевые слова и операторы. Он позволяет построить и усовершенствовать объектную модель, определенную в C . Кроме того, С# близко связан с другим очень успешным языком: Java. Имея общее происхождение, но различаясь во многих важных аспектах, С# и Java - это скорее "двоюродные братья". Например, они оба поддерживают программирование распределенных систем и оба используют промежуточный код для достижения переносимости, но различаются при этом в деталях реализации. Опираясь на мощный фундамент, который составляют унаследованные характеристики, С# содержит ряд важных новшеств, поднимающих искусство программирования на новую ступень. Например, в состав элементов языка С# включены такие понятия, как делегаты (представители), свойства, индексаторы и события. Добавлен также синтаксис, который поддерживает атрибуты; упрощено создание компонентов за счет исключения проблем, связанных с COM (Component Object Model - модель компонентных объектов Microsoft - стандартный механизм, включающий интерфейсы, с помощью которых объекты предоставляют свои службы другим объектам).

И еще. Подобно Java язык С# предлагает средства динамического обнаружения ошибок, обеспечения безопасности и управляемого выполнения программ. Но, в отличие от Java, C# дает программистам доступ к указателям. Таким образом, С# сочетает первозданную мощь C с типовой безопасностью Java, которая обеспечивается наличием механизма контроля типов (type checking) и корректным использованием шаблонных классов (template class). Более того, язык С# отличается тем, что компромисс между мощью и надежностью тщательно сбалансирован и практически прозрачен (не заметен для пользователя или программы).

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

2. Постановка задачи

К решению систем линейных уравнений сводятся многочисленные практические задачи. Можно с полным основанием утверждать, что решение линейных систем является одной из самых распространенных и важных задач вычислительной математики [1,2].

(1)

Совокупность коэффициентов этой системы запишем в виде таблицы:

Запишем систему n линейных алгебраических уравнений с n неизвестными.

Данная таблица n2 элементов, состоящая из n строк и n столбцов, называется квадратной матрицей порядка n. Если подобная таблица содержит nm элементов, расположенных в n строках и m столбцах, то она называется прямоугольной матрицей.

Используя понятие матрицы А, систему уравнений (3) можно записать в векторно-матричном виде:

, или, в более компактной записи, где х и b - вектор-столбец неизвестных и вектор-столбец правых частей соответственно.

3. Метод Крамера

Алгоритм Крамера, согласно [1,2], выражается формулами где

…, При этом необходимым и достаточным условием существование единственного решения, является не равенство нулю главного определителя системы .

Блок-схема алгоритма представлена на рисунке.

Схема 1

4. Текст программы

Программа, реализующая метод Крамера, была протестирована на следующий тестовых примерах: 1.Решить систему второго порядка решением системы является вектор

.

2.Решить систему третьего порядка решением системы является вектор

.

Вывод
В работе, мною был программно реализован метод Крамера для решения системы линейных уравнений. Использовалось необходимое условие существования решения, т.е. не равенство нулю главного определителя системы.

Отличительная черта этого метода заключается в неоднократном вычислении определителя матрицы. С вычислительной точки зрения это трудоемкая операция с ростом количества элементов. В работе была рассмотрена система n-го порядка, а определители вычислялись непосредственно. алгебраический уравнение крамер программирование

Список литературы
1. Турчак Л.И. Основы численных методов / Л.И. Турчак, П.В. Плотников. - М.: ФИЗМАТЛИТ, 2002. - 304 с.

2. Демидович Б.П.Численные методы анализа / Б.П. Демидович, И.А. Марон, Э.З. Шувалова. - М.: Наука, 1967.- 368 с.

3. Высшая математика для экономистов:Уч. Для вузов/Н.Ш. Кремер, Б.А. Путко, И.М. Тришин, М.Н. Фридман.-М.:Банки и биржи, 1998.-471 с.

4. Мохика Х. Язык С#: разработка Web-приложений на ASP.NET / Х. Мохика; пер. с англ. А.А. Слинкина. - М.: НТ Пресс, 2006. - 464 с. - (Quick Start).

5. Либерти Дж. Программирование на C#: пер. с англ. / Дж. Либерти. - 2-е изд. - СПБ.: Символ, 2003. - 688 с.: ил.

6. С#: пер. с англ. / К. Ватсон, М. Беллиназо, О.Корнс и др. - СПБ.: Питер, 2006. - 861 с.

7. Галисеев Г.В. Программирование на языке С#: самоучитель / Г.В. Галисеев. - М.: Вильямс, 2006. - 368 с.: ил.

Размещено на .ru
Заказать написание новой работы



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



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