Разработка калькулятора, решающего системы уравнений с тремя неизвестными - Курсовая работа

бесплатно 0
4.5 138
Определение системы m линейных уравнений с n неизвестными. Математическая модель задачи. Анализ входных и выходных данных. Требования к надежности разрабатываемой программы. Структурная диаграмма программного модуля. Разработка блок-схем и тестирование.


Аннотация к работе
Системой m линейных уравнений с n неизвестными , ,…, или линейной системой, называется система вида Подстановка которых вместо , ,…, соответственно (= , = , …, = ) обращает в тождество каждое из уравнений этой системы. Поскольку матрица А согласована с матрицей Х (число столбцов матрицы А равно числу строк матрицы Х ), то можно найти произведение Обозначим через определитель, полученный заменой в определителе ? столбца из коэффициентов при неизвестной столбцом свободных членов системы (6.9): = , (1.11) где k =1, 2,…, n. , (1.15) где - матрица, обратная матрице А, а B определяется третьей из формул (1.14).В данном курсовом проекте была рассмотрена задача разработки программы, имитирующей работу калькулятора, где вид обрабатываемых данных: система уравнений с тремя неизвестными. В программе предусмотрена обработка большого количества ошибок ввода.

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

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

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

В первом разделе рассмотрена математическая модель задачи нахождения решений матричного уравнения.

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

В третьем разделе рассмотрен тест программного модуля.

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

1.1 Математическая модель задачи

Системой уравнений называют множество уравнений с n неизвестными(n ? 2), для которых требуется найти значения неизвестных, удовлетворяющих одновременно всем уравнениям системы.

Системой m линейных уравнений с n неизвестными , ,…, или линейной системой, называется система вида

… = , … = , . . . . . . . . . . . . . . . . .

… = , (1.1) где , - числа. Числа (i = 1, 2, …,m; k = 1, 2, …, n) называются коэффициентами, (i = 1, 2, …, m) - свободными членами. Коэффициенты обозначены буквой c двумя индексами i и k : первый указывает номер уравнения, второй - номер неизвестной, к которой относится данный коэффициент.

Решением линейной системы (1.1) называется упорядоченная совокупность n чисел , , …, , (1.2)

Подстановка которых вместо , ,…, соответственно ( = , = , …, = ) обращает в тождество каждое из уравнений этой системы.

Линейную систему (1.1) можно записать в матричном виде. Матрица

= , (1.3) составленная из коэффициентов линейных уравнений системы (1.1), называется основной матрицей системы. Матрица

= , (1.4) полученная из основной присоединением столбца свободных членов, называется расширенной матрицей системы (1.1).

Рассмотрим столбцовые матрицы, составленные из неизвестных и свободных членов: X = , B = . (1.5)

Поскольку матрица А согласована с матрицей Х (число столбцов матрицы А равно числу строк матрицы Х ), то можно найти произведение

АХ = .

Элементами этой столбцовой матрицы являются левые части уравнений системы (1.1), поэтому на основании определения равенства матриц

АХ = В. (1.6)

Таким образом, система линейных уравнений записана в виде одного матричного уравнения (1.6), где А, Х, В определяются формулами (1.3) и (1.5); эта запись системы называется матричной.

Каждой линейной системе соответствует единственная пара матриц А, В и обратно: каждой паре матриц - единственная система. Система (1.1) может быть записана в таком виде

… . (1.7)

Если ( , , …, ) - решение системы (1.1), то матрица

С = (1.8)

Называется вектор-решением этой системы. Матрица (1.8) удовлетворяет уравнению (1.6).

Определителем системы n линейных уравнений с n неизвестными , ,…,

… … = , … … = , . . . . . . . . . . . . . . . . . . (1.9)

… … =

Называется определитель матрицы из коэффициентов уравнений этой системы: ? = . (1.10)

Обозначим через определитель, полученный заменой в определителе ? столбца из коэффициентов при неизвестной столбцом свободных членов системы (6.9): = , (1.11) где k =1, 2,…, n.

Линейная система (1.9) называется невырожденной, если ее определитель отличен от нуля (? ? 0).

Теорема 1. Невырожденная линейная система (1.9) имеет единственное решение

, , …, , (1.12)

где ? и (k = 1, 2, …, n) определены соответственно формулами (1.10) и (1.11). Эта теорема называется теоремой Крамера, а формулы (1.12) - формулами Крамера.

Следствие из теоремы Крамера: Если однородная линейная система

… = 0, … = 0, . . . . . . . . . . . . . . . . .

… = 0 имеет ненулевое решение, то ее определитель ? равен нулю.

Систему (1.9) n линейных уравнений с n неизвестными можно записать в матричном виде АХ = В, (1.13)

Если система является невырожденной, т.е. det A ? 0, то она имеет единственное решение

, (1.15) где - матрица, обратная матрице А, а B определяется третьей из формул (1.14).

1.2 Входные данные

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

Таблица 1 - Входные данные

Название Обозначение Диапазон возможных значений

1 2 3

Пункт меню 1 ch 2 1-5 3

Значения коэффициентов матрицы А А[i][j] Ограничений нет

Значения коэффициентов матрицы В B[i] Ограничений нет

Индекс редактируемого элемента [i][j] 1-3

1.3 Выходные данные

Результатом работы программы является нахождение коэффициентов матрицы Х. Выходные данные представлены в таблице 2.

Таблица 2 - Выходные данные

Название Вид представления Вывод

Исходную матрицу системы А[0][0]…А[0][n] B[0] ………………………. A[n][0]…A[n][n] B[n] На экран, в файл “log.txt”

Определитель det

Коэффициенты искомой матрицы Х, т. е. неизвестные коэффициенты системы уравнений Х[i]

1.4 Требования к надежности

Все ошибки, возникающие при выполнении программы, возможная реакция программы на них и методы их исправления представлены в таблице 3.

Таблица 3 - Требования к надежности

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

Ввод несуществующего пункта меню. Выдается сообщение, повторяется запрос. Заново ввести данные

Ввод неверного формата числа Выдается сообщение, повторяется запрос Заново ввести данные

Исходные данные не соответствуют требуемому типу Выдается сообщение, повторяется запрос. Заново ввести данные

Невозможно открыть файл Выдается сообщение об ошибке Проверить существование файла.

2. Проектирование программного модуля

2.1 Структурная диаграмма программного модуля

Иерархическая структура алгоритма представлена на рисунке 1.

Рисунок 1- Структурная диаграмма программного модуля int main - основная функция программы. int menu - вывод основного меню на экран и возврат номера выбранной функции. double control - контроль формата вводимых значений. float dop - вычисление алгебраического дополнения.

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

Рисунок 2- Блок- схема функции menu. уравнение линейный программа тестирование

Рисунок 3.Лист 1- Блок-схема функции dop

Рисунок 3.Лист 2 - Блок- схема функции dop.

Рисунок 4.Лист 1 - Блок-схема функции main

Рисунок 4.Лист 2 - Блок-схема функции main

Рисунок 4.Лист 3 - Блок-схема функции main

Рисунок 4.Лист 3 - Блок-схема функции main

Рисунок 4.Лист 4 - Блок-схема функции main

Рисунок 4.Лист 5 - Блок-схема функции main

2.3 Разработка пользовательского интерфейса

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

Рисунок 5- Иерархия меню

Рисунок 6 - Ввод и редактирование данных

При выборе пункта меню “Вывод решения”, пользователь увидит содержимое файла “log.txt”.

Рисунок 7-Вывод решения

3. Тестирование программного модуля

Тестирование разработанной программы представлено в таблице 4.

Таблица 4 - Тестирование программного модуля

Описание теста Входные данные Реакция программы Требуемое действие

Тест 1: Ввод несуществующего пункта меню. Ввод: 6 Сообщение об ошибке ввода: Такого пункта нет! Введите от 1 до5. Повторить ввод пункта меню.

Тест 2: Ввод пункта меню буквами или другими знаками, кроме цифр. Ввод: р Сообщение об ошибке ввода: Такого пункта нет! Введите от 1до 5. Ввод пункта меню цифрами.

Тест 3: Пункт меню не был введен. Ввод: (нет) Сообщение об ошибке ввода: Такого пункта нет! Введите от 1до 5. Ввести пункт меню.

Тест 4: Ввод исходных данных (коэффициентов уравнения) другими знаками, кроме цифр. Запрос: Введите коэффициенты уравнений. Ввод: у Сообщение об ошибке: ОШИБКА! Неверный формат числа. Введите значения заново. Ввод исходных данных цифрами.

Тест 5: Ввод индекса редактируемого элемента другими знаками, кроме цифр. Запрос: Введите индекс редактируемого элемента . Ввод: k Сообщение об ошибке ввода: ОШИБКА! Неверный формат числа. Введите значения заново. Ввод редактируемого элемента цифрами.

Тест 6: Исходные данные введены правильно ( в том числе и пункт меню). Проверка правильности вычислений. Запрос: Введите коэффициенты уравнений: Ввод: A[1][1]=1 A[1][2]=2 A[1][3]=3 B[1]=4 A[2][1]=5 A[2][2]=6 A[2][3]=7 B[2]=8 A[3][1]=9 A[3][2]=1 A[3][3]=2 B[3]=3 Вывод результатов вычислений. Определитель=-36.00 Искомая матрица: Х= . При расчетах в Excel получены результаты -36.00 0 -1 2

Вывод
В данном курсовом проекте была рассмотрена задача разработки программы, имитирующей работу калькулятора, где вид обрабатываемых данных: система уравнений с тремя неизвестными. Алгоритм программы реализован в среде Visual C 6.0. Выполнены все пункты задания. В программе предусмотрена обработка большого количества ошибок ввода. Тестирование показало, что программа

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



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



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