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

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

Задача
  1. Разработайте и отладьте программу, реализующую алгоритм работы кассира, выдающего покупателю сдачу ($$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 руб.



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