Решение систем линейных алгебраических уравнений – одна из основных задач в различных отраслях деятельности. Хотя задача решения системы линейных уравнений сравнительно редко представляет самостоятельный интерес для приложений, от умения эффективно решать такие системы часто зависит сама возможность математического моделирования самых разнообразных процессов с применением ЭВМ. Значительная часть численных методов решения различных (в особенности – нелинейных) задач включает в себя решение систем линейных уравнений как элементарный шаг соответствующего алгоритма.
Вычислительные системы являются мощным средством исследования в разнообразных областях науки, техники, информационного обеспечения общества. Первоначально их применяли для решения сложных интегро-дифференциальных уравнений, но с развитием новой техники эвм стремительно завоевывают новые области применения. Моделирование сложных систем управления стало революционным шагом. Развитие распределенных интерактивных систем привело к возникновению общества принципиального нового типа – «информационного общества».
Являясь средством решения ряда практических задач, компьютер в тоже время объект для изучения. В соответствии с общими принципами существует аппаратное и программное обеспечение. Аппаратные возможности обеспечивают эффективность и возможности программ и возможности компьютера целиком. Однако без программного обеспечения компьютер просто куча железок. Правильное представление – компьютер есть программно-аппаратная совокупность, при этом можно выделить программное обеспечение в отдельную область.
Стремительно развитие компьютера привело к появлению средств автоматизации программирования: языков программирования и систем программирования. Количество принципиально различных языков программирования колоссально. В данной курсовой работе остановимся на рассмотрении языка высокого уровня с#.
Процедурно-ориентированная парадигма предполагает, что программа строится из отдельных выполняемых и описательных операторов, некоторых алгоритм. Существуют следующие языки: алгол, фортран, кобол, пл/1, паскаль, си.
К объектно-ориентированным относят smalltalk, с#, object-pascal и java. В основе этих языков лежит понятие объектового типа, позволяющее описывать пользовательские типы и операции над ними.
1 МЕТОДЫ И СРЕДСТВА РЕШЕНИЯ ЗАДАЧ
1.1 Решение систем уравнений методом Гаусса-Жордана
Основными методами решения систем линейных уравнений являются методы Крамера, обратной матрицы (матричный метод) и итерационный метод Гаусса-Жордана (метод последовательного исключения неизвестных).
Рассмотрим кратко первые 2 метода.
Рассмотрим систему уравнений
2 РАЗРАБОТКА И ВЕРИФИКАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
2.1 Разработка программного продукта
Для вычислений корней системы линейных уравнений методом Гаусса-Жордана требовалась разработка программных модулей.
Данные модули должны содержать следующие возможности:
1. Серверная часть программного продукта:
· Просмотр чата участников решения;
· Поля для настройки порта подключения к серверу;
· Поля для редактирования исходных данных;
· Матрица коэффициентов;
· Матрица векторов;
· Управляющие элементы, позволяющие включать и отключать сервер;
2. Клиентская часть программного продукта:
· Поля для настройки подключения к серверу;
· Таблица с полученными данными о СЛУ;
· Таблица со списком операций, выполненных пользователем, а также описание их;
· Поле с количеством действий, произведенных пользователем;
· Управляющие элементы, позволяющие пользователю совершать операции с полученным уравнением;
· Управляющие элементы, позволяющие отправлять ответ, автоматически подсчитывать ответ, а также получать часть нового СЛУ от сервера.
Программа должна представлять совокупность методических и программных средств решения следующей задачи:
· Расчет определителей матрицы;
· Нахождение неизвестных переменных в системах линейных уравнений по методу Гаусса-Жордана.
Для этих задач должны быть реализованы:
· Алгоритмы, обеспечивающие получение точного решения;
· Программный продукт представлен на языке с#
Требование к надежности
Предусмотреть контроль вводимой информации предусмотреть блокировку некорректных действий пользователя при работе с системой.
ЗАКЛЮЧЕНИЕ
В предоставленной курсовой работе было решено поставленное техническое задание: решение системы линейных уравнений методом Гаусса-Жордана.
Также, в процессе выполнения этих заданий были выполнены следующие задачи:
Первой из них являлось ознакомление с предметом «технология программирования», то есть изучение его во время лекционных, лабораторных и практических занятий. Из курса этих занятий мною были выведены следующие выводы: технология программирование является одним из основополагающих предметов, которые необходимо изучить во время получения степени бакалавра автоматизации и управления, так как во время дальнейшей рабочей деятельности, каждый бакалавр столкнется с автоматизированными системами производства, принцип работы которых подчиняется нормам и стандартам технологии программирования, кроме того большинство из них написаны на языке программирования с#, изучение которого являлось второй задачей, поставленной мной для выполнения данной курсовой работы.
В процессе этих занятий был изучен язык программирования с#, что являлось второй задачей и обязательным условием выполнения курсовой работы, так как в задании к курсовой работе указана необходимость выполнения ее на языке программирования с#. Языком написания курсовой работы был выбран язык программирования с#, так как на данный момент это самый распространенный язык программирования в новейших системах автоматизации, то есть контролерах. Именно поэтому в задании к выполнению курсовой работы была указана необходимость написания ее на языке с#.
Затем, третьей задачей являлось ознакомление с техническим заданием курсовой работы, которое заключалось в разработке программы для решения задач, указанных в задании для курсовой работы, а именно, задач на расчет матрицы по методу Гаусса-Жордана.
Далее следовало непосредственно выполнение задания курсовой работы, которое заключалось в первую очередь - в выборе программного обеспечения для написания программы, выполняющей решение задачи. В качестве программного обеспечения был выбран Visual Studio c# производства компании Microsoft, так как я посчитал его наиболее практичным. После этого был разработан алгоритм для задачи, что являлось немаловажным условием, так как любая программа действует по определенному алгоритму, который обеспечивает ее надежность и правильное функционирование.