Разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка

Автор: Пользователь скрыл имя, 30 Марта 2012 в 07:12, курсовая работа

Описание работы

Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX
Цель работы – разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка.

Содержание

ВВЕДЕНИЕ
1. АНАЛИЗ ВОПРОСА И ПОСТАНОВКА ЗАДАЧИ
1.1. Выбор метода решения
1.2. Выбор инструментальных средств
1.3. Выбор аппаратных средств
1.4. Выводы по первой главе
2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ
2.1. Общая структура программного модуля
2.2. Блок - схемы алгоритмов и их описание
2.3. Контрольный текстовый пример
2.4. Выводы по второй главе
ЗАКЛЮЧЕНИЕ
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
ПРИЛОЖЕНИЕ

Работа содержит 1 файл

курсовик.doc

— 380.00 Кб (Скачать)


29

 

 

 

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

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

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

«АМУРСКИЙ ГУМАНИТАРНО–ПЕДАГОГИЧЕСКИЙ

ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

(ФГОУ ВПО «АмГПГУ»)

 

 

  

 

 

 

Разработка пакета прикладных программ для вычисления определителя матрицы                       

                                                      произвольного порядка

 

Курсовая работа

по программированию

 

 

 

Выполнила: студентка гр. ИА-22,

Кравченко Д.С

                                                                                              Руководитель: к.тех.н., доцент

                                                                                                                                Тачалов А.Н.

 

 

 

 

 

 

 

 

 

 

 

Комсомольск-на-Амуре

2010

 

 

 

 

СОДЕРЖАНИЕ

ВВЕДЕНИЕ              3

1. АНАЛИЗ ВОПРОСА И ПОСТАНОВКА ЗАДАЧИ              4

1.1. Выбор метода решения              4

1.2. Выбор инструментальных средств              10

1.3. Выбор аппаратных средств………………………………………….12

1.4. Выводы по первой главе              12

2. ПРАКТИЧЕСКАЯ РЕАЛИЗАЦИЯ              14

2.1. Общая структура программного модуля              14

2.2. Блок - схемы алгоритмов и их описание              15

2.3. Контрольный текстовый пример              22

2.4. Выводы по второй главе              23

ЗАКЛЮЧЕНИЕ              24

БИБЛИОГРАФИЧЕСКИЙ СПИСОК              25

ПРИЛОЖЕНИЕ              26

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

 

Си (англ. C) — стандартизированный процедурный язык программирования, разработанный в начале 1970-х годов сотрудниками Bell Labs Кеном Томпсоном и Денисом Ритчи как развитие языка Би. Си был создан для использования в операционной системе UNIX. С тех пор он был портирован на многие другие операционные системы и стал одним из самых используемых языков программирования. Си ценят за его эффективность. Он является самым популярным языком для создания системного программного обеспечения. Его также часто используют для создания прикладных программ. Несмотря на то, что Си не разрабатывался для новичков, он активно используется для обучения программированию. В дальнейшем синтаксис языка Си стал основой для многих других языков.

Для языка Си характерны лаконичность, современный набор конструкций управления потоком выполнения, структур данных и обширный набор операций.

Язык Си был создан для программистов, учитывая их интересы, и многократно проверялся на практике, прежде чем был окончательно реализован. Именно поэтому языки Си и Си++ стали наиболее популярными среди программистов высокого уровня.

Цель работы – разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка.

Метод исследования – изучение литературы, написание и отладка программ на компьютере

 

 

 

 

 

 

1. АНАЛИЗ ВОПРОСА И ПОСТАНОВКА ЗАДАЧИ

 

1.1. Выбор метода решения

 

Вычисление определителя матрицы можно осуществить одним из следующих способов.

1. Метод понижения порядка. Нахождение определителя n-го порядка сводится к вычислению п определителей (n – 1)-го порядка. Метод неэффективен.

2. Нахождение определителя  сводится к вычислению одного определителя (n – 1)-го порядка. Для этого достаточно все элементы, кроме одного, в каком-либо столбце (строке) сделать равными нулю.

3. Приведение определителя к треугольному виду. Состоит в таком его преобразовании, когда все элементы, лежащие по одну сторону главной диагонали, становятся нулями. Полученный определитель равен произведению элементов главной диагонали:

 

 

4. Вычисление определителя и обратной матрицы с помощью метода Гаусса

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

Рассмотрим метод Крамера созданный Габриелем Крамером в 1750 году. Метод Крамера (правило Крамера) — способ решения квадратных систем линейных алгебраических уравнений с ненулевым определителем основной матрицы.

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

 

.

 

Оказывается, что с такой матрицей всегда можно связать вполне определенную числовую характеристику.

Определение 1. Численная характеристика квадратной матрицы называется ее определителем.

Рассмотрим матрицу первого порядка .

Определение 2. Численной характеристикой матрицы первого порядка, то есть определителем первого порядка, называется величина ее элемента .

Обозначается определитель одним из символов .

Определение 3. Определителем второго порядка, соответствующим матрице второго порядка, называется число, равное .

Обозначается определитель одним из символов

 

.

 

Очевидно, что для составления определителя второго порядка, необходимо найти разность произведения элементов, стоящих на главной диагонали матрицы, и произведения элементов, стоящих на побочной диагонали этой матрицы.

Поскольку одна из форм обозначения определителя и обозначения матрицы имеют много общего (записывается таблица из чисел), то так же, как и у матрицы, говорят о столбцах, строках и элементах определителя.

После того как рассмотрены определители 1-го и 2-го порядков, можно перейти к понятию определителя любого порядка. Но перед этим введем понятие минора.

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

Обычно минор элемента обозначается .

Определение 5. Определителем порядка , соответствующим матрице порядка , называется число, равное

 

.

 

Обозначается определитель одним из символов

 

.

 

Приведенное выражение представляет собой правило вычисления определителя -го порядка по элементам первой строки соответствующей ему матрицы и по минорам элементов этой строки, которые являются определителями порядка . Для это правило дает:

 

.

 

В приведенном правиле вычисления определителя фигурирует лишь первая строка. Возникает вопрос, а нельзя ли вычислить определитель, используя элементы других строк?

Теорема 1. Каков бы ни был номер строки (), для определителя -го порядка справедлива формула

 

,

 

называемая разложением этого определителя по -ой строке.

Нетрудно заметить, что в этой формулировке степень при (-1) равна сумме номеров строки и столбца, на пересечении которых стоит элемент .

Докажем сначала эту теорему для . В этом случае может быть равно только 2, так как входит в основное определение величины определителя. Итак:

 

.

 

Полученное выражение совпадает с тем, которое было дано в определении, следовательно, для определителя 2-го порядка теорема доказана.

Для произвольного данная теорема доказывается методом математической индукции.

Итак, показано, что определитель может быть разложен по любой строке. Возникает вопрос, а нельзя ли сделать то же самое, использовав произвольный столбец.

Теорема 2. Каков бы ни был номер столбца (), для определителя -го порядка справедлива формула

 

,

 

называемая разложением этого определителя по -му столбцу.

Докажем теорему для :

 

.

 

Данное выражение равно величине определителя, введенной по определению.

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

Свойства определителей:

1. При перестановке двух столбцов определитель меняет знак на противоположный (свойство антисимметрии).

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

3. Умножение всех элементов какого-нибудь столбца на скаляр k равнозначно умножению определителя на k (общий множитель элементов строки или столбца можно вынести за знак определителя).

4. Умножение матрицы n-го порядка на скаляр k соответствует умножению ее определителя на kn, т.е.

det(k[A]) = kndet[A].

5. Значение определителя не изменится, если к какому-нибудь столбцу прибавить другой столбец, умноженный на скаляр k.

6. Если два определителя одинаковых порядков различаются между собой только элементами j-го столбца, то их сумма равна определителю, элементы j-го столбца которого равны суммам соответствующих элементов j-х столбцов исходных определителей, а остальные элементы те же, что у исходных (свойство линейности).

Описание метода Крамера

Метод Крамера состоит в том, что мы последовательно находим главный определитель системы (1), т.е. определитель матрицы А

 

                                                       D = det (ai j)                      (1)

 

n вспомогательных определителей Di (i= ), которые получаются из определителя D заменой i-го столбца столбцом свободных членов.

 

Формулы Крамера имеют вид:

 

                                          D * x i = D i (i= )                        (2)

 

Из (2) следует правило Крамера, которое дает исчерпывающий ответ на вопрос о совместности системы (1): если главный определитель системы отличен от нуля, то система имеет единственное решение, определяемое по формулам:

 

                                                    x i = D i / D.

Если главный определитель системы D и все вспомогательные определители

            

                                                   D i = 0 (i= ),

 

то система имеет бесчисленное множество решений. Если главный определитель системы D = 0, а хотя бы один вспомогательный определитель отличен от нуля, то система несовместна.                   

 

1.2. Выбор инструментальных средств

 

Языки программирования – это формальные языки, специально созданные для общения человека с компьютером. Каждый язык программирования ровно как и «естественный» язык, имеет алфавит, словарный запас, свои грамматику и синтаксис, а так же семантику.

Взаимодействие синтаксических и семантических правил определяют те или иные понятия языка. В отличии от естественных языков правила грамматики и семантики для языков программирования, как и для всех формальных языков, должны быть ясно, однозначно и чётко сформулированы.

Целью данной курсовой работы является вычисление определителя матрицы произвольного порядка. Для этого рассмотрим некоторые языки программирования и выберем более удобный для нас.

Двоичный язык - в настоящее время программистами не применяется. Применение этого языка требует огромных затрат времени, является невероятно трудоемким процессом.

Шестнадцатеричный язык - упрощение за счет представления четырех двоичных цифр одной шестнадцатеричной. Используется в качестве дополнения к языкам высокого уровня для программирования критичных к времени выполнения фрагментов алгоритмов.

Язык Ассемблера - предназначен для представления в удобочитаемой символической форме программ, написанных на машинном языке. Используется для написания драйверов устройств, критических с точки зрения быстродействия, участков программ, а так же для написания стыковочных узлов (мостов) между модулями программы, написанной на двух разных языках.

Язык Макроассемблера - расширение языка Ассемблера. Позволяет определять и использовать новые, более мощные команды.

Язык Fortran на данный момент также используют в учебных целях. Встретить этот язык в применении почти не реально, так как он не очень удобен и, как следствие, не распространен.

Язык Basic разработан в 1964 г. для использования новичками. Basic широко используется в учебных заведениях для тренировки базовых навыков программирования у обучающихся. Он очень популярен и существует множество его диалектов, несовместимых между собой.

Информация о работе Разработка пакета прикладных программ для вычисления определителя матрицы произвольного порядка