Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ.Исрапилова.442.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
641 Кб
Скачать
☆

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, поскольку в нем более приятный графический интерфейс и больше возможностей для работы с оконными приложениями, которым и является данная программа.