Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
метод ИС в экономике.doc
Скачиваний:
13
Добавлен:
28.09.2019
Размер:
1.6 Mб
Скачать
  • Создайте процедуру Start_Click(), назначенную кнопке Start для:

    • ввода значений цены продажи, покупки, возврата, количества пачек с помощью диалоговых окон;

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

    • для вызова процедуры Calc(), выводящей результат (Рис.21).

    Рис.23. Результаты выполнения задачи «Модель управления запасами»

    Текст процедур vba, выполняющих расчет

    Sub Calc()

    Dim r, v As Double

    Dim RezOkn As Integer

    Выч_Приб

    Range("Максимальная_прибыль").Font.Bold = True

    Range("Оптимальный_Объем").Font.Bold = True

    Range("Прибыль").Font.Bold = True

    r = Range("Максимальная_прибыль").Value

    v = Range("Оптимальный_Объем").Value

    r = Format(r, "#.##")

    v = Format(v, "###")

    RezOkn = MsgBox("Максимальная прибыль: " + Str(r) + Chr(13) + _

    "Оптимальный объем: " + Str(v), vbOKOnly, "Расчет прибыли")

    End Sub

    Private Sub Nach_Znach()

    Range("Максимальная_прибыль").Font.Bold = False

    Range("Оптимальный_Объем").Font.Bold = False

    Range("Прибыль").Font.Bold = False

    Range("Расчет").Font.Bold = False

    Range("ПокупкаМас").Font.Bold = False

    Range("ПродМас").Font.Bold = False

    Range("продажа").Value = 0

    Range("покупка").Value = 0

    Range("возврат").Value = 0

    Range("Расчет").Value = 0

    Range("ПокупкаМас").Value = 0

    Range("ПродМас").Value = 0

    Range("Кол_Пач").Value = 0

    End Sub

    Sub Start_Click()

    Dim NRows, i, j, CProd, CPok, CSdach As Integer

    Dim Pokup() As Variant, Res() As Variant

    Nach_Znach

    Range("продажа").Value = InputBox("Введите стоимость продажи")

    Range("покупка").Value = InputBox("Введите стоимость покупки")

    Range("возврат").Value = InputBox("Введите стоимость возврата")

    Line1: Range("Кол_Пач").Value = InputBox("Введите кол-во пачек")

    NRows = Range("Кол_Пач").Value

    If (NRows > 5) Or (NRows < 2) Then

    MsgBox ("Значение должно быть от 2 до 5")

    GoTo Line1

    End If

    For i = 1 To NRows

    Cells(i + 11, 5) = i * 5 - 5

    Cells(i + 11, 5).Font.Bold = True

    Cells(11, 5 + i) = i * 5 - 5

    Cells(11, 5 + i).Font.Bold = True

    Next i

    CProd = Range("продажа").Value

    CPok = Range("покупка").Value

    CSdach = Range("возврат").Value

    ReDim Pokup(NRows)

    For i = 1 To NRows

    Pokup(i) = Cells(i + 11, 5)

    Next i

    ReDim Res(NRows, NRows)

    For i = 1 To NRows

    For j = 1 To NRows

    If i <= j Then Res(i, j) = Pokup(i) * (CProd - CPok)

    If i > j Then Res(i, j) = Pokup(j) * (CProd - CPok) - (Pokup(i) - _ Pokup(j))* (CPok - CSdach)

    Next j

    Next i

    For i = 1 To NRows

    For j = 1 To NRows

    Cells(i + 11, j + 5).Font.Bold = True

    Cells(i + 11, j + 5).Value = Res(i, j)

    Next j

    Next i

    Calc

    End Sub

    Литература

    1. А.Ю. Гарнаев. Использование MS Excel и VBA в экономике и финансах. – СПб.: БХВ - Санкт-Петербург, 2000. – 336с.:ил.

    2. Microsoft Excel. Руководство пользователя. Версия 5.0. Корпорация Microsoft.

    3. К. Оши, П. Хьюгз. Бухгалтерский учет на МИКРОЭВМ. – М.: «Финансы и статистика», 1988.

    4. М.С. Гаспариан, Г.Н. Лихачева, С.В. Григорьев, В.П. Божко. Применение информационных технологий в экономике. Учебно-методическое пособие. М., 2000.

    47