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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 28.08.2012
Размер файла 162,0 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

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

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

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

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

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

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

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

сh

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.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 1- Структурная диаграмма программного модуля

int main - основная функция программы.

int menu - вывод основного меню на экран и возврат номера выбранной функции.

double control - контроль формата вводимых значений.

float dop - вычисление алгебраического дополнения.

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Рисунок 2- Блок- схема функции menu.

уравнение линейный программа тестирование

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

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

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

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

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

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

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

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

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

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

Описание теста

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

Реакция программы

Требуемое действие

Тест 1:

Ввод несуществующего пункта меню.

Ввод: 6

Сообщение об ошибке ввода:

Такого пункта нет! Введите от 1 до5.

Повторить ввод пункта меню.

Тест 2:

Ввод пункта меню буквами или другими знаками, кроме цифр.

Ввод: р

Сообщение об ошибке ввода:

Такого пункта нет! Введите от 1до 5.

Ввод пункта меню цифрами.

Тест 3:

Пункт меню не был введен.

Ввод: (нет)

Сообщение об ошибке ввода:

Такого пункта нет! Введите от 1до 5.

Ввести пункт меню.

Тест 4:

Ввод исходных данных (коэффициентов уравнения) другими знаками, кроме цифр.

Запрос:

Введите коэффициенты уравнений.

Ввод: у

Сообщение об ошибке:

ОШИБКА! Неверный формат числа. Введите значения заново.

Ввод исходных данных цифрами.

Тест 5:

Ввод индекса редактируемого элемента другими знаками, кроме цифр.

Запрос:

Введите индекс редактируемого элемента <i, j> .

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

Размещено на Allbest.ru


Подобные документы

  • Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.

    курсовая работа [81,7 K], добавлен 18.08.2014

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

    курсовая работа [939,4 K], добавлен 16.01.2014

  • Системы линейных алгебраических уравнений. Решение систем уравнений графическим способом. Разработка программного кода модуля, реализующего приближенное решение систем линейных уравнений графическим способом. Отладка программного модуля "Метод Гаусса".

    курсовая работа [858,5 K], добавлен 01.12.2013

  • Сущность матричного метода. Разработка программы решения системы уравнений линейных алгебраических уравнений методом решения через обратную матрицу на языке программирования Delphi. Представление блок-схемы и графического интерфейса программного продукта.

    курсовая работа [1,0 M], добавлен 27.09.2014

  • Системы линейных алгебраических уравнений. Матричный метод решения систем линейных уравнений. Решение задачи математическим методом. Блок-схема алгоритма и листинг программы. Расчет трудоемкости разработки программы. Расчет себестоимости и цены программы.

    дипломная работа [144,8 K], добавлен 25.04.2012

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

    контрольная работа [231,8 K], добавлен 15.08.2012

  • Понятия систем линейных уравнений и матриц. Решение общей системы линейных уравнений по методу Гаусса. Системные требования, методы установки, удаления и работы с программой. Методы защиты от неверного ввода данных. Тестирование и опытная эксплуатация.

    курсовая работа [751,0 K], добавлен 25.02.2011

  • Обоснование выбора языка программирования. Анализ входных и выходных документов. Логическая структура базы данных. Разработка алгоритма работы программы. Написание программного кода. Тестирование программного продукта. Стоимость программного продукта.

    дипломная работа [1008,9 K], добавлен 13.10.2013

  • Решение систем линейных уравнений на ЭВМ методом Крамера. Запуск Microsoft Visual Basic. Форма ввода размерности системы. Форма графика системы линейного уравнения. Матрица с неизвестными переменными. Программы построения графика и перехода между формами.

    курсовая работа [743,7 K], добавлен 29.06.2011

  • Разработка программного продукта на языке Delphi 7.0. Матричный метод решения однородных и неоднородных систем линейных уравнений. Разработка интерфейса. Тестирование и описание объектов программы. Описание процесса вычисления определителей матриц.

    курсовая работа [366,1 K], добавлен 04.02.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.