Стоимость заказа — 17 400 ₽, после списания 3 333 баллов при курсе 1 балл = 1 ₽ к оплате 14 067 ₽. Размер новых бонусов зависит от согласованной базы начисления.
Расчёт заказа с бонусными баллами и базы начисления
Стоимость заказа — 17 400 ₽, после списания 3 333 баллов при курсе 1 балл = 1 ₽ к оплате 14 067 ₽. Размер новых бонусов зависит от согласованной базы начисления.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Задача 2
Мебельный магазин продает товар:
Диван - 7000 руб. Стол - 2500 руб. Стул - 300 руб.
За каждую покупку покупателю возвращаются бонусы в размере 5% от стоимости заказа
Покупатель хочет приобрести:
3 стула, 1 стол, 2 дивана
Часть средств покупатель оплачивает бонусами в размере 3333 баллов
Необходимо написать алгоритм который будет рассчитывать:
- Итоговую сумму к оплате
- Сумму начисляемых бонусов
- Распределение начисляемых бонусов по позициям в заказе
- Распределение списанных бонусов по позициям в заказе
Ответ
Стоимость заказа — 17 400 ₽, после списания 3 333 баллов при курсе 1 балл = 1 ₽ к оплате 14 067 ₽. Размер новых бонусов зависит от согласованной базы начисления.
Примем, что начисляются 5% от денежной оплаты, дробные баллы допустимы до сотых. Тогда начисление — 703,35 балла. Если базой является вся стоимость заказа, получится 870 баллов: условие требует уточнения этого правила.
Алгоритм распределения: вычислить стоимости строк, разделить списание пропорционально им, округлить вниз до сотых, оставшиеся сотые раздать строкам с наибольшими дробными остатками. Новые бонусы распределить так же по денежной оплате строк.
| Позиция | Списано | Начислено |
|---|---|---|
| 3 стула | 172,40 | 36,38 |
| 1 стол | 478,88 | 101,06 |
| 2 дивана | 2681,72 | 565,91 |
Считайте целыми сотыми единиц, проверяйте допустимость списания и сохраняйте итоговую сумму без расхождения округлений.