1-11 класс
  • 1-11 класс
  • 1 класс
  • 2 класс
  • 3 класс
  • 4 класс
  • 5 класс
  • 6 класс
  • 7 класс
  • 8 класс
  • 9 класс
  • 10 класс
  • 11 класс
Выберите класс
Предметы
Босова
Задание 10 Параграф 5.3 ГДЗ Босова 8 класс 2025 (Информатика)
Босова, Босова
8 класс
Класс
8
Предмет
Информатика
Автор
Босова, Босова

Задание 10 Параграф 5.3 ГДЗ Босова 8 класс 2025 (Информатика)

Задача
  1. Запишите на языке Python программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу ($$s$$) наименьшим возможным количеством банкнот по 500 ($$k500$$), 200 ($$k200$$), 100 ($$k100$$) и 50 ($$k50$$) рублей. Предусмотрите вывод сообщения о том, что часть сдачи, которую невозможно выдать купюрами, будет выдана монетами. Для проверки правильности программы используйте тест:
    Входные данные: 845
Подробный ответ

Пусть $$s$$ — сумма сдачи. Тогда количество банкнот каждого номинала находим последовательно, начиная с самых крупных:

  • $$k_{500}=s \div 500$$
  • $$k_{200}=(s \bmod 500)\div 200$$
  • $$k_{100}=(s \bmod 500 \bmod 200)\div 100$$
  • $$k_{50}=(s \bmod 100)\div 50$$

Оставшаяся сумма $$s \bmod 50$$ выдаётся монетами.

s=int(input(‘Сдача > ‘))
k500=s//500
k200=s%500//200
k100=s%500%200//100
k50=s%100//50
print(‘Следует сдать:’)
print(‘по 500 руб. -‘, k500, ‘шт.’)
print(‘по 200 руб. -‘, k200, ‘шт.’)
print(‘по 100 руб. -‘, k100, ‘шт.’)
print(‘по 50 руб. -‘, k50, ‘шт.’)
print(‘монетами -‘, s%50, ‘руб.’)

Для теста $$s=845$$ получаем:

  • $$845 \div 500 = 1$$;
  • $$845 \bmod 500 = 345,\quad 345 \div 200 = 1$$;
  • $$345 \bmod 200 = 145,\quad 145 \div 100 = 1$$;
  • $$145 \bmod 100 = 45,\quad 45 \div 50 = 0$$;
  • остаток $$845 \bmod 50 = 45$$.

Ответ: при $$s=845$$ нужно выдать 1 банкноту по 500 руб., 1 банкноту по 200 руб., 1 банкноту по 100 руб., 0 банкнот по 50 руб., а $$45$$ руб. — монетами.



Общая оценка
4.3 / 5
Другие учебники
Другие предметы