46047 (665353), страница 3
Текст из файла (страница 3)
УравненияS1=(1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0)
Получен управляющий вектор для построения графика национального дохода.
Во втором случае процесс вычислений будет идти по средней ветви графа переходов состояний МПО. Этот путь выбирается в том случае, если пользователь желает определить величину национального дохода с учетом инвестиций. В этом случае должны быть рассчитаны следующие данные DX и DXe, то есть конечное состояние предметной области можно представить вектором Z=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0). Предположим, что данные X, H, S, ep, N уже заданы пользователем, хотя реально эти данные запрашиваются у пользователя в ходе вычислительного процесса. Тогда начальное состояние предметной области может быть описано вектором S0=(0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0).
S0==(0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0).
РасчетыS1=(0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,1,1,0,0)
Получен управляющий вектор для построения графика национального дохода с учетом инвестиций.
В третьем случае процесс вычислений будет идти по правой ветви графа переходов состояний МПО. Этот путь выбирается в том случае, если пользователь желает построить модель делового цикла. В этом случае должны быть рассчитаны следующие данные Y(t) и G, то есть конечное состояние предметной области можно представить вектором Z=(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1). Предположим, что данные Ap, Bp, V, R уже заданы пользователем, хотя реально эти данные запрашиваются у пользователя в ходе вычислительного процесса. Тогда начальное состояние предметной области может быть описано вектором S0=(0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0).
S0==(0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0).
РасчетыS1=(0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,1)
Получен управляющий вектор для построения графика делового цикла.
2.5 Обоснование выбора способа внешнего управления пакетом
В качестве внешнего управления пакетом был выбран усовершенствованный проблемно-ориентированный способ, когда пользователь задает нужные ему выходные данные (графики, иллюстрирующие макроэкономические показатели), и в процессе диалога выявляются необходимые для расчета данные. В случае недостижимости цели расчета, пользователю сообщается о причинах и вычислительный процесс прерывается. То есть предполагается ввод известной пользователю информации по частям, а последовательность расчетов формируется автоматически, что обеспечивает усовершенствованный проблемно-ориентированный способ внешнего управления.
2.6 Определение функций обслуживающих и управляющих модулей
Поскольку приемы визуального событийно-управляемого программирования, используемые в VBA, предполагают широкое использование объектов (форм, меню, элементов управления), функциями обслуживающих модулей пакета является работа с этими объектами (например, формами для ввода пользователем данных и команд на входном языке пакета, различными интерфейсами), контроль допустимости введенных пользователем значений данных, а также общее оформление пакета и предоставление пользователю справочной информации о пакете в целом, так и о текущем состоянии МПО и обеспечение вывода разнообразных сообщений об ошибках выполнения.
Функциями основного управляющего модуля являются:
а) формирование начального состояния МПО
б) вызов обслуживающих и управляющих модулей второго уровня в зависимости от действий пользователя.
Функциями второстепенного управляющего модуля является:
а) формирование последовательности вызовов обрабатывающих и обслуживающих модулей в зависимости от действий пользователя
б) вызов обрабатывающих и обслуживающих модулей
в) преобразование состояния МПО в зависимости от результатов выполнения обрабатывающих и обслуживающих модулей.
2.7 Разработка входного языка пакета
Разрабатываемый пакет ориентирован на работу в режиме диалогового управления. При работе в таком режиме управление пакетом более удобно, если используется входной язык типа “меню”. В главном меню пакета можно выделить четыре группы команд.
Первая группа включает в себя команды для расчета национального дохода: “При условно постоянных производственных мощностях”, “С учетом инвестиций”.
Вторая группа команд включает в себя общие команды для построения моделей делового цикла: “Ввод данных”, “Диаграмма”, “Сохранить”.
Третья группа включает в себя команды для просмотра входных и выходных данных: “Данные”, “Диаграмма”, “Справка”.
Четвертая группа состоит из команды выхода: “Выход”.
При запуске пакета начальная инициализация меню представлены на рисунках Б.1-Б.5 в приложении Б. В первой группе недоступными являются команды “Диаграмма” и “Сохранить”. Эти пункты меню становятся активными (выбираемыми) после ввода данных вручную или из рабочей книги.
Во второй группе при начальной инициализации пакета недоступными являются команды “Диаграмма” и “Сохранить” . Среди команд третьей группы изначально доступна только команда для просмотра исходных данных “Данные”, так как других данных еще нет. Просмотр графика, возможен только после успешного завершения расчетов.
Кроме основного меню, управление пакетом осуществляется при помощи диалогов. Диалоги представлены на рисунках Б.6-Б.16 в приложении Б.
2.8 Разработка интерфейсов пакета
В пакете прикладных программ обеспечиваются следующие функции обслуживания:
- справочный интерфейс
- информационный интерфейс
- интерфейс управления
- интерфейс ввода-вывода
- внешний интерфейс.
Справочный интерфейс в пакете представлен в виде общей справки по работе пакета и при вводе данных. Общая справка вызывается из главного меню командой “Справка”. Для вывода справки на экран в пакете используется встроенный в MicroSoft Office объект Assistant.
Информационный интерфейс представлен в пакете в виде сообщений о некорректности данных. Сообщения о некорректности входных данных представляют собой сообщения при вводе данных, если вместо числа вводятся строковые символы или если число выходит за пределы диапазона возможных значений.
Сообщения, образующие информационный интерфейс пакета представлены на рисунках Б.17-Б.24 в приложении Б.
Интерфейс управления представлен в пакете в виде меню и диалоговых окон. Возможности вызова конкретных пунктов меню связаны с текущим состоянием МПО, то есть в конкретный момент времени одни пункты меню могут быть доступны, а другие - недоступны. Меню, подменю и диалоговые окна, образующие интерфейс управления пакета, представлены на рисунках Б.1-Б.6 в приложении Б.
Интерфейс ввода вывода реализует в пакете функции:
- предоставление пользователю возможности ввода данных (диалоговые окна)
- отображение введенных данных на листах рабочей книги
- вывод результатов расчетов
- общее оформление листов рабочей книги для обеспечения воспринимаемости информации.
Внешний интерфейс реализован в усеченном виде, то есть пакет может использовать только файлы с соответствующими данными, созданные в приложении Excel, причем имеется рекомендация разработчика создавать файлы таблиц через пакет, чтобы было согласование последовательности данных во внешнем XLS-файле.
2.9 Разработка спецификаций и внутреннее проектирование модулей пакета и информационной базы
Внешняя спецификация модулей пакета основана на подробном и полном определении назначения, функций и входных/выходных параметров модулей. С точки зрения подчинения (вызывающие и вызываемые модули) модули пакета могут быть представлены как элементы древовидной структуры, изображенной на рисунке 2.3. Следует принять во внимание, что на рисунке не отображен порядок вызова модулей и условия выполнимости модулей.
Открытие_книги


Диагр1
Ввод_исх_данных
OpenBook1
SaveToBook1
myhelp
Выход
Диагр2
Вход_данные
Диагр3
SaveToBook2
Диагр4










Базисное потребление
Склонность_потреблению
Незав_объем_инвест
Уравнения

Messages
Предл_ труда
Норма_накопления
Шаг_дифференц
Отнош_кап/труд
Баз_потреб
Склонность_к потр
Фактор_акселерации
Спрос_Y2
Расчеты
Спрос Y1
Исх_данные
SaveToBook3

OpenBook2
OpenBook3
Данные_график
С_гос_потребление

Рисунок 2.3. – Иерархия модулей пакета
Модуль Ввод_исх_данных является обслуживающим модулем, реализующим функции интерфейса ввода-вывода. В его задачи входит предоставление пользователю возможности ввода предложенных параметров. Данный модуль вызывается из главного меню при выборе пользователем пункта “Национальный доход” “При условно постоянных производственных мощностях” “Ввод данных” “Вручную”. Модуль Очистить предназначен для очистки диапазона ячеек, где должна размещаться таблица с данными. Модули Склонность_потреблению, Базисное потребление, Независимый объем инвестиций являются обслуживающими модулями, реализующими функции по вводу входных данных.
Обслуживающие модули SaveToBook1,2,3 реализуют функции внешнего интерфейса. Они предназначены для сохранения введенных пользователем данных для каждого расчета в отдельной рабочей книге. Имя рабочей книги должно запрашиваться у пользователя. Модуль вызывается из меню при выборе пользователем пункта “В рабочую книгу”.
Обслуживающие модули OpenBook1,2,3 реализуют функции внешнего интерфейса и предназначены для считывания данных из других рабочих книг. Имя рабочей книги необходимо запрашивать у пользователя. При открытии книги необходимо проверить, содержит ли книга данные в нужном формате, если содержит, то должно производиться считывание данных в рабочую книгу kursl.xls, иначе пользователю должно сообщаться о том, что данные не найдены. После выполнения этих операций рабочая книга должна быть закрыта. При считывании данных должна производится синтаксическая проверка, если обнаружена ошибка в данных, считывание должно быть прекращено с выдачей соответствующего сообщения. Для реализации этих функций модуль вызывает модуль Massages.
Обслуживающий модуль myhelp реализует функции справочного интерфейса. Модуль вызывается из меню при выборе пользователем пункта “Справка”. Модуль должен обеспечивать вывод справки по всей системе макроэкономических показателей. При реализации модуля используется встроенный объект MicroSoft Office Assistant.
Обслуживающий модуль “Выход” предназначен для закрытия текущего листа и выхода из рабочей книги kurs.xls.
Обслуживающий модуль Вход_данные реализует функции интерфейса ввода-вывода. При вводе данных должен осуществляться синтаксический контроль. Данный модуль вызывается из главного меню при выборе пользователем пункта “Национальный доход” “С учетом инвестиций” “Ввод данных” “Вручную”. Модуль Очистить предназначен для очистки диапазона ячеек, где должна размещаться таблица с данными. Модули Отношение_капил_труд, Норма_накопления, Прирост_предло-жения труда, Шаг дифференцирования и Критерий_сходимости являются обслуживающими модулями, реализующими функции по вводу входных данных.
Модуль Исх_данные является обслуживающим модулем, реализующим функции интерфейса ввода-вывода. В его задачи входит предоставление пользователю возможности ввода предложенных параметров. Данный модуль вызывается из главного меню при выборе пользователем пункта “Динамика делового цикла” “Ввод данных” “Вручную”. Модуль Очистить предназначен для очистки диапазона ячеек, где должна размещаться таблица с данными. Модули Склонность_к_потреблению, Базовое потребление, СпросY0, СпросY1, Фактор_акселерации являются обслуживающими модулями, реализующими функции по вводу входных данных.
Обрабатывающий модуль Уравнения предназначен для расчета национального дохода Y и равновесного национального дохода YE [1,109] по следующим формулам:
Y = cpY0 + A + I (1)
1
YE = (----------) * (I + A) (2),
1-cp
где сp – склонность к потреблению, А – базисное потребление, I – независимый объем инвестиций. Входными данными модуля являются выше приведенные параметры, которые вводятся пользователем. Модуль вызывается из “Ввод_исх_данных”.
Обрабатывающий модуль Расчеты предназначен для расчета темпа изменения отношения «капитал/труд» DX и его равновесного значения Dxe по следующей формуле:
DX = S * FN – N * X (3),