Автор: Пользователь скрыл имя, 17 Мая 2013 в 17:29, курсовая работа
Стоит отметить, что поскольку, экономические, финансовые и социальные системы очень сложны и являются результатом действий и противодействий различных людей, то является очень сложным (если не невозможным) создать полную математическую модель с учетом всех возможных действий и противодействий. Практически невозможно детально аппроксимировать модель, основанную на таких традиционных параметрах, как максимизация полезности или максимизация прибыли.
Введение 4
1. Общая часть 6
1.1 Анализ используемых инструментальных средств 6
1.2 Характеристика используемого комплекса технических средств и программного обеспечения ЭВМ 8
2. Специальная часть 10
2.1 Постановка задачи 10
2.2 Информационное обеспечение задачи 11
2.3 Алгоритмы и их описание 13
2.4 Описание программы 15
2.5 Описание процесса отладки программы 31
2.6 Обработка ошибок в программе 32
2.7 Инструкция пользователю 33
Заключение 40
Приложение А 41
Список использованных источников 43
Компоненты C++ Builder
Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows и др.)
Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.
Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.
Если выбрать компонент из палитры и добавить его к форме, инспектор объектов автоматически покажет свойства и события, которые могут быть использованы с этим компонентом. В верхней части инспектора объектов имеется выпадающий список, позволяющий выбирать нужный объект из имеющихся на форме.
Компоненты, использованные в создании программы:
Свойства компонентов
Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.
При определении свойств компонента во время проектирования нужно выбрать компонент на форме, открыть страницу свойств в инспекторе объектов, выбрать определяемое свойство и изменить его с помощью редактора свойств (это может быть простое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и т.д.).
События
Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows Vista или Windows 7 предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или иного события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.
Для того чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок {...}. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.
Методы
Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->, например:
Edit1->Show();
Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.
Для нормального функционирования программы, необходимы следующие требования к характеристикам ПК:
В ходе дипломного проектирования были разработаны следующие главные функции:
Рассмотрим подробнее вышеперечисленные функции.
Управление эталонами реализуется с помощью ряда различных функций.
При нажатии на кнопку выбора «Создание эталона» пользователь попадает в окно выбора названия предмета сравнения. Код конструктора представлен на рисунке 2.9
Рисунок 2.9 – Код конструктора.
Данная функция выполняет выбор нужного предмета, присваивает ему номер, устанавливает фильтр параметров для конкретно выбранного предмета и открывает таблицу с его названием.
Далее пользователь видит окно создания эталона. Оно реализовано с помощью класса параметров (приложение А).
Конструктор задает входные параметры, номера параметров, родителя и владельца компонентов. Выполняются действия: создание таблицы, указание таблице связи с базой данных, указание таблице транзакции, обновление транзакции, установка фильтра по номеру параметра, открытие таблицы. Затем создается источник данных, к нему привязывается таблица.
Следующим шагом идет генерация панели для размещения параметра и его значений.
Создается управляющая сетка для размещения в ней значений параметров. Далее идет получение указателя на панель управляющей сетки для вставки в него интервала и значения веса.
В конце сохраняется номер параметра, перерисовка управляющей сетки и ее обновление.
При создании эталона пользователь может редактировать таблицу с помощью нескольких функций.
Функция добавления строки в таблицу (Рисунок 2.10)
Рисунок 2.10 - Функция добавления строки в таблицу
Функция удаления строки из таблицы (Рисунок 2.11)
Рисунок 2.11- Функция удаления строки из таблицы
Функция добавления столбца в таблицу (Рисунок 2.12)
Рисунок 2.12- Функция добавления столбца в таблицу
Функция удаления столбца из таблицы. (Рисунок 2.13)
Рисунок 2.13 - Функция удаления столбца из таблицы
Функция обнуления всех занесенных в таблицу величин (Рисунок 2.14).
Рисунок 2.14 - Функция обнуления всех занесенных в таблицу величин
Выход из диалогового окна осуществляется с помощью клавиши «Выход». Реализуется функцией представленной на рисунке 2.15
Рисунок 2.15 – Функция выхода из диалогового окна
Для удобства пользователя реализована функция перерисовки всех параметров и их значений из окна «Создание эталона» в окно «Создание предмета». Ее код показан на рисунке 2.16.
Рисунок 2.16 – Функция перерисовки таблицы параметров и их значений
Показ формы на экран осуществляется функцией представленной на рисунке 2.17.
Рисунок 2.17 – Функция показа формы
Закрытие формы и сохранение внесенных изменений осуществляется функцией приведенной на рисунке 2.18.
Рисунок 2.18 – функция закрытия формы
Управление параметрами имеет ряд одинаковых функций с управлением эталонами, таких как : выбор параметра предмета сравнения, конструктор классов параметра, конструктор предмета сравнения, функция показа формы, выход из диалогового окна, функция переноса параметров из эталона, функция закрытия формы.
Функция обнуления величин в таблице имеет некоторое отличие, которое заключается в том, что пользователь не может обнулить значения интервалов заданных в эталоне, а только значения параметров сравнения.
Вариация этой функции представлена на рисунке 2.19.
Рисунок 2.19 – функция обнуления величин
Так же в управлении параметрами и эталонами присутствует деструктор класса (Рисунок 2.20)
Рисунок 2.20– Деструктор класса
Обработка выполняется с помощью конструктора и ряда функций.
Конструктор представлен на рисунке 2.21.
Рисунок 2.21– Конструктор
Следующим шагом высчитывается отклонение от графика с помощью функции показанной на рисунке 2.22.
Рисунок 2.22 – функция калькуляции отклонения
Так же для расчета используется функция округления (рисунок 2.23).
Далее идет построение графика, определение координаты точки, и создание рисунка, как отдельного файла (рисунок 2.24).
Рисунок 2.23 – Функция округления
Рисунок 2.24 – Построение графика
Предусмотрена функция сохранения полученного графика
(рисунок 2.25).
Рисунок 2.25 – Функция сохранения графика
Так же в программе используются дополнительные функции используемые в окне выбора различных эталонов и предметов.
Функция создания меню выбора (рисунок 2.26).
Рисунок 2.26 – Функция создания маню выбора
Функция заполнения предметами (рисунок 2.27).
Рисунок 2.27 - Функция заполнения предметами
Функция создания строк в меню (рисунок 2.28).
Рисунок 2.28 – функция создания строк в меню
Функция удаления строк и перенумерации индексов (рисунок 2.29).
Событие вызываемое при нажатии ( рисунок 2.30 ).
Рисунок 2.29 - Функция удаления строк и перенумерации индексов
Рисунок 2.30 - Событие вызываемое при нажатии
Тестирование и отладка с позиции разработчика это очень важные этапы в создании ПО. В процессе тестирования разработчиком с заказчиком выявляются и устанавливаются все ошибки допущенные при проектировании.
Ошибки, которые могут быть допущены в процессе проектирования:
Основным методом устранения ошибок является тестирование прогонка программы по заранее подготовленным тестам.
Тестирование позволяет не только устранить ошибки, но и оценить готовность ПО к эксплуатации.
Программа тестировалась по нескольким направлениям:
Возникновение ошибок – это часто встречающаяся неприятность в программном обеспечении. Для получения нормальных результатов работы, пользователь должен уметь вовремя замечать и устранять возникающие ошибки.
Программа в силу своей специфики не должна давать сбои. Единственный случай возникновения ошибок может происходить в случае отсутствия или повреждения файлов программы. Если при запуске программы возникает ошибка «Can’t open Database “…” или «File “…” is corrupt». В таких случаях необходимо проверить наличие упомянутой базы данных в папке с программой и если файл поврежден или отсутствует, то следует перезаписать программу.