Вычисление простейших процентных функций:
pc = y × (1 + x / 100)
pd = (x / y − 1) × 100
p = y × x / 100
pr = x / y × 100
Для выбора нужной функции нажимается клавиша , а затем дважды — соответствующая функции клавиша:
Аргументы для всех функций задаются так: y → #Y, x → #X. При вводе с клавиатуры: y x
После нажатия клавиши результат окажется на индикаторе.
Выбирать функцию можно и до, и после задания аргументов. На случай, если одну и ту же функцию требуется вычислить многократно для разных аргументов, её достаточно первый раз указать явно через . Дальше можно просто вводить очередные аргументы и нажимать : после останова управление будет возвращаться к её началу, пока не будет явно вызвана другая функция, и т. д.
Для расчётов используется только стек. Сохранять полученные результаты можно в любых адресуемых регистрах.
Изменение процента. Выручка за последний квартал предыдущего года составила 357 481 рубль 27 копеек. В 1-м квартале нового года она увеличилась на 5.1 %, а во 2-м по сравнению с 1-м — снизилась на 3.7 %. Сколько она составила в каждом из кварталов?
1-й квартал: 375712.81
2-й квартал: 361811.44
Процентная разность. На сколько процентов изменилась выручка из прошлого пункта по итогам полугодия?
1.21129
Обычный процент. Вознаграждение продавцу в виде процента от продаж составляет 1.5 % от вырученного свыше дневной нормы (75 тысяч рублей). Сегодня он продал товаров на 98 450 ₽. Какая сумма вознаграждения ему причитается?
(23450 — посчитали перевыполнение плана)
351.75Процентное соотношение. За месяц были зафиксированы следующие статьи и величины расходов:
Определить процентные доли каждой из статей в общих расходах.
Расчёт. Для удобства будем заносить расходы по каждой из статей в отдельный адресуемый регистр и сразу подсчитывать их сумму в #X:
Зафиксируем полученную сумму в стеке ( ) и будем вызывать функцию процентного отношения для каждой из статей:
00. КНОП 01. 2 02. F10ˣ 03. ÷ 04. 1 05. + 06. × 07. С/П 08. БП 09. 01 10. С/П 11. ↔ 12. ÷ 13. 1 14. − 15. 2 16. F10ˣ 17. × 18. БП 19. 10 20. ÷ 21. С/П 22. × 23. 2 24. F10ˣ 25. БП 26. 20 27. ↔ 28. ÷ 29. 2 30. F10ˣ 31. × 32. С/П 33. БП 34. 27
У данной программы имеются две любопытные особенности. Во-первых, она использует то обстоятельство, что при указании адреса перехода клавиши , , , , воспринимаются по младшей цифре своего кода, т. е. как , , , , соответственно, что делает возможным их сочетание с командой . Поэтому программный код расположен так, чтобы начало вычисления каждой процентной функции приходилось на адрес, составленный из удвоенной младшей цифры кода соответствующей клавиши:
Именно это и позволяет вызывать нужную функцию через наглядную мнемонику.
Во-вторых, можно заметить, что функции, кроме самой первой, как бы разорваны: сначала идёт хвост функции с командой останова, за которой находится её начало. Сделано это для уплотнения кода: длина функций не равна в точности 11 шагам, и если разместить функции просто по адресам вызова, между ними останутся неиспользуемые шаги. Поскольку программа предусматривает возможность повторного вызова функций, это требует «закольцовывающей» команды перехода: здесь она после выполнения начала функции передаёт управление на её хвост, после отработки которого программа останавливается на команде , непосредственно предшествующей началу этой функции.
Программу разработал, перевёл в формат эмулятора и составил эту инструкцию Адам Лаврик — 2026-04-24