Процентные функции

Вычисление простейших процентных функций:

Использование

Для выбора нужной функции нажимается клавиша БП, а затем дважды — соответствующая функции клавиша:

Аргументы для всех функций задаются так: y → #Y, x → #X. При вводе с клавиатуры: y В↑ x

После нажатия клавиши С/П результат окажется на индикаторе.

Выбирать функцию можно и до, и после задания аргументов. На случай, если одну и ту же функцию требуется вычислить многократно для разных аргументов, её достаточно первый раз указать явно через БП. Дальше можно просто вводить очередные аргументы и нажимать С/П: после останова управление будет возвращаться к её началу, пока не будет явно вызвана другая функция, и т. д.

Для расчётов используется только стек. Сохранять полученные результаты можно в любых адресуемых регистрах.

Примеры расчётов

  1. Изменение процента. Выручка за последний квартал предыдущего года составила 357 481 рубль 27 копеек. В 1-м квартале нового года она увеличилась на 5.1 %, а во 2-м по сравнению с 1-м — снизилась на 3.7 %. Сколько она составила в каждом из кварталов?

    1-й квартал: БП + + 3 5 7 4 8 1 . 2 7  В↑ 5 . 1 С/П 375712.81

    2-й квартал: 3 . 7 /−/ С/П 361811.44

  2. Процентная разность. На сколько процентов изменилась выручка из прошлого пункта по итогам полугодия?

    БП   3 5 7 4 8 1 . 2 7  В↑ 3 6 1 8 1 1 . 4 4 С/П 1.21129

  3. Обычный процент. Вознаграждение продавцу в виде процента от продаж составляет 1.5 % от вырученного свыше дневной нормы (75 тысяч рублей). Сегодня он продал товаров на 98 450 ₽. Какая сумма вознаграждения ему причитается?

    9 8 4 5 0 В↑ 7 5 ВП 3 (23450 — посчитали перевыполнение плана) БП × × 1 . 5

    С/П 351.75

  4. Процентное соотношение. За месяц были зафиксированы следующие статьи и величины расходов:

    Определить процентные доли каждой из статей в общих расходах.

    Расчёт. Для удобства будем заносить расходы по каждой из статей в отдельный адресуемый регистр и сразу подсчитывать их сумму в #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

У данной программы имеются две любопытные особенности. Во-первых, она использует то обстоятельство, что при указании адреса перехода клавиши +, , ×, ÷, воспринимаются по младшей цифре своего кода, т. е. как 0, 1, 2, 3, 4 соответственно, что делает возможным их сочетание с командой БП. Поэтому программный код расположен так, чтобы начало вычисления каждой процентной функции приходилось на адрес, составленный из удвоенной младшей цифры кода соответствующей клавиши:

Именно это и позволяет вызывать нужную функцию через наглядную мнемонику.

Во-вторых, можно заметить, что функции, кроме самой первой, как бы разорваны: сначала идёт хвост функции с командой останова, за которой находится её начало. Сделано это для уплотнения кода: длина функций не равна в точности 11 шагам, и если разместить функции просто по адресам вызова, между ними останутся неиспользуемые шаги. Поскольку программа предусматривает возможность повторного вызова функций, это требует «закольцовывающей» команды перехода: здесь она после выполнения начала функции передаёт управление на её хвост, после отработки которого программа останавливается на команде С/П, непосредственно предшествующей началу этой функции.

Программу разработал, перевёл в формат эмулятора и составил эту инструкцию Адам Лаврик — 2026-04-24