Задание 10 Параграф 4.3 ГДЗ Босова 8 класс 2025 (Информатика)
- Разработайте и отладьте программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу ($$s$$) наименьшим возможным количеством банкнот по 500 ($$k_{500}$$), 200 ($$k_{200}$$), 100 ($$k_{100}$$) и 50 ($$k_{50}$$) рублей. Предусмотрите вывод сообщения о том, что часть сдачи, которую невозможно выдать купюрами, будет выдана монетами. Для проверки правильности программы используйте тест:
Входные данные: 845
Чтобы выдать сдачу наименьшим числом банкнот, сначала берём как можно больше купюр крупного номинала, затем переходим к меньшим.
var s, k500, k200, k100, k50: integer;
begin
write(‘Сдача в рублях > ‘);
readln(s);
k500 := s div 500;
k200 := (s mod 500) div 200;
k100 := (s mod 500 mod 200) div 100;
k50 := (s mod 100) div 50;
writeln(‘Следует сдать:’);
writeln(‘банкнот по 500 руб. — ‘, k500, ‘ шт’);
writeln(‘банкнот по 200 руб. — ‘, k200, ‘ шт’);
writeln(‘банкнот по 100 руб. — ‘, k100, ‘ шт’);
writeln(‘банкнот по 50 руб. — ‘, k50, ‘ шт’);
s := s — 500 * k500 — 200 * k200 — 100 * k100 — 50 * k50;
writeln(‘монетами — ‘, s, ‘ руб.’)
end.
Проверим на тесте $$s = 845$$:
- $$k500 = 845 \div 500 = 1$$
- $$k200 = (845 \bmod 500) \div 200 = 345 \div 200 = 1$$
- $$k100 = (845 \bmod 500 \bmod 200) \div 100 = 145 \div 100 = 1$$
- $$k50 = (845 \bmod 100) \div 50 = 45 \div 50 = 0$$
Остаток, который нельзя выдать купюрами:
$$845 — 500 \cdot 1 — 200 \cdot 1 — 100 \cdot 1 — 50 \cdot 0 = 45$$
Ответ: банкнот по 500 руб. — 1 шт., по 200 руб. — 1 шт., по 100 руб. — 1 шт., по 50 руб. — 0 шт., монетами — 45 руб.



