РЕШАЕТСЯ ОЦЕНКА ЗА ЧЕТВЕРТЬ! 4 ИЛИ 5!

Некоторый исполнитель может выполнять над целыми числами кроме операций сложения, вычитания, умножения и деления ещё две операции: с операции div вычисляется целое частное, с операции mod - остаток.
Например, 5 div 2 = 2, 5 mod 2 = 1, 2 div 5 = 0, 2 mod 5 = 2.

Покажем, как с этих операций можно реализовать алгоритм работы кассира, выдающего покупателю сдачу (s) наименьшим кол-вом банкнот по 1000 (k1000), 500 (k500), 100 (k100) и 50 (k50)

k1000:=s div 1000
s:=s mod 1000
k500:=s div 500
s:=s mod 500
k100:=s div 100
s:=s mod 100
k50:=s div 50

Исполните алгоритм для s=745 и s=1864. Составьте соответствующие таблицы значений переменных.

kazantsevaira2 kazantsevaira2    1   19.05.2020 22:38    509

Ответы
SamMary SamMary  20.12.2023 20:49
Хорошо, давай начнем. В данной задаче нам предстоит выполнить алгоритм работы кассира, который должен выдать покупателю сдачу наименьшим количеством банкнот по разным номиналам (1000, 500, 100 и 50).

Первое, что нам нужно сделать, это исходя из данной суммы денег (s), вычислить количество банкнот по каждому номиналу.

Давай рассмотрим первый пример, где s = 745. Начнем выполнять шаги алгоритма:

1. k1000:=s div 1000
Эта операция дает нам количество банкнот по 1000 рублей. Деление 745 на 1000 дает нам 0, так как 745 меньше 1000.
Таблица значений переменных: k1000 = 0

2. s:=s mod 1000
Эта операция вычисляет остаток от деления суммы на 1000. В данном случае остаток равен 745, так как 745 является меньшим числом.
Таблица значений переменных: s = 745

3. k500:=s div 500
Здесь мы вычисляем количество банкнот по 500 рублей. Деление 745 на 500 дает нам 1, так как 745 больше 500.
Таблица значений переменных: k500 = 1

4. s:=s mod 500
Операция модуля вычисляет остаток от деления суммы на 500. В данном случае, остаток равен 245, так как после вычетания 500 от 745, у нас остается 245.
Таблица значений переменных: s = 245

5. k100:=s div 100
Здесь мы вычисляем количество банкнот по 100 рублей. Деление 245 на 100 дает нам 2, так как 245 делится на 100 два раза без остатка.
Таблица значений переменных: k100 = 2

6. s:=s mod 100
Модуль считает остаток от деления 245 на 100. Остаток равен 45, так как после вычетания 200 (2*100) из 245, остается 45.
Таблица значений переменных: s = 45

7. k50:=s div 50
Здесь мы вычисляем количество банкнот по 50 рублей. Деление 45 на 50 дает нам 0, так как 45 меньше 50.
Таблица значений переменных: k50 = 0

Таким образом, при s = 745, мы получаем следующие результаты:

k1000 = 0
k500 = 1
k100 = 2
k50 = 0

Теперь рассмотрим второй пример, где s = 1864. Выполним алгоритм по тем же шагам:

1. k1000:=s div 1000
Деление 1864 на 1000 дает нам 1, так как 1864 больше 1000.
Таблица значений переменных: k1000 = 1

2. s:=s mod 1000
Операция модуля вычисляет остаток от деления 1864 на 1000. Остаток равен 864, так как после вычетания 1000 от 1864, остается 864.
Таблица значений переменных: s = 864

3. k500:=s div 500
Деление 864 на 500 дает нам 1, так как 864 больше 500.
Таблица значений переменных: k500 = 1

4. s:=s mod 500
Модуль вычисляет остаток от деления 864 на 500. Остаток равен 364, так как после вычетания 500 от 864, остается 364.
Таблица значений переменных: s = 364

5. k100:=s div 100
Деление 364 на 100 дает нам 3, так как 364 делится на 100 три раза без остатка.
Таблица значений переменных: k100 = 3

6. s:=s mod 100
Модуль считает остаток от деления 364 на 100. Остаток равен 64, так как после вычетания 300 (3 * 100) из 364, остается 64.
Таблица значений переменных: s = 64

7. k50:=s div 50
Деление 64 на 50 дает нам 1, так как 64 больше 50.
Таблица значений переменных: k50 = 1

Таким образом, при s = 1864, мы получаем следующие результаты:

k1000 = 1
k500 = 1
k100 = 3
k50 = 1

Вот и все шаги алгоритма. Если у тебя возникнут вопросы, не стесняйся спрашивать.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика