Микрокалькулятор "Электроника МК 61" в 2025 году

Предисловие


Изначально планировалось "по-быстрому" сделать серию из пары дюжин коротких роликов с наглядными примерами использования "МК 61", однако в процессе записи выяснилось, что либо в каждом ролике нужно давать множество пояснений, не касающихся узко заданной темы, либо собирать все пояснения в отдельный фильм, а ролики делать максимально лаконичными. Написав все пояснения тут же стало понятно, что материала набирается на целый "блокбастер", который никто целиком смотреть не станет включая меня самого. Было решено оставить все пояснения "на бумаге", оформив их в виде статьи, при этом, сделав в нужных местах отсылки к видеоряду. Чтобы не "размножать сущности", пришлось отказаться и от идеи множества коротких видеороликов, объединив крупные темы в отдельные эпизоды и снабдив их тайм-кодами. Такой подход не совсем стандартный для интернета, однако я не придумал лучшего способа совместить полноту изложения с наглядностью и краткостью. Получилась статья с видеодополнениями. Тот, кто сочтет для себя нужным и интересным, сможет прочесть статью и последовательно просмотреть все видео, а тот, кто нуждается лишь в уточнении какого-то конкретного вопроса, надеюсь, сможет найти ответ в тексте статьи, или в ролике по приведенным тайм-кодам.

Микрокалькулятор "Электроника МК 61"
Микрокалькулятор "Электроника МК 61"


Немного истории, надеюсь не скучной


Хорошо помню, как в начале-середине 80-х большое количество советских студентов и школьников интересовалось вычислительной техникой. В тот период, в СССР, широкие народные массы о персональных компьютерах пока еще больше "слышали", чем их "видели", но абсолютно точно - интерес к данной теме стремительно рос день ото дня. Можно сказать, что тогда, еще только начинался "компьютерный бум" вызванный публикациями в книгах и популярных журналах, а также сюжетами в кино и на ТВ. Время "персоналок" настанет немного позже, а до той поры, ПМК был едва ли не единственным из доступных персональных вычислительных устройств. В зависимости от модели, он мог стоить от 50р и больше, однако не всякому школьнику удавалось объяснить родителям, почему нужно купить именно калькулятор за 85р, когда рядом на прилавке лежал с виду такой же за 25р, разве что другого цвета. Многим, оставалось лишь "мечтать" или "даже не мечтать" о приобретении ПМК, тут уж, у кого, что лучше получалось. Конечно, были и счастливчики, которым такое чудо техники покупали, отчего количество друзей и знакомых у них начинало расти буквально в геометрической прогрессии. Сам я, относился к той категории, для которых эпоха ПМК к сожалению прошла мимо, оставаясь несбыточной "не мечтой".

Все это вспомнилось, когда относительно недавно, на одной известной "интернет-барахолке" мне не попался "МК 61" за символическую цену в 300р, да еще и в моем же городе. Купив, и потратив некоторое время на его несложный ремонт и освоение, я понял насколько же неплоха эта штуковина для многих задач даже сейчас, и как же великолепна она была когда-то тогда. Так что теперь, я просто чувствую себя обязанным, поделиться всем этим информационным богатством с максимально большим количеством людей, в надежде заинтересовать темой советских ПМК, которые и в наши дни, еще на многое способны и которые все еще можно недорого купить. Безусловно, старые советские ПМК сильно уступают современным, как по функционалу, так и по скорости работы, зато многие из них в прямом смысле слова "теплые, ламповые", т.к. в качестве дисплея используют электровакуумный люминесцентный индикатор. Так же советские ПМК, помимо хорошего функционала, обладают рядом "особенностей", если не сказать "странностей", в которых интересно разбираться и из которых при должном подходе можно извлечь пользу в работе и повседневной жизни. Купленный на барахолке калькулятор, у меня прижился на рабочем столе рядом с компьютером. Я его периодически использую, когда нужно посчитать, что-то громоздкое по работе.


Цели и задачи статьи, а так же методы их решения


Сам я не являюсь "гуру", а лишь делюсь полученным опытом, поэтому материал статьи вряд-ли заинтересует "опытных ПМК-шников", разве что вызовет желание навести строгую, но надеюсь справедливую критику, за которую я буду только признателен. А вот начинающим или просто интересующимся данной темой, он возможно будет полезен. Я собираюсь рассказать вкратце о технических характеристиках "МК 61", описать его работу в "автоматическом режиме" и в режиме "программирования". Разобрать алгоритмы нескольких готовых "программ" из руководства, ну и конечно же приведу ссылки на полезные ресурсы по данной теме о которых знаю.

Для тех, кто уже купил подобный девайс или откопал его в пыльной бабушкиной кладовке и кому не терпится начать осмысленно нажимать на кнопки, я все таки порекомендую отложить его на время в сторонку и потренироваться сперва на эмуляторе. Связано это с тем, что "МК 61" не простой калькулятор, в нем применена так называемая "обратная", она же "польская" нотация, использующая непривычный порядок ввода команд и задействующая внутренние регистры калькулятора. У не посвященного человека, скорее всего не получится даже сложить "2+2=4", по причине отсутствия этой самой кнопки "=". Вот для того, чтобы эти слова перестали быть непонятной абстракцией и понадобится эмулятор. В нем, все перемещения данных по регистрам и ячейкам памяти можно будет видеть напрямую, что облегчит и ускорит изучение ПМК.

Внешний вид программы "Калькуляторы 3000"
Внешний вид программы "Калькуляторы 3000"

Ссылка на сайт с программой:

Программа "Калькуляторы 3000" и другая информация по ПМК


В эмуляторах в общем-то нет недостатка, есть и онлайн-эмуляторы и эмуляторы-приложения, в том числе для Android и PC. Я буду использовать приложение "Калькуляторы 3000". Это приложение бесплатное, оно не требует установки, достаточно распаковать архив в отдельную папку и им можно пользоваться. Программа умеет эмулировать работу большинства советских ПМК, в том числе и "МК 61". Огромное спасибо разработчикам программы, интерфейс простой, интуитивно понятный. Из настроек, я бы посоветовал пользователю, немного увеличить шрифт и открыть дополнительные окна "Стек" и "Регистры". По сути только ради информации, выводимой в этих и других дополнительных окнах, эмулятор и понадобится. Да, и конечно же, из списка поддерживаемых калькуляторов, следует выбрать "МК 61".

Руководство по эксплуатации "Электроника МК 61"
Руководство по эксплуатации "Электроника МК 61"

Информации, изложенной в "Руководстве по эксплуатации" вполне достаточно для освоения базовых приемов работы с калькулятором. Совершенствовать же свое мастерство вам придется самостоятельно на тематических форумах или по книгам и публикациям в журналах. Знаю, что досконально изучать всякие там "Руководства" - это скучно, поэтому переработку "сухой технической информации" в нечто "познавательное", возьму на себя. Попутно, наиболее важные и интересные моменты, буду оформлять в виде коротких поясняющих видеофрагментов, что то опуская, а что-то добавляя, и располагая их по ходу статьи. Чтобы не переписывать сюда это самое  "Руководство", буду ссылаться на справочные данные из него, указывая на нужную страницу и номер пункта. В общем, хоть и "по-диагонали", но заглядывать туда для справок, вам также придется. Для этого, я отсканировал руководство от своего калькулятора, которое вы можете скачать по ссылке.


Ссылки на файл руководства:

Yandex Disk | Google Disk


Обзор характеристик и возможностей калькулятора


Итак, как следует из п. 4.1 на стр. 8, "Электроника МК 61" является носимым микрокалькулятором индивидуального пользования, предназначенным для выполнения научных, инженерных и статистических расчетов. Как видим про игры или решение школьных задач ничего не сказано, но это не значит, что этого он не умеет, еще как умеет.

Техническим характеристикам калькулятора посвящен п. 4.2 на стр. 8-16, а его устройству п. 4.3 на стр. 16-32. Так много внимания этим вопросам уделено не случайно. Если обычные калькуляторы плюс-минус похожи в работе, то программируемые калькуляторы, являющиеся по сути маломощными микрокомпьютерами, зачастую разнятся как по устройству, так и по техническим параметрам, и при работе на каждой отдельно взятой модели ПМК нужно хорошо понимать его особенности, сколько и каких ресурсов в него заложено разработчиком, а так же какие ограничения присущи той или иной модели. Сходу все эти нюансы запоминать не нужно, но бегло ознакомиться все же стоит. Я перечислю лишь основное:

  • система счисления - десятичная, применен 12-ти разрядный люминесцентный индикатор в котором 8 разрядов отображают мантиссу, два разряда отображают порядок числа, оставшиеся 2 разряда позволяют индицировать знак "-" перед мантиссой и/или порядком;
  • диапазон вычислений 1*10^(-99)<=|X|<=9,9999999*10^99, в диапазоне 1<=|X|<=99999999 отображение десятичной запятой естественное, в остальных случаях используется формат чисел с плавающей запятой;
  • предусмотрено переключение из "автоматического режима работы" в режим "программирования" и обратно;

В "автоматическом режиме работы" возможны:

  • вычисления "Y+X", "Y-X", "Y*X", "Y/X", "sin(X)", "cos(X)", "tg(X)", "arcsin(X)", "arccos(X)", "arctg(X)", "X^Y", "ln(X)", "lg(X)", "e^X", "10^X", "X^2", "X^(0,5)", "X^(-1)", а также вызов константы "Пи";
  • запись и чтение данных в 15 адресуемых регистров памяти;
  • запись, чтение и перемещение данных в 5 регистрах стека;
  • вычисления с константой и цепочечные вычисления;
  • выделение дробной и целой части числа, определение его знака и модуля, нахождение максимального из двух значений, генерация псевдослучайных чисел;
  • перевод угловых величин из "часового" представления в "дробное" и обратно;
  • выполнение побитовых логических операций;
  • запуск вычислений по программе;

В режиме "программирования" возможны:

  • ввод программы в память ПМК через клавиатуру;
  • редактирование введенной программы;

При выполнении вычислений нужно учитывать допустимое время выполнения операций, оно указано в п. 4.2.10 на стр. 12, а также возможную погрешность вычислений, которая приведена в Табл. 2 на стр. 13. Превышение отведенного времени выполнения команд будет указывать либо на то, что калькулятор "завис", либо на то, что в вашей программе образовался "бесконечный цикл".

ПМК обладает собственной памятью для хранения программ на 105 шагов. Помимо вычислительных команд, возможно использование команд прямых и косвенных переходов (в том числе по условию), переходов к подпрограммам и возврат из них с глубиной обращения 5, а также организация циклов. Возможен автоматический и пошаговый режимы выполнения программ.

Работа с калькулятором осуществляется при помощи клавиатуры, большая часть кнопок которой имеет двойное или даже тройное назначение. Цвет надписей команд над кнопками соответствует цвету функциональных клавиш "F" или "К", активирующих эти команды. Подробно с назначением клавиш можно ознакомиться в Табл. 3 и 4 на стр. 19-29.

В калькуляторе есть два операционных регистра "X" и "Y", причем регистр "X" напрямую связан с отображаемым на индикаторе числом, т.е. "что на индикаторе, то и в регистре "X" и наоборот, что в регистре "X", то и на индикаторе". Регистр "Y" как бы находится над регистром "X", значения записанные в этих регистрах всегда могут напрямую участвовать в производимых вычислениях. Информацию из регистра "X" в регистр "Y" перемещают нажатием кнопки "стрелка вверх", а так же эта информация перемещается автоматически при вводе нового числа взамен отображаемого результата прошлых вычислений. Такая, "цепочечная" схема работы позволяет не терять результаты предыдущих вычислений и использовать их в дальнейших расчетах.

Операции, в которых участвует один аргумент, называются одноместными и для их выполнения используются только данные из регистра "X", к таким операциям относятся: "ln(X)", "lg(X)", "X^2", "X^(0,5)", "X^(-1)", "e^X", "10^X", "sin(X)", "cos(X)", "tg(X)", "arcsin(X)", "arccos(X)", "arctg(X)". Результат выполнения одноместных операций возвращается обратно в регистр "X".

При выполнении двухместных операций, таких как: "X+Y", "Y-X", "X*Y", "Y/X", "X^Y", всегда задействуются оба регистра "X" и "Y". Причем "уменьшаемое", "делимое" и "показатель степени" должны находиться строго в регистре "Y". Результат выполнения двухместной операции также возвращается в регистр "X".

Операционные регистры "X", "Y", а также находящиеся над ними дополнительные регистры "Z" и "T" образуют стековую память калькулятора. Со стековой памятью тесно связан и регистр предыдущего состояния, обозначаемый "X1". Подробней о работе стековой памяти будет рассказано дальше.

Для хранения исходных данных и промежуточных результатов в калькуляторе имеется регистровая память из 15 адресуемых регистров, обозначаемых "0-9, a-e". Возможен обмен в обе стороны между регистром "X" и любым из адресуемых регистров.

При включении, исправный микрокалькулятор должен отобразить символ "0." слева, во втором разряде индикатора. При высвечивании символа "." во всех разрядах, следует заменить "севшие" элементы питания.


Режим "Автоматических вычислений"


Все о режиме "автоматических вычислений", о представлении чисел в естественном виде и в виде чисел с плавающей запятой, вводе чисел с клавиатуры, изменении знака мантиссы и порядка, корректировке ошибочно введенных данных, нормализации чисел при вводе, о некорректных операциях с числами и ошибках, вызванных такими операциями.

Работа калькулятора в "автоматическом режиме"


Одноместные операции


Прежде чем перейти к одноместным операциям, нужно кое-что сказать о переключателе "Р-ГРАД-Г". Если с "Р" - радианами и "Г" - градусами должно быть все более-менее понятно еще со школы, то положение переключателя "ГРАД" - градианы (или "GON") стоит немного прояснить. Один градиан численно равен одной сотой части прямого угла или 0,9 градуса. Его можно так же представить как одну двухсотую от числа "Пи" радиан. Данная мера измерения плоских углов не нашла широкого распространения, однако и в старых и в современных калькуляторах зачастую предусмотрена возможность таких вычислений. Связано это с тем, что угол в 1 градиан отсекает на земном меридиане дугу длинной в 100 км. 1 градиан делится на 100 метрических минут, отсекающих дуги длинной 1 км, а одна метрическая минута, в свою очередь, делится на 100 метрических секунд, каждая из которых по длине равна 10 м. Все это находит применение в геодезии тех стран, в которых основной, является метрическая система измерений. Еще одно применение, градиан, как мера измерения углов, может находить в робототехнике, т.к. большинство шаговых двигателей выпускается на 400 и на 200 шагов на один полный оборот вала двигателя, что соответствует 1 или 2 градианам на один шаг.

Положение переключателя "Р-ГРАД-Г" имеет значение только при вычислении прямых и обратных тригонометрических функций, при всех других вычислениях его положение не оказывает никакого влияния.

Хоть калькулятор в основном и предназначен для выполнения сложных вычислений, я буду стараться, где это возможно, приводить такие примеры, которые несложно проверить в уме, так будет проще для уверенного понимания "работы" той или иной функции.

Выполнение одноместных операций


Двухместные операции


Последовательный ввод чисел в регистры "X" и "Y", порядок выполнения двухместных операций, виды таких операций и их особенности, а так же примеры решения задач из "Руководства".

Выполнение двухместных операций


Работа со стеком


Как мы уже смогли убедиться из предыдущих примеров, для решения достаточно сложных задач, вполне хватает понимания того, как работает "обратная нотация" и владения двумя операционными регистрами "X" и "Y". Однако это еще далеко не все возможности калькулятора. Разобравшись в том, как работает "стек" и как пользоваться дополнительными регистрами, можно от "просто владения" калькулятором перейти к "продвинутому" или даже в чем то "виртуозному владению" им.

К стековой памяти, помимо операционных регистров "X" и "Y" относятся еще два дополнительных регистра "Z" и "T", они хоть и не могут напрямую использоваться при выполнении расчетов, зато могут быть использованы как "ячейки" промежуточного хранения данных, что иногда оказывается очень удобным. Все эти четыре регистра образуют так называемый "стек", работающий по магазинному принципу: "первый вошел, последний вышел и наоборот последний вошел, первый вышел". Совместно со стеком часто используют "регистр предыдущего состояния", обозначаемый "X1". Мы уже его успели немного "задействовать" при рассмотрении "одноместных операций", пришло время разобраться с ним до конца.

Использование стековой памяти


Работа с адресуемыми регистрами


Помимо регистров стека, в калькуляторе имеется 15 адресуемых регистров. О том, зачем они нужны и как ими пользоваться, а также о том, как отменить действие ошибочно нажатых клавиш "F" и "К".

Использование адресуемых регистров


Выполнение логических операций


Калькулятор умеет выполнять побитовые логические операции "И", "ИЛИ" и "ИСКЛ-ИЛИ" над числами, находящимися в регистрах "X" и "Y", а также побитовую логическую операцию "НЕ" над числом из регистра "X". При этом четырехразрядные двоичные числа, соответствующие десятичным от 0 до 15 представляются набором символов, который от 0 до 9 графически соответствует общепринятым десятичным знакам, а в диапазоне от 10 до 15 используется весьма своеобразная символика, которую можно увидеть в табл. 5 на стр. 84 "Руководства". Вместо нее, более уместными были бы шестнадцатеричные знаки от "A" до "F", но разработчики калькулятора все-таки предпочли сделать свой собственный набор символов, что несколько затрудняет его интерпретацию. Возможно, они просто хотели сделать отличные от цифр символы, которые можно было бы использовать для составления и индикации слов в программах. Для выполнения логических операций, непосредственно с клавиатуры, мы можем ввести только символы от 0 до 9, остальные символы мы можем увидеть только, как результат выполнения той или иной логической операции, что тоже весьма необычное техническое решение, принятое разработчиками. Признаком выполнения логической операции или признаком того, что отображаемая на индикаторе информация представляет собой не целое десятичное число, а лишь последовательность символьных изображений из табл. 5, является изображаемое "8." во втором слева разряде на индикаторе. Возможно разработчики, таким образом имели ввиду не цифру "8", а символ "B" - binary, но это лишь  предположение. Так как этот символ отнимает один разряд из восьми имеющихся для изображения числа на индикаторе, то все числа, к которым требуется применить ту или иную логическую операцию следует начинать с любой незначащей цифры отличной от "0" (в примерах для единообразия с "8."). Логические операции выполняются именно побитно, без накопления и переноса информации в старшие разряды. Любая двухместная логическая операция будет выполнена с соответствующей парой символов из регистров "X" и "Y", стоящих в одном и том же разряде, отсчитывая от старшего. Именно по этой причине, к примеру, число "12345", следует понимать не как "двенадцать тысяч триста сорок пять", а как просто последовательность символов "1", "2", "3", "4", "5", каждый из которых соответствует своей двоичной тетраде по табл. 5 на стр. 84 и не более того.

Выполнение логических операций


Режим "Программирования"


Переключение в режим "Программирования" осуществляется последовательным нажатием клавиш "F" и "ПРГ", обратно в режим "Автоматических вычислений" можно вернуться нажав "F" и "АВТ". Понять в каком из режимов работы вы сейчас находитесь, можно по характеру отображаемой на индикаторе информации. В режиме "Автоматических вычислений" заполнение индикатора информацией идет слева направо неразрывно, а в режиме "Программирования" всегда в двух разрядах справа присутствует индикация адреса текущей ячейки памяти, а сами коды программ на индикаторе отображаются тремя парами символов через пустое знакоместо. Всего в калькуляторе имеется 105 ячеек памяти, нумеруемых от 0 до 104, а так как под индикацию адреса отводится всего 2 знакоместа, то адреса с 0 по 99 отображаются непосредственно, а адреса с 100 по 104 отображаются в виде "-0" ... "-4". В каждую ячейку памяти можно записать только одну команду. Каждой команде соответствует уникальный двухсимвольный код, представленный в табл. 6 на стр. 89-95. На первых порах, запоминать эти коды не нужно, т.к. при вводе команд с клавиатуры, калькулятор сам будет их формировать. Обратная интерпретация кода в команды может понадобится только при отладке своих программ или при разборе чужих, и тут без табл. 6 уже не обойтись. Последовательность таких кодов и представляет собой программу, которая на каждом шаге увеличивает счетчик текущего адреса на единицу, переходя к очередной команде. В режиме "Программирования" возможен только набор программ и их редактирование, вся работа с программой, в том числе ее запуск и отладка выполняются в режиме "Автоматических вычислений". Коды введенных программ, на данной модели калькулятора, не сохраняются в памяти после выключения питания, и об этом следует не забывать при работе.

Рассмотрим вход в режим "Программирования", набор первой пробной программы, основные приемы работы с программой в режиме "Программирования" и в режиме "Автоматических вычислений", а также запуск программы вычисления площади круга из табл. 7 на стр. 100-101 и получение результатов вычислений.

Работа калькулятора в режиме "программирование"


Команды переходов


Программы, реализующие последовательный набор команд, можно отнести к простым. Однако, может возникнуть необходимость, чтобы в программе, в зависимости от полученных результатов, выполнялся тот, или иной фрагмент кода, либо какой-то фрагмент кода выполнялся несколько раз. Такие возможности есть и они достигаются через использование следующих функций:

  • Безусловный переход
  • Переход по условию
  • Переход на подпрограмму и возврат из нее
  • Косвенный безусловный переход по модифицированному адресу. Программа модификации адреса из табл. 11 на стр. 116
  • Косвенный переход по условию. Программа решения уравнения из табл. 12 на стр. 122-123
  • Косвенный переход на подпрограмму. Программа решения квадратного уравнения из табл. 13 на стр. 126-127
  • Косвенная запись в регистр
  • Косвенная индикация вызова. Программа суммирования значений функции из табл. 15 на стр. 135-136
  • Организация циклов. Программа суммирования значений функции из табл. 16 на стр. 141

Команды переходов в программах


Рассмотрение примеров программ из "Руководства"


Рассмотрение готовых примеров программ приведенных в руководстве, выполним в упрощенном виде, без пошагового разбора. Рассмотрим только алгоритм, ввод исходных данных, запуск в автоматическом режиме и получение результатов вычислений.

  • Нахождение сложного процента из табл. 18 на стр. 146-147
  • Вычисление суммы и произведения числовой последовательности из табл. 20 на стр. 150-151
  • Вычисление математического ожидания из табл. 22 на стр. 153-154
  • Баллистическая задача из табл. 24 на стр. 156
  • Работа с генератором псевдослучайных чисел

Примеры вычислений по программам


Итоги


Признаюсь, что первоначально, в конце статьи я планировал написать несколько несложных программ, с помощью которых, к примеру, можно было бы решать некоторые задачи из ЕГЭ, но написание статьи оказалось настолько растянутым по времени из-за обилия текущих дел, что я волевым решением отказался от этой затеи. В противном случае, даже этот, уже написанный и отснятый материал, еще долго бы оставался не опубликованным. Возможно, когда-то, я доделаю задуманное, но это уже будет другая статья, а пока что выкладываю, то, что есть. Пользуйтесь наздоровье и успехов Вам в освоении и ежедневном использовании самых разных ПМК!


Файлы примеров, разбираемых в статье. Ссылки на архив с файлами:

Yandex Disk | Google Disk


Разделы на известных форумах, посвященные ПМК:

Форум zx-pk.ru | Форум nedopc.org

Комментарии

Популярные сообщения из этого блога

Китайский чип-таймер C005. Уточнение параметра выдержки времени

Самодельные остроконечные щупы для мультиметра