Смекни!
smekni.com

Модель макроэкономических показателей (стр. 2 из 5)

При анализе функций, которые должен выполнять пакет (см. ТЗ, пункт 1.3.1), можно выделить следующие задачи и группы задач:

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

б) работа с данными (работа с информационной базой, организация различных видов интерфейса)

в) управление ходом вычислительного процесса (организация последовательности вызова обрабатывающих и обслуживающих модулей в зависимости от действий пользователя и промежуточных результатов)

г) расчеты, необходимые для выполнения поставленных задач.

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

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

Группа задач работы с данными включает в себя следующие задачи:

- организация ввода пользователем входных данных для пакета

- сохранение данных о для каждой задачи в отдельном файле

- считывание исходных данных из существующего файла

- функции для проверки корректности исходных данных.

Группа задач расчетов включает следующие задачи:

- расчет совокупного спроса

- расчет базисного потребления

- расчет темпа изменения отношения “капитал/труд”

- расчет динамики национального дохода

- расчет равновесного национального дохода при постоянных производственных мощностях

- расчет равновесного национального дохода с учетом инвестиций.


Разработанная структура пакета соответствует общей структуре пакетов прикладных программ, представленной на рисунке 2.1.

Рисунок 2.1 - Структура пакета прикладных программ

2.2 Определение способа применения пакета

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

2.3 Построение модели предметной области

При решении задачи определения макроэкономических показателей в пакете используется определенная совокупность данных и связей между ними, или модель предметной области (МПО). В этой совокупности можно выделить структуру данных (Х), связи по определению, неизменные при функционировании пакета (R) и функциональные связи, реализующиеся в процессе работы пакета (F). Соответственно модель предметной области можно описать как МПО = { X, R, F }.

Структуру данных МПО можно представить в виде таблицы 2.1.

Таблица 2.1 - Таблица данных модели предметной области

Название данного Имя данного Тип данного
Склонность к потреблению C Вещественное положительное число
Национальный доход ND Вещественное положительное число
Совокупный спрос D Вещественное положительное число
Базисное потребление A Вещественное положительное число
Независимый объем инвестиций I Вещественное положительное число
Равновесный национальный доход YE Вещественное число
Отношение “капитал/труд” Х Вещественное положительное число
Темп измененияотношения “капитал/труд” DX Вещественное число
Норма накопления S Вещественное положительное число
Прирост предложения труда N Вещественное положительное число
Шаг дифференцирования H Вещественное число
Критерий сходимости ep Вещественное положительное число
Фактор акселерации V Вещественное число

Связи по определению, задающие подчиненность данных, можно представить в виде таблицы 2.2.

Таблица 2.2 - Связи по определению

Старшие данные Подчиненные данные
C cp, Y, A,
D cp, Y, A, I
YE cp, I, A
DX S, N, X
Y A, B, V

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

Таблица 2.3 – Функциональные связи

Задача, выполняемая модулем Обрабаты-вающий модуль Входные параметры Выходные параметры
1. Расчет равновесного национального дохода Уравнения A, I, cp Y, YE, D, C
2. Расчет темпов изменения отношения “капитал/труд” Расчеты X, H, S, FN, ep, N DX, DXe
3. Расчет динамики национального дохода простой модели Данные_график Ap, Bp, V Y(t)
4. Расчет динамики национального дохода с учетом госпотребления С_гос_потреблением Ap, V, Bp, R Y(t), G

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

Исходя из анализа функций обрабатывающих модулей, был построен граф переходов состояний МПО (рисунок 2.2).


Рисунок 2.2 – Граф переходов состояний МПО

Стрелки на рисунке показывают подключение обрабатывающих или обслуживающих модулей. Подключение модулей является эффективным, то есть после подключения очередного модуля МПО переводится в новое состояние (становятся известны новые данные, или происходит пересчет известных данных). Список обрабатывающих модулей и задач, которые они решают, приведен в таблице 2.3. Кроме обрабатывающих модулей состояние МПО могут изменять и обслуживающие модули. Такими модулями на графе являются:

OpenBook1, OpenBook2, OpenBook3 – данные вводятся из других рабочих книг

Ввод_исх_данных, Вход_данные, Исходные_данные – данные вводятся пользователем вручную

Диагр1, Диагр2, Дигр3, Диагр4 –осуществляют построение соответствующих графиков.

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

2.4 Планирование вычислительного процесса

Как видно из графа состояний модели предметной области (рисунок 2.2), ход вычислительного процесса может идти тремя путями. По какой ветви графа будет идти процесс вычислений определяется в зависимости от выбора пользователя. То есть при запуске пакета неизвестно какие модули должны вызываться. Но возможных путей только три, поэтому определим какие модули должны вызываться в каждом из возможных случаев. Для определения последовательности вызываемых модулей воспользуемся алгоритмом “прямой волны” [2, cтр. 105]. Данный метод можно применить, так как несмотря на то, что граф переходов состояний МПО имеет разветвление, выбор ветви определяется пользователем и нет необходимости автоматически выбирать путь на графе. Матрицы входных и выходных данных модулей (Т и R), в которых строки соответствуют обработывающим модулям, а столбцы - данным по таблице 2.1, представлены в таблицах 2.4 и 2.5. Условно известные данные обозначены как “1”, неизвестные - как “ ” (пусто), или “0”.

Таблица 2.4 - Матрица T входных данных обрабатывающих модулей

ДанныеМодули A I cp X H S FN ep N Ap Bp V R Y YE D C DX DXe Y(t) G
Уравнения 1 1 1
Расчеты 1 1 1 1 1 1
Данные_график 1 1 1
С-гос_пот-реблением 1 1 1 1

Таблица 2.5 - Матрица R выходных данных обрабатывающих модулей

ДанныеМодули A I cp X H S FN ep N Ap Bp V R Y YE D C DX Dxe Y(t) G
Уравнения 1 1 1 1
Расчеты 1 1
Данные_график 1
С-гос_пот-реблением 1 1

В первом случае процесс вычислений идет по левой ветви графа переходов состояний МПО. Так как в задачу пакета не входит выбор ветви, а выбор осуществляется пользователем, то подключение модулей Уравнения, Расчеты и Данные_график является взаимоисключающей альтернативой зависит от пользователя. Допустим, что пользователь задал определить нац. доход при постоянных мощностях, то для этого должен вызываться модуль Уравнения. В этом случае должны быть рассчитаны следующие данные: Y, D, YE, C то есть конечное состояние предметной области можно представить вектором Z=(0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0). Предположим, что данные A, I, cp уже заданы пользователем, хотя реально эти данные запрашиваются у пользователя в ходе вычислительного процесса. Тогда начальное состояние предметной области может быть описано вектором S0=(1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0).