- •«Решение системы n-линейных уравнений с n-переменными» пояснительная записка
- •Содержание
- •Введение
- •1. Общая часть
- •1.1. Описание предметной области
- •1.2. Анализ методов решения
- •1.4. Описание языка Delphi
- •2.4.1. Общие сведения
- •2. Специальная часть
- •2.4. Описание программы
- •2.4.6. Входные и выходные данные
- •Заключение
1.2. Анализ методов решения
Решение системы линейных уравнений может быть реализовано следующими способами:
Ручным — этот способ является трудоёмким и требует больших затрат времени;
Автоматизированным — исходные данные вводятся вручную, а результат рассчитывается программой на компьютере;
Автоматическим — исходные данные автоматически считываются с внешнего устройства (например, файла на диске) и обрабатываются программой.
Для решения системы уравнения можно использовать следующие методы:
Прямые (или точные) методы, которые позволяют найти решение за определенное количество шагов;
Итерационные методы, которые основаны на использовании повторяющегося процесса и позволяют получить решение в результате последовательных приближений.
К прямым методам решения относятся:
Матричный метод;
Метод Гаусса;
Метод Гаусса – Жордана;
Метод Крамера.
К итерационным методам решения относятся:
Метод Гаусса – Зейделя;
Метод релаксации;
Метод простой итерации (м. Якоби);
Многосеточный метод.
Далее мы рассмотрим метод Гаусса, которым и решается данная задача.
Метод Гаусса
Метод Гаусса — классический метод решения системы линейных алгебраических уравнений. Это метод последовательного исключения переменных, когда с помощью элементарных преобразований система уравнений приводится к равносильной системе ступенчатого вида, из которого последовательно, начиная с последних (по номеру) переменных, находятся все остальные переменные. Пусть исходная система выглядит так:
Матрица A называется основной матрицей системы, b — столбцом свободных членов.
Тогда согласно свойству элементарных преобразований над строками основную матрицу этой системы можно привести к ступенчатому виду(эти же преобразования нужно применять к столбцу свободных членов):
При
этом будем считать, что базисный минор
(ненулевой минор максимального порядка)
основной матрицы находится в верхнем
левом углу, то есть в него входят только
коэффициенты при переменных
.Тогда
переменные
называются
главными
переменными.
Все остальные называются свободными.
Если хотя бы одно число
,
где i
> r,
то рассматриваемая система несовместна.
Пусть
для
любых i
> r.
Перенесём свободные переменные за знаки
равенств и поделим каждое из уравнений
системы на свой коэффициент при самом
левом
(
,
где
—
номер строки):
где
Если свободным переменным системы (4) придавать все возможные значения и решать новую систему относительно главных неизвестных снизу вверх (то есть от нижнего уравнения к верхнему), то мы получим все решения этой СЛАУ. Так как эта система получена путём элементарных преобразований над исходной системой (2), то по теореме об эквивалентности при элементарных преобразованиях системы (3) и (4) эквивалентны, то есть множества их решений совпадают.
1.3. Обзор средств программирования
Были рассмотрены 2 языка программирования: Delphi и С++.
С++
C++ — компилируемый статически типизированный язык программирования общего назначения.
Поддерживает такие парадигмы программирования как процедурное программирование, объектно-ориентированное программирование, обобщенное программирование, обеспечивает модульность, раздельную компиляцию, обработку исключений, абстракцию данных, объявление типов (классов) объектов, виртуальные функции. Стандартная библиотека включает, в том числе, общеупотребительные контейнеры и алгоритмы. C++ сочетает свойства как высокоуровневых, так и низкоуровневых языков[1],[2]. В сравнении с его предшественником — языком C, — наибольшее внимание уделено поддержке объектно-ориентированного и обобщённого программирования[2].
Название «C++» происходит от названия языка C, в котором унарный оператор ++ обозначает инкремент переменной.
Являясь одним из самых популярных языков программирования,[3][4] C++ широко используется для разработки программного обеспечения. Область его применения включает создание операционных систем, разнообразных прикладных программ, драйверов устройств, приложений для встраиваемых систем, высокопроизводительных серверов, а также развлекательных приложений (игр). Существует множество реализаций языка C++, как бесплатных, так и коммерческих и для различных платформ. Например, на платформе x86 это GCC,Visual C++, Intel C++ Compiler, Embarcadero (Borland) C++ Builder и другие. C++ оказал огромное влияние на другие языки программирования, в первую очередь на Java и C#.
Синтаксис C++ унаследован от языка C. Одним из принципов разработки было сохранение совместимости с C. Тем не менее, C++ не является в строгом смысле надмножеством C; множество программ, которые могут одинаково успешно транслироваться как компиляторами C, так и компиляторами C++, довольно велико, но не включает все возможные программы на C.
Delphi
Delphi — императивный, структурированный, объектно-ориентированный язык программирования, диалект Object Pascal. Начиная со среды разработки Delphi 7.0[3], в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal. Начиная с 2007 года уже язык Delphi (производный от Object Pascal) начал жить своей самостоятельной жизнью и претерпевал различные изменения, связанные с современными тенденциями (например, с развитиемплатформы .NET) развития языков программирования: появились class helpers, перегрузки операторов и другое.
Выбран был язык Delphi, поскольку в нем более приятный графический интерфейс и больше возможностей для работы с оконными приложениями, которым и является данная программа.
