Вычисление вариантов размена заданной суммы монетами достоинством 1, 2, 3, 5, 10, 15, 20 копеек


Главная / ЭКВМ / Программы для ЭКВМ / БРП-4

Эта программа входит в блок расширения памяти БРП-4 советского микрокалькулятора МК-52. Монеты указанного достоинства имели хождение в СССР.


Вычисления выполняются для заданной суммы S в двух режимах, определяемых служебым числом С:

1) если С = 68, вычисляется вариант получения суммы монетами каждого достоинства: S = K1 + 2*K2 + 3*K3 + 5*K5 + + 10*K10 + 15*K15 + 20*K20, где К1,К2,К3,К5,К10,К15,К20 - монеты достоинством 1, 2, 3, 5, 10, 15, 20 коп. соотственно;

2) если С = 69, вычисляется число n вариантов размена суммы S.

Исходные данные заносятся в ячейки памяти:

S(коп.) → П4, 20 → П6, С → ПА.

Результаты вычислений записываются в ячейки памяти:

К20 → П9, К15 → П8, К10 → П7, К5 → П3, К3 → П2, К2 → П1, К1 заносится в регистр Х и отображается на дисплее в режиме счета С = 68, n → П5 и отображается на дисплее в режиме счета С = 69.

Инструкция по пользованию программой для МК-52 с БРП-4

  • 1. Наберите адрес 1294098 и введите программу, нажав клавиши А↑, ↑↓.
  • 2. Введите исходные данные.
  • 3. Задайте режим вычисления.
  • 4. Включите счет, нажав клавиши В/0, С/П. Время вычисления при С = 68 не более 25 с, при С = 69 зависит от суммы S.
  • 5. Считайте результат.
  • 6. Для вычисления каждого варианта получения заданной суммы при С = 68 включайте счет, нажав клавишу С/П.
  • 7. Для повторного запуска программы повторите пп.2-4.

Инструкция по пользованию программой для ЭКВМ

  • 1. Загрузите программу с нулевого адреса.
  • 2. Введите исходные данные.
  • 3. Задайте режим вычисления.
  • 4. Включите счет, нажав клавиши В/0, С/П.
  • 5. Считайте результат.
  • 6. Для вычисления каждого варианта получения заданной суммы при С = 68 включайте счет, нажав клавишу С/П.
  • 7. Для повторного запуска программы повторите пп.2-4.

Тестовый пример

S = 43 коп.

n К1 К2 К3 К5 К10 К15 К20 Время счёта на МК-52, сек.
1 0 0 1 0 0 0 2 19
2 1 1 0 0 0 0 2 9
3 3 0 0 0 0 0 2 5
4 0 0 1 1 0 1 1 25
...
1618 43 0 0 0 0 0 0 5

Программа "Вычисление вариантов размена заданной суммы монетами достоинством 1, 2, 3, 5, 10, 15, 20 копеек"

Программа 23 из блока расширения памяти БРП-4, переключатель "1/2" блока в положении "1", адрес 1294098.

Файл brp4-23.mkp (КС 6353/221)

  0 1 2 3 4 5 6 7 8 9
00 Cx П 5 ИП 4 ИП 6 ÷ K [x] П 9 ИП 4 ИП 9 ИП 6
10 × - П 0 1 5 ÷ K [x] П 8 ИП 0 ИП 8
20 1 5 × - П B 1 0 ÷ K [x] П 7
30 ИП B ИП 7 1 0 × - П C 5 ÷ K [x]
40 П 3 ИП C ИП 3 5 × - П D 3 ÷ K [x]
50 П 2 ИП D ИП 2 3 × - П E 2 ÷ K [x]
60 П 1 K ИП 5 ИП E ИП 1 2 × - K БП A С/П K ИП 1
70 ИП 1 F x<0 61 K ИП 2 ИП 2 F x<0 51 K ИП 3 ИП 3 F x<0
80 41 ИП 7 1 - F x<0 29 ИП 8 1 - F x<0
90 17 ИП 9 1 - F x<0 06 ИП 5 С/П    

Исходный текст для кросс-компилятора

Файл brp4-23.mkl

.CHARSET 1251

; БРП-4
; 23. Вычисление вариантов размена заданной суммы 
; монетами достоинством 1, 2, 3, 5, 10, 15, 20 копеек 
; (1 - 1294098)

.ORG 0
	CX
	M 5
	RM 4
	RM 6
	/
	K INT

A6:	 ; с адреса 94
	M 9
	RM 4
	RM 9
	RM 6
	*
	-
	M 0
	15 /
	K INT

A17:	 ; с адреса 89
	M 8
	RM 0
	RM 8
	15 *
	-
	M B
	10 /
	K INT


A29:	 ; с адреса 84
	M 7
	RM B
	RM 7
	10 *
	-
	M C
	5 /
	K INT
	M 3

A41:	 ; с адреса 79
	RM C
	RM 3
	5 *
	-
	M D
	3 /
	K INT
	M 2


A51:	 ; с адреса 75
	RM D
	RM 2
	3 *
	-
	M E
	2 /
	K INT
	M 1


A61:	 ; с адреса 71
	K RM 5
	RM E
	RM 1
	2 *
	-
	K GOTO A 	; RA = 68 или 69 - cлужебное число C. 
	R/S
	K RM 1
	RM 1
	F X<0 A61
	K RM 2
	RM 2
	F X<0 A51
	K RM 3
	RM 3
	F X<0 A41
	RM 7
	1 -
	F X<0 A29
	RM 8
	1 -
	F X<0 A17
	RM 9
	1 -
	F X<0 A6
	RM 5
	R/S
.END 


НПП "СЕМИКО" (383) 271-01-25 (многоканальный)