Решение системы двух линейных уравнений с представлением решения в числовом и графическом виде - Курсовая работа

бесплатно 0
4.5 176
Проектирование структуры программы, принцип ее работы, сферы практического использования и оценка возможностей. Выбор и обоснование среды программирования. Разработка пользовательского интерфейса и модулей приложения. Проведение тестирования программы.


Аннотация к работе
Программа представляет собой две формы Form1 «Уравнения» и FORMVVOD «Справка». Немодальные окна диалога (modeless dialog boxes) или формы позволяют перемещать фокус между окном диалога и другой формой, не закрывая окно диалога. Чтобы отобразить форму как модальное окно диалога, следует использовать метод SHOWDIALOG() формы. Чтобы отобразить форму в немодальном режиме, следует использовать метод Show(), например: Form2->Show(); В курсовой работе на одной форме расположены все элементы управления и обработчики событий программы, на другой - справка по программе.Программа успешно подходит для решения системы из двух, трех или четырех уравнений с количеством неизвестных равным количеству уравнений. Программа наглядно показывает результат решения системы в графическом и числовом виде.

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

Курсовая работа включает следующие разделы: 1. постановка задачи - раздел содержит спецификацию программы с описанием входных и выходных данных, диапазоном их изменения;

2. проектирование структуры программы - раздел содержит описание модулей программы;

3. проектирование пользовательского интерфейса - раздел содержит описание элементов взаимодействия пользователя и программы.

4. проектирование модулей программы - раздел содержит описание алгоритма работы программы;

5. тестирование программы - раздел содержит результаты работы программы на различных тестовых данных;

6. разработка справочной системы - раздел содержит описание справочной системы программы;

7. рекомендации по использованию программы - раздел содержит описание всех функциональных возможностей программы;

8. заключение.

1. Постановка задачи программа интерфейс приложение пользовательский

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

Программа представляет собой две формы Form1 «Уравнения» и FORMVVOD «Справка».

На форме Form1 расположены такие элементы управления, как GROUPBOX, label, LISTBOX, TEXTBOX, PICTUREBOX, MENUSTRIP, TOOLSTRIP, OPENFILEDIALOG, COLORDIALOG. Они используются для того, чтобы обеспечить ввод, вывод и преобразование данных данных. Форма используется для ввода, вывода данных, в том числе в графическом виде.

На форме FORMVVOD расположены такие элементы управления, как GROUPBOX, label, button. Форма используется для отображения справки о программе.

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

После ввода коэффициентов программа представит решение системы и нарисует график решения для системы из двух переменных.

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

2. Проектирование структуры программы

Form

Основным компонентом среды визуального программирования является форма (Form). Форма - это контейнер, в который помещаются остальные элементы приложения, определяющие впоследствии всю функциональность приложения. В форме можно разместить различные визуальные компоненты (элементы управления), такие как кнопка, текстовое поле для ввода данных, список, поле со списком и т.д. Для работы формами используется дизайнер форм.

При создании нового проекта типа Windows Forms Application автоматически создается форма Form1. Вместе с ней создается специальный программный модуль с именем формы и расширением.h (Form1.h). В этом модуле находится описание формы, и в нем же будут располагаться обработчики событий компонентов.

Форма может быть отображена в двух режимах: модальном или немодальном

(обычном). Разница между ними в следующем. Модальное окно диалога (modal dialog box) или форма должны быть закрыты, чтобы можно было продолжать работу с приложением. Например, диалоговые окна, отображающие важные сообщения, всегда должны быть модальными, то есть пользователь обязан закрывать их или отвечать на сообщения в них, прежде чем продолжить работу. Немодальные окна диалога (modeless dialog boxes) или формы позволяют перемещать фокус между окном диалога и другой формой, не закрывая окно диалога. Немодальные окна диалога достаточно редки.

Чтобы отобразить форму как модальное окно диалога, следует использовать метод SHOWDIALOG() формы. Чтобы отобразить форму в немодальном режиме, следует использовать метод Show(), например: Form2->Show();

Основные свойства формы. Для формы и других компонентов характерно наличие свойств и событий. Свойства служат двум главным целям. Во-первых, они определяют внешний вид формы или компонента. Во-вторых, свойства определяют поведение формы или компонента. Visual Studio позволяет изменять свойства компонентов как в режиме проектирования (design time), так и в режиме выполнения программы (run time).

В курсовой работе на одной форме расположены все элементы управления и обработчики событий программы, на другой - справка по программе.

· Свойства формы

ALLOWDROP - свойство определяет возможность вывода у себя данных, когда пользователь перемещает их над этим компонентом.

AUTOSCALEMODE - это свойство задает возможность автоматического масштабирования. Значение свойства выбирается из выпадающего списка. Если выбрать значение Font, то автоматическое изменение шрифта будет полезным тогда, когда форма или компонент должны растягиваться или сокращаться в соответствии с размерами с размерами шрифта в операционной системе. Если выбрано значение DPI, то размеры формы или компонента будут изменяться относительно экрана. Если выбрать значение Inherit, то другой компьютер станет наследовать шрифт и разрешение базового компьютера.

AUTOSCROLL - это свойство задает возможность автоматического появления полос прокрутки.

AUTOSCROLLMARGIN - ширина полос прокрутки (при необходимости) в пикселах.

AUTOSIZE - возможность автоматического изменения размеров.

AUTOSIZEMODE - режим автоматического изменения размеров. Возможные значение: GROWONLY (только растягиваться), GROWANDSHRINK (растягивать и уменьшаться).

BACKCOLOR - цвет фона.

BACKGROUNDIMAGE - фоновое изображение.

BACKGROUNDIMAGELAYOUT - тип размещения фонового изображения: подгонять под размер компонента, растягивать и др.

CANCELBUTTON - это свойство позволяет создавать имитацию нажатию некоторой кнопки с помощью клавиши ESC в момент работы приложения. При нажатии ESC приложение будет выполнять такое же действие, как будто пользователь щелкнул по указанной кнопке.

CAUSESVALIDATION - включает / выключает необходимость проверки на достоверность компонента во время получения им фокуса. Это свойство подавляет или не подавляет возникновение события Validating.

CONTEXTMENUSTRIP - через это свойство к компоненту подключается его контекстное меню. Программирование на языке высокого уровня.

CONTROLBOX - предоставляет возможность вывода в различном виде заголовочной полосы формы (с кнопочками (True) или без (False)).

Cursor - задает форму курсора мыши для формы или компонента.

Enabled - задает возможность доступа к компоненту.

Font - определяет характеристики шрифта формы или компонента.

FORECOLOR - цвет переднего плана компонента.

FORMBORDERSTYLE - задает стиль окантовки формы, который выбирается из выпадающего списка. По умолчанию имеет значение Sizable - форма может изменять свои размеры в режиме выполнения.

HELPBUTTON - задает возможность вывода кнопки помощи (с вопросительным знаком) в заголовке компонента. Обработка кнопки помощи определяется в обработчике события HELPREQUESTED формы или компонента.

Icon - определяет пиктограмму приложения.

IMEMODE - Input Method Editor - подключает к компоненту редактор с различными режимами обработки входных данных.

ISMDICONTAINER - показывает, является ли форма контейнером для многодокументного интерфейса.

Locked - блокировка компонента. В результате блокировки компонент теряет возможность перемещаться или изменять размеры. При этом в левом верхнем углу компонента появляется пиктограмма замка.

MAINMENUSTRIP - через это свойство к компоненту подключается главное меню.

Opacity - задает уровень затемнения (прозрачности) формы. Значение указывается в процентах. Чем ниже процент, тем более прозрачна форма.

Padding - задает отступы внутри компонента и определяет пространство внутри компонента, которое «держит» на заданной дистанции от границ компонента содержимое компонента.

Size - размеры компонента.

SIZEGRIPSTYLE - это свойство позволяет задать вывод / невывод калибровочной полоски в правом нижнем углу формы.

STARTPOSITION - задает стартовую позицию формы в режиме исполнения приложения, например, по центру экрана (CENTERSCREEN).

Tag - нечто вроде буферной области, связанной с компонентом. Это свойство позволяет сохранять какие-нибудь данные, чтобы потом ими воспользоваться.

Text - заголовок компонента.

TOPMOST - определяет, будет ли данная форма всегда помещена над другой.

TRANSPARENCYKEY - цвет, которым будут высвечиваться прозрачные области формы.

USEWAITCURSOR - определяет, будет ли использоваться курсор в виде песочных часов для данного компонента и всех его потомков или нет.

WINDOWSTATE - состояние окна формы.

· События формы

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

Рассмотрим некоторые события формы.

Activated - возникает, когда форма активизируется.

Click - возникает при щелчке мышью по форме.

CONTROLADDED - возникает, когда в форму добавлен новый элемент управления (во время выполнения приложения).

DOUBLECLICK - возникает, когда произведен двойной щелчок мышью по форме.

FORMCLOSED - возникает после закрытия формы.

FORMCLOSING - возникает перед закрытием формы.

HELPBUTTONCLICKED - возникает после щелчка на кнопке HELPBUTTON.

HELPREQUESTED - возникает при нажатии на кнопке F1.

Load - возникает перед первым выводом формы.

· Методы формы

Форма имеет большое количество методов, которые можно просмотреть, нажав комбинацию клавиш . При этом откроется окно Dynamic Help, в котором надо выбрать строку Form Members. В разделе Form Members справочной системы перечислены не только методы, но и все свойства и события формы. Рассмотрим некоторые методы формы.

Close() - закрывает форму. Если закрывается главная форма, приложение закрывается. Ресурсы, занятые формой, освобождаются.

Hide() - форма становится невидимой.

Show() - выводит форму на экран.

SHOWDIALOG() - показывает форму в модальном режиме.

Focus() - передает фокус форме или компоненту (делает форму активной).

Компоненты

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

· Button

Button - прямоугольная кнопка с надписью. Поместив Button на форму, Вы по двойному щелчку можете создать заготовку обработчика события нажатия кнопки. Далее нужно заполнить заготовку кодом.

Свойства элемента управления Button: Left-позиция элемента управления относительно левого края его контейнера.

Top - позиция элемента относительно верхнего края его контейнера.

Height - высота.

Width - ширина.

Enabled - определяет, можно ли пользователю работать с этим элементом управления.

Visible - видимость во время выполнения программы.

Text - подпись.

Все указанные свойства можно менять как во время разработки программы, так и во время ее работы. Чтобы изменить свойства кнопки во время работы программы, необходимо в процедуре использовать команду вида: НАЗВАНИЕЭЛЕМЕНТА->НАЗВАНИЕСВОЙСТВА = НОВОЕЗНАЧЕНИЕ

· Label

Элементы управления Label обычно предоставляют информацию в пользовательский интерфейс. Вы можете изменить шрифт и цвет надписи, если щелкнете на кнопке с троеточием в строке Font в окне

Properties - текст надписи является значением свойства Text.

СВОЙСТВОTEXTALIGN - определяет способ выравнивания текста.

AUTOSIZE - возможность автоматического изменения размеров.

AUTOSIZEMODE - режим автоматического изменения размеров. Возможные значение: GROWONLY (только растягиваться), GROWANDSHRINK (растягивать и уменьшаться).

BACKCOLOR - цвет фона.

BACKGROUNDIMAGE - фоновое изображение.

· TEXTBOX

TEXTBOX - стандартный управляющий элемент Windows для ввода. Он может быть использован для отображения короткого фрагмента текста и позволяет пользователю вводить текст во время выполнения программы. Начальное содержимое области редактирования определяет строка, являющаяся значением свойства Text.

Font - определяет параметры шрифта текстового поля.

Установив свойство READONLY в значение True, мы запрещаем пользователюпрограммы вводить данные в текстовое поле. Свойство MAXLENGTH определяет число символов, которые можно ввести в текстовое поле. Свойство SELECTEDTEXT содержит текущий выделенный фрагмент строки в текстовом поле. Свойства SELECTIONSTART, SELECTIONLENGTH возвращают начальную позицию и длину выделенного фрагмента строки в текстовом поле. Свойство MULTILINE позволяет установить возможность вывода текста в несколько строк. Свойство TEXTALIGN определяет способ выравнивания текста.

Событие TEXTCHANGED возникает при вводе и изменении данных в тектовом поле. Можно использовать процедуру обработки этого события, чтобы обрабатывать данные, вводимые пользователем. Пример процедуры обработки события TEXTCHANGED: private: System: Void TEXTBOX1_TEXTCHANGED (System: Object^ sender, System: EVENTARGS^ e)

{LBLRESULT->Text = TEXTBOX1->Text;}

Классы

· MENUSTRIP

Элемент управления MENUSTRIP представляет контейнер для структуры меню формы. Можно добавить объекты TOOLSTRIPMENUITEM в объект MENUSTRIP, который представляет отдельные команды в структуре меню. Каждый объект TOOLSTRIPMENUITEM может быть командой для приложения или родительским меню для других элементов вложенного меню.

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

Пример обработчика события: private: System: Void MENUSTRIP1_ITEMCLICKED (System: Object^ sender, System: Windows: Forms: TOOLSTRIPITEMCLICKEDEVENTARGS^ e) { // код обработки события}

· TOOLSTRIP

TOOLSTRIP является базовым классом для классов MENUSTRIP, STATUSSTRIP и CONTEXTMENUSTRIP.

Используйте TOOLSTRIP и связанные с ним классы в новых приложениях Windows Forms для создания панелей инструментов, которые могут иметь внешний вид и поведение Windows XP, Office, Internet Explorer или согласно пользовательской настройке, все это с темами или без них и с поддержкой переполнения и переупорядочения элементов во время выполнения. Элементы управления TOOLSTRIP также предлагают богатый опыт разработки, включая активацию на месте и редактирование, пользовательский макет и совместное использование горизонтального или вертикального пространства в указанном TOOLSTRIPCONTAINER.

Класс TOOLSTRIP class предоставляет множество элементов, обеспечивающих управление рисованием, вводом с помощью мыши и клавиатуры, а также функции перетаскивания. Используйте класс TOOLSTRIPRENDERER совместно с классом TOOLSTRIPMANAGER для получения больших возможностей настройки и контроля стиля оформления и макета для всех элементов управления TOOLSTRIP на Windows Form.

В курсовой работе класс TOOLSTRIP используется для выполнения отдельный функций управления: загрузка данных из файла, вызов справки, изменение цвета элементов управления label.

Пример обработчика события: private: System: Void TOOLSTRIP1_ITEMCLICKED (System: Object^ sender, System: Windows: Forms: TOOLSTRIPITEMCLICKEDEVENTARGS^ e) { // код обработки события}

· OPENFILEDIALOG

Этот класс позволяет проверить, существует ли файл, и открыть его. Свойство SHOWREADONLY определяет, отображается ли в диалоговом окне флажок «доступно только для чтения». Свойство READONLYCHECKED показывает, установлен ли флажок «доступно только для чтения».

Значительная часть возможностей этого класса находится в классе FILEDIALOG.

Если следует предоставить пользователю возможность выбрать папку, а не файл, используйте объект FOLDERBROWSERDIALOG.

В курсовой работе класс OPENFILEDIALOG используется для открытия и считывания данных из файла с разрешением *.txt в диалоговом режиме стандартными средствами Windows.

· COLORDIALOG

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

При создании экземпляра класса COLORDIALOG некоторым свойствам записи и чтения присваиваются начальные значения.

В курсовой работе диалоговое окно COLORDIALOG используется для изменения цвета элементов управления label по запросу пользователя.

3. Проектирование пользовательского интерфейса

Программа состоит из следующих элементов пользовательского интерфейса: · меню (класс MENUSTRIP);

· панель инструментов (TOOLSTRIP);

· элементов управления программой и отображения решения.

Меню программы имеет следующую структуру.

Меню «Уравнение» с подменю «Параметры» и «Выход». Подменю «Параметры» состоит из пунктов «Количество уравнений и неизвестных», «Очистить».

С помощью пункта «Количество уравнений и неизвестных» пользователь должен задать одной цифрой количество уравнений и неизвестных в диапазоне от 2 до 4. С помощью пункта «Очистить» пользователь может очистить ранее введенные параметры. С помощью подменю «Выход» программа закрывается.

Рис. 1 Меню «Уравнение»

Результат нажатия кнопки «Количество уравнений и неизвестных»:

Рис. 2 «Ввод параметров»

Меню «Коэффициенты» предназначено для ввода коэффициентов и свободных членов уравнений при ранее заданных параметрах уравнений. Это можно сделать с помощью подменю «Ввести». Подменю «Очистить» удаляет ранее введенные переменные.

Рис. 3 Меню «Коэффициенты»

Результат нажатия кнопки «Коэффициенты»:

Рис. 4 Ввод коэффициентов

Меню «Рассчитать» предназначено для расчета неизвестных величин уравнений. У данной кнопки подменю нет.

Результат нажатия кнопки «Рассчитать»:

Рис. 5 Расчет неизвестных

Меню «График» предназначено для построения графиков двух уравнений и имеет подменю «Нарисовать» и «Очистить».

Рис. 6 Меню «График»

Результат нажатия кнопки «Нарисовать»:

Рис. 7 Построение графика

Панель инструментов (TOOLSTRIP) состоит из кнопок: · Open;

· Help;

· Color.

Кнопка «Open» позволяет открыть *.txt файл с локальных или сетевых дисков на компьютере. По умолчанию открывается локальный диск С.

Рис. 8 Открытие файла с диска

Кнопка «Help» открывает справочную информацию по программе:

Рис. 9 Справка программы

Кнопка «Color» открывает палитру цветов для изменения цвета надписей программы:

Рис. 10 Управление цветом

4. Проектирование модулей (функций) приложения

Алгоритм ввода параметров уравнений:

Алгоритм ввода коэффициентов уравнений

Алгоритм расчета неизвестных

Алгоритм построения графика

5. Тестирование программы

Таблица 1. Результаты тестирования

Кол. переменных и уравнений Пример1 Пример2 ПРИМЕРЗ

2 3 4 2 3 4 2 3 4 x 3 4 -1 5 3 6 6 10 8 x1 2 10 6 10 4 5 24 12 10 x2 4 -3 5 9 5 -2 x3 10 17 5 y 2 2 5 10 4 4 4 15 2 y1 -1 6 10 -2 8 15 -1 6 7 y2 1 12 -10 -5 -6 3 y3 3 9 -7 z 2 2 -1 1 -9 -2 z1 -2 -2 -2 3 3 4 z2 -1 4 2 4 4 15 z3 7 -3 12 u 4 1 6 u1 5 2 4 u2 4 11 6 u3 -1 1 6

Своб. член 5 8 10 2 12 1 14 10 12

Своб. член1 8 16 22 8 16 2 -2 5 15

Своб. член2 6 24 -2 -1 6 17

Своб. член3 16 4 19

РЕШЕНИЕ x 3 1,6 0,6 1,68 4 0,11 0,05 1,16 0,65 y -2 0,2 2,01 -0,64 11 0,14 3,41 -0,86 0,05 z 0,6 0,5 44 -0,25 -1,26 0,67 u -0,14 -0,02 1,33

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

6. Разработка справочной системы приложения

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

Справочная информация сосредоточена на отдельной форме, которая вызывается из основной формы нажатием кнопки на панели инструментов или клавиши F1 на клавиатуре.

Закрытие справки происходит по кнопке «Закрыть» на форме.

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

Стоит отметить, что мной выбрана система уравнений с совпадающим числом переменных и уравнений. Это сделано в целях исключения ситуаций, когда система имеет множество решений или их не имеет вовсе.

Список литературы
1. Шилдт Г. С : базовый курс, 3-е издание.: Пер. с англ. - М.: «Издательский дом «Вильямс», 2005. - 624 с.

2. Пахомов Б.И. С /С и MS Visual C для н ачи наю щих. - С Пб.: БХВ -Петербург, 2008. - 624 с.

3. Лукин С.Н. Понятно о Visual Basic.NET. Самоучитель. - М.: «Диалог-МИФИ», 2005. - 736 с.

4. Г. Шилдт. Теория и практика С : Пер. с англ. - СПБ.: BHV - Санкт- Петербург, 1999. - 416 с.
Заказать написание новой работы



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



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