Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR3_Razv_VBA.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
385.02 Кб
Скачать

Пример решения экономической задачи с разветвлением

1. Постановка задачи

Разработать проект кассового аппарата супермаркета. В проекте предусмотреть организацию следующих скидок:

    • на объем покупки;

    • на тип покупателя;

    • на день недели.

2. Экономико-математическая модель

Стоимость товара определяется по формуле:

где St – стоимость товара;

Z – цена единицы товара;

K – количество купленного товара.

При наличии в супермаркете различных скидок, покупатель будет оплачивать купленный товар согласно формулы:

,

где Opl – сумма к оплате за купленный товар;

Sk1 – скидка на объем покупки;

Sk2 – скидка на тип покупателя;

Sk3 – скидка на день недели.

Приведенные выше типы скидок можно определить по следующим формулам:

,

где Stпорог – объем покупки (стоимости товара), превышение которого позволяет получить скидку;

P1 – размер скидки на объем покупки в процентах.

,

где PT0, PT1, PT2 – размер скидки в процентах на стоимость товара в зависимости от типа покупателя (обычный, постоянный, оптовый соответственно),

T – тип покупателя (0 – обычный, 1 – постоянный, 2 – оптовый соответственно).

,

где PПн, PВт, PСр, PЧт, PПт, PСб, PВс – размер скидки в процентах на стоимость товара в зависимости дня недели (понедельник, вторник, среда, четверг, пятница, суббота, воскресенье соответственно).

Dнед – (1 – понедельник, 2 – вторник, 3 – среда, 4 – четверг, 5 – пятница, 6 – суббота, 7 – воскресенье).

3. Алгоритм решения задачи

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

Рис. 3.1 Схема алгоритма работы кассового аппарата

4. Структура данных

Имена переменных, их назначение и типы представлены в таблице 3.1.

Таблица 3.1

Структура данных проекта

Реквизиты

Имя переменной

Тип

данных

Цена

CurZena

Currency

Стоимость

CurSum

Currency

К оплате

CurOpl

Currency

Наличные

CurNalch

Currency

Сдача

CurSdasha

Currency

Пороговое значение стоимости

CurPorog

Currency

Скидка на объем покупки

SngSk1

Single

Скидка на тип покупателя

SngSk2

Single

Скидка на день недели

SngSk3

Single

Количество купленного товара

IntKolich

Integer

Текущая дата

DtmSegodnya

Date

Текущее время

DtmSejchas

Date

Сообщение

StrSoobsh

String

Сообщение1

StrSoobsh1

String

Для отображения на форме текущих времени и даты используются переменные DtmSegodnya, DtmSejchas. Значения переменных CurZena, CurPorog, CurNalch, IntKolich, вводятся с клавиатуры (могут принимать значение при запуске программы на выполнение), а переменные CurSum, CurOpl, CurSdasha являются вычисляемыми. Переменные SngSk2, SngSk2, SngSk3 принимают значение в зависимости от заданных условий или результатов вычислений.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]