Смекни!
smekni.com

Решение экономических задач с помощью VBA (стр. 1 из 4)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ УКРАИНЫ

КАФЕДРА ПРОГРАМНОГО ОБЕСПЕЧЕНИЯ ЭВМ


1РЕШЕНИЕ ЭКОНОМИЧЕСКИХ ЗАДАЧ С ПОМОЩЬЮ VBA



Курсовая работа

по дисциплине «Матем. моделирование информационных систем »


Пояснительная записка

РЕФЕРАТ

Данная курсовая работа носит название “Решение экономических задач с помощью Visual Basic for Application”.

При написании курсовой работы преследовалась

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

Пояснительная записка к курсовой работе состоит из листов, и разделяется на 4 основные части:

1) теоретические сведения в применении к решению 8 поставленных задач курсовой работы

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

3) программа созданная в среде Microsoft Excel 97 SR-1 в макросах на обьектно-ориентированом языке высокого уровня Microsoft Visual Basic

4)подробное описание модулей и макросов состовляющих в совокупности единый документ Kurs размером 202,101 байт.

СОДЕРЖАНИЕ

Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1. Теоретические сведения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1 Функция пользователя . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.2 Переменные и постоянные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.3 Стандартные ф-ции пользователя для работы с массивами и матрицами

1.4 Обьекты, св-ва и методы VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.5 Операторы цикла . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2. Описание программы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.1 Описание переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2 Входные и выходные данные . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3 Подробное описание задач . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.1 Начисление премии в виде коммисионных и дополнительной

оплаты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.2 Начисление премиальных по определенным условиям . . . . . . . . . . . .

2.3.3 Составление ведомости расчета прибыли то товара . . . . . . . . . . . . . . .

2.3.4 Модель управления запасами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.5 Определение оптимальных капиталовложенией . . . . . . . . . . . . . . . .

2.3.6 Нахождение оптимального раскроя . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.3.7 База данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Список используемых источников . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ПРИЛОЖЕНИЕ 1: Программа на языке Microsoft Visual Basic . . . . . . . . . . .

ВВЕДЕНИЕ

Задачей данной курсовой работы является составление документа в среде Microsoft Excel включающего в себя программы написанные на языке Microsoft Visual Basic решающие 8 поставленных задач, а именно начисление премии в виде коммисионных и дополнительной оплаты, начисление премиальных по определенным условиям, модель управления запасами, задача об оптимальных капиталовложениях, задачи на построение матрицы и вычисление суммы, нахождение бумажного раскроя и база данных.

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

Если говорить о среде написания программ для решения поставленных задач - Microsoft Visual Basic for Application – то это сочетание одного из самых простых языков программирования и всех вычислительных возможностей такой многогранной системы как Excel. С помощью VBA можно легко и быстро создавать разнообразные приложения даже не являясь специалистом в области программирования. VBA содержит относительно мощную графическую среду, позволяющую наглядно конструировать экранные формы и управляющие эл-ты. В общем Visual Basic for Application позволяет с легкостью решать многие задачи.

1. ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ В ПРИМЕНЕНИИ К РЕШЕНИЮ

ПОСТАВЛЕННЫХ ЗАДАЧ

1.1 функция пользователя

Функция пользователя создается на рабочем листе с названием модуль VBA, после чего с ними можно работать с помощью мастера функций. Для создания модуля VBA необходимо щелкнуть правой кнопкой мыши на ярлык листа, перед которым нужно разместить данный модуль, и из раскрывающегося контекстного меню выбрать команду “Вставка” (Insert). На вкладке “Общие”(General) необходимо выбрать тип листа – Модуль (Module). После нажатия кнопки OK произойдет вставка листа модуля. Теперь на листе модуля можно ввести текст программы

Если нужно создать макрос в программе нужно зайти в среду Microsoft Visual Basic по средствам нажатия комбинации клавиш Alt+F11, затем зайти в меню “Сервис”, далее в подменю “Макросы” и ввести имя макроса, если во время выполнения был выделен какой-то модуль то программый код созданного макроса появится именно в нем

Sub New_Macros()

; in Module 1

End Sub

1.2 Переенные и постоянные

Все переменные в VBA имеют тип. Тип указывает что может хранить переменная: целое число, строку, дату и т.д.

Тип данных Занимаемый размер памяти Диапазон
BooleanInteger LongDate Array ObjectString CurrencyVariant 2 bytes2 bytes 4 bytes8 bytesЗависит от размера и типа эл-тов 4 10+длина строки8 Зависит от содержимого переменной True/False-32768 до32768 -2,147,483,648 до2,147,483,648 От 1 января до 31 дакабряЛюбой определенныйОбьектОт 0 да 2Х10^9

1.3 Стандартные ф-ции пользователя для работы с массивами и матрицами

Используются следующие ф-ции рабочего листа для работы с массивами:

Count Кол-во чисел в массиве

CountA Кол-во эл-тов массива

Sum Сумма эл-тов массива

SumProduct Сумма произведений эл-тов массивов

SumSQ Сумма квадратов эл-тов массива

SumVmY2 Сумма квадратов разностей эл-тов 2-х

массивов

SumX2mY2 Сумма разностей квадратов эл-тов 2-х

массивов

Используются следующие ф-ции рабочего листа для работы с матрицами:

Mmult – произведение 2-х матриц

Minverse – обратная матрица

Transpose – транспонированная матрица

MdeTerm – определитель матрицы

1.4 Обьекты, св-ва и методы VBA

Одним из основных понятий VBA является – обьект.

Обьект содержит список методов которые к нему применимы, а методы – это то , что можно с обьектом делать, таким образом обьект – это программный эл-т

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

Range – диапазон ячеек (может включать только 1 ячейку)

Cells – координаты ячейки

Sheet – лист

WorkSheets – рабочий лист

DialogSheets – диалоговое окно

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

Синтаксис установки значения св-ва обьекта имеет следующий вид:

Обьект.Свойство=Выражение

Например,

WorkSheets(”List1”).Range(“W1”).Value=999

1.5 Операторы цикла

1) Для многократного выполнения одного оператора или группы операторов служит оператор цикла FOR..NEXT

Синтаксис:

For Счетчик = Нач. знач. TO конечное знач. STEP

. . .

NEXT Счетчик

2) Цикл Do..While

Do While условие

<Блок операторов>

Loop

3) Цикл Do..Until

Do

<Блок операторов>

Loop Until условие

2. ОПИСАНИЕ ПРОГРАММЫ

2.1 Описание переменных

1) Задания на вычисление коммисионных, иполучения

премий (1-е и 2-е задания)

MAS1(3) – массив из 3-х эл-тов в который заносятся значения доходов магазинов за указанные месяцы

MAS2(3) – массив в который заносятся доходы только тех магазинов доход которых превышает 1490,00 грв.

MAS_I1(3) – массив индексов

B,C,D - вспомгательные переменные

I – переменная цикла

Max – переменная при помощи которой находится максимальное значение в массиве доходов(сначала этой переменной специально присваивается очень маленькое значение)

Indm, Indm2, Indm3 – индексы эл-тов массива которые являются максимумами если исключить предыдущий найденный максимум, например сначала максимумом является Indm, затем находится максимум из оставшихся и т.д.

2)Составление ведомости расчета прибыли от

товара.

Для определения максимумов для каждого варианта стоимости товара полученные суммы находящиеся в ячейках (b3:f11) заносятся в массив АА_2(5), для отображения в ведомости максимальной и минимальной цены на товар.

Массивы MM_1(9) .. MM_6(9) используются для отображения минимальных цен на каждый товар по всем вариантам продаж.

3) Модель управления запасами

Ф-ция пользователя CALC вычисляющая финансовые исходы при всевозможных вариантах событий покупки журналов и их реализации. В ф-ции используются следующие переменные: Цена_покупки, Цена_продажи, Цена_Возврата; i,j –переменные циклов. NROWS,ROWS – переменные типа Integer. Res() – массив того же типа переменной длины.

4) Задача об оптимальных капиталовложениях

К – переменная типа Integer, отвечает за количество капиталовложений в млн. грв.

R() – массив переменной длины, в программе используется как прибыль от вложения i млр. в j-тый филиал, где в R[i,j] - i(1..7), а j(1..6)

I,j,p – переменные циклов.

5) Задание на нахождение оптимального раскроя

Для построения математической модели в программе производится перебор всевозможных вариантов раскроя рулона стандартной длины на рулоны требуемой для этого в программе используются следующие переменные:

i1,i2,i3,i4 – переменные циклов

a1,a2,a3,a4 – переменные которым присваиваются значения заказанных длин рулонов.

t – переменная которой ф-ция Floor возвращает наибольшее целое число, не превышающее данное.

M – минимум среди заказанных длин

6) База данных

i – переменная цикла используется в добавлении записей в БД при поиске пустого поля