Покупатель должен заплатить в кассу S р. У него имеются 1, 2, 5, 10, 50, 100, 500 р. Сколько купюр разного достоинства отдаст покупатель, если он начинает платить с самых крупных?
На VBA , без массивов

20 Авг 2019 в 08:22
353 +1
0
Ответы
1

Для решения этой задачи можно воспользоваться циклом, в котором будем вычитать из суммы S максимально возможное значение каждой купюры.

Ниже приведен пример кода на VBA, решающий эту задачу:

Sub ReturnChange()
Dim S As Integer
S = InputBox("Введите сумму, которую нужно заплатить:")
Dim banknotes() As Integer
banknotes = Array(1, 2, 5, 10, 50, 100, 500)
Dim i As Integer
For i = UBound(banknotes) To LBound(banknotes) Step -1
While S >= banknotes(i)
S = S - banknotes(i)
MsgBox "Отдайте купюру номиналом: " & banknotes(i) & " р."
Wend
Next i
MsgBox "Сдача: " & S & " р."
End Sub

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

20 Апр 2024 в 13:56
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир