Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Poyasnitelnaya_zapiska_2.doc
Скачиваний:
14
Добавлен:
16.11.2018
Размер:
770.05 Кб
Скачать

2.1.2. Разработка меню

Для того, чтобы пользователь мог быстро и легко перемещаться по программе было принято решение объединить все основные функции в главное меню. Программа содержит такие функции, как: «Калькулятор», «Работа с матрицами», «Вычисление производной», «Вычисление определенного интеграла». Так как функции «Вычисление производной» и «Вычисление определенного интеграла» с математической точки зрения относятся к одному типу, то было принято решение объединить их в один вид - «Анализ функции». Иерархия меню представлено на рисунке 3.

Рисунок 3 — Структурная схема меню.

Переход на форму может осуществляться при нажатии на рисунок, или при нажатии на кнопку. Это даст пользователю возможность не задумываться над тем, что нажимать для перехода на ту или иную форму.

Поэтому меню было решено реализовать в виде смешанного (пиктографического и кнопочного) меню, вид которого показан на рисунке 4.

Рисунок 4 -Главное меню программы.

Меню нижнего уровня также было решено реализовать в виде смешанного на отдельной форме ( см. Рисунок 5)

Рисунок 5 – Меню нижнего уровня «Анализ функции»

2.1.3. Разработка форм ввода вывода

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

В окне формы «Калькулятор» пользователь должен ввести функцию для вычисления значения её в точке (функция зависит от переменных x и y, по умолчанию равных 0). Также пользователь должен иметь возможность ввести выражение (т.е независящую от переменных функцию). Для ввода было решено использовать Line Edit, т. к. размер информации, вводимой пользователем сравнительно небольшой. Вид формы приведен на рисунке 6.

Рисунок 6 –Вид формы «Калькулятор»

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

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

Рисунок 7 –Вид формы «Справка»

О кно формы «Производная в точке» (см. Рисунок 8) аналогично окну формы «Калькулятор», с одним отличием- в нем дифференцирование проводится по переменной x, а y независимая переменная.

Рисунок 8 – Вид формы «Производная в точке»

В окне формы «Вычисление интеграла помимо ввода функции(аналогично с формой «Калькулятор») следует сделать границы интегрирования (по умолчанию от 0 до 5). Так же в связи с тем, что для различных функций следует использовать различные методы интегрирование, было принято решение добавить выбор метода интегрирования (прямоугольников, трапеций, Симпсона). Для выбора метода интегрирования можно было сделать 3 кнопки расчёта, но т. к. Qt использует механизм сигналов и слотов было принято решение выбор метода интегрирования производить через RadioButton. Вид формы представлен на рисунке 9.

Рисунок 9 — Вид формы «Вычисление интеграла»

Для ввода информации на форму «Работа с матрицами необходимо предусмотреть ввод размерности матрицы и ввод самой матрицы. Для ввода матрицы было решено использовать TableWidget, а для ввода размерности- Line Edit. Это даст возможность пользователю вводить матрицы больших размерностей, не занимая всю форму.

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

Вид формы представлен на рисунке 10.

Рисунок 10 –Вид формы «Работа с матрицами» в состоянии введенных матриц.

При нажатии на кнопки:

      • «+» или «-»

      • A*B

      • A^(-1)

Должно появиться(на форме) дополнительное окно TableWidget, в котором будет выводится результат. Т.к. TableWidget хорошо работает с таблицами, что нужно вывода результирующей матрицы.(см. Рисунок 11)

А при нажатии на кнопку Det AB должны появляться дополнительные Line Edit, в которые будут выводиться значения определителя для матриц.

Рисунок 11 – Вид формы «Работа с матрицами» в состоянии произведения матриц

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]