Перейти к содержимому
Для публикации в этом разделе необходимо провести 50 боёв.
Temnokot

Программируемые калькуляторы - что мы потеряли.

В этой теме 24 комментария

Рекомендуемые комментарии

10 808
[W_WST]
Старший альфа-тестер, Коллекционер
13 049 публикаций
25 324 боя

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

 

... Шел 1985 год. Я вовсю развлекался с паяльником, учился на корабельного радиста в КЮМе и на мои 10 лет родители подарили мне чудо советской техники - МК-61. Компьютеров тогда практически не было, только монстры ЕС ЭВМ и очень редкие XT и AT в крупных ВУЗах и НИИ. Доступа к ним у простого смертного для личных целей не было. Поэтому калькулятор и его возможности были пределом реальности.

 

Что же это такое и что он мог. Базовая статья в ВИКИ - https://ru.wikipedia.org/wiki/%D0%AD%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA%D0%B0_%D0%9C%D0%9A-61

 

Вкратце под спойлером.

 

МК-61 — программируемый микрокалькулятор с обратной польской записью для проведения инженерных и научных расчетов. Относится к третьему поколению советских программируемых калькуляторов. Упрощенная модификация калькулятора «Электроника МК-52» — отличается от МК-52 отсутствием ППЗУ и возможности работы с блоками расширения памяти (БРП). Исполнен в корпусе, идентичном корпусу калькулятора «Электроника МК-54».

Микрокалькулятор МК-61, в отличие от своих предшественников серии Б3-34, имеет расширенный набор команд, в частности, выделение целой и дробной части чисел, нахождение модуля числа, максимального значения из двух чисел, перевод угловых величин из десятых долей градуса в минуты и секунды, выполнение логических операций. В то же время калькулятор полностью обратно совместим с моделями второго поколения (Б3-34 и МК-54) по системе команд и кодов (за исключением некоторыхнедокументированных возможностей — косвенного обращения к регистру E и к программной памяти по адресам, выше 95). В среднем программа, которая займет в МК-61 все 105 шагов программной памяти и 15 регистров, по своим возможностям будет эквивалентна примерно 140—150 шагам и 18 регистрам программы, написанной в системе команд Б3-34.

 

Первое включение... 2 умножить на 2 - фигвам. Не умножается. Почему? Патамучто этот калькулятор использует 4хячейковый стек и обратную польскую запись.

Опять же, нужная нам информация под спойлером.

 

Отличительной особенностью обратной польской нотации является то, что все аргументы (или операнды) расположены перед знаком операции. В общем виде запись выглядит следующим образом:

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

Например, рассмотрим вычисление выражения 7 2 3 * - (эквивалентное выражение в инфиксной нотации: 7-2*3).

  1. Первый по порядку знак операции — «*», поэтому первой выполняется операция умножения над операндами 2 и 3 (они стоят последними перед знаком). Выражение при этом преобразуется к виду 7 6 - (результат умножения — 6, — заменяет тройку «2 3 *»).
  2. Второй знак операции — «-». Выполняется операция вычитания над операндами 7 и 6.
  3. Вычисление закончено. Результат последней операции равен 1, это и есть результат вычисления выражения.

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

Особенности обратной польской записи следующие:

  • Порядок выполнения операций однозначно задаётся порядком следования знаков операций в выражении, поэтому отпадает необходимость использования скобок и введения приоритетов и ассоциативности операций.
  • В отличие от инфиксной записи, невозможно использовать одни и те же знаки для записи унарных и бинарных операций. Так, в инфиксной записи выражение 5 * (-3 + 8) использует знак «минус» как символ унарной операции (изменение знака числа), а выражение (10 - 15) * 3 применяет этот же знак для обозначения бинарной операции (вычитание). Конкретная операция определяется тем, в какой позиции находится знак. Обратная польская запись не позволяет этого: запись 5 3 - 8 + * (условный аналог первого выражения) будет интерпретирована как ошибочная, поскольку невозможно определить, что «минус» после 5 и 3 обозначает не вычитание; в результате будет сделана попытка вычислить сначала 5 - 3, затем 2 + 8, после чего выяснится, что для операции умножения не хватает операндов. Чтобы всё же записать это выражение, придётся либо переформулировать его, либо ввести для операции изменения знака отдельное обозначение, например, «±»:5 3 ± 8 + *.
  • Так же, как и в инфиксной нотации, в ОПН одно и то же вычисление может быть записано в нескольких разных вариантах. Например, выражение (10 - 15) * 3 в ОПН можно записать как10 15 - 3 *, а можно — как 3 10 15 - *
  • Из-за отсутствия скобок обратная польская запись короче инфиксной. За этот счёт при вычислениях на калькуляторах повышается скорость работы оператора (уменьшается количество нажимаемых клавиш), а в программируемых устройствах сокращается объём тех частей программы, которые описывают вычисления. Последнее может быть немаловажно для портативных и встроенных вычислительных устройств, имеющих жёсткие ограничения на объём памяти.

 

Открываем инструкцию, которая побольше нашего калькулятира и начинаем читать... http://www.wass.net/manuals/Elektronika%20MK-61.pdf

 

После пары часов изучения мы наконец можем посчитать 2*2. Через некоторое время приходит понимание, что польская система гораздо удобнее привычной нам со скобками. И вдруг... В журнале Техника Молодежи появляется фантастический рассказ, сдобренный программой для БЗ-34 (модель чуть слабее МК-61, но совместимая с ним по командам). Ссылка на чтиво http://epizodsspace.no-ip.org/bibl/tm/1985/6/istinn-prav.html остальное тут плюс адаптированные програмы (можно побыстрому посадить Кон-Тики) http://slavav.ru/way_to_earth/

 

И понеслось... После освоения всех особенностей программирования журнал начинает осваивать недокументированные возможности. А их ой как много оказалось. Подробнее читаем тут - https://ru.wikipedia.org/wiki/%D0%95%D0%B3%D0%B3%D0%BE%D0%B3%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D1%8F

Чуть-чуть для затравки под спойлером.

 

Классификация числовых ярусов[править | править вики-текст]

Числовой ярус Название чисел Диапазон чисел Краткая характеристика числа из этого диапазона
Нулевой Обычные числа с неотрицательным порядком От ±1 до ±9.9999999 × 1099 Можно производить обычные вычисления
Первый «ЕГГОГи» От ±1 × 10100 до ±9.9999999 × 10199 Можно производить обычные вычисления, но отображаются на дисплее как Еггог.svg
Второй «3ГГОГи» От ±1 × 10200 до ±9.9999999 × 10299 Можно производить обычные вычисления, но отображаются на дисплее как 3ггог.svg. Выполняют безусловный переход на адрес, совпадающий с двумя первыми цифрами порядка (от 20 до 29)
Третий «Неукротимые чудовища» От ±1 × 10300 до ±9.9999999 × 10399 Способны произвольно перевести микрокалькулятор в режим исполнения программы или привести к его зависанию
Четвертый «ОС-оборотни» От ±1 × 10400 до ±9.9999999 × 10499 Копируют в искажённом виде структуру ярусов, применяются для анализа других чисел. Искажают содержимое регистра С
Пятый «Тьма» От ±1 × 10500 до ±9.9999999 × 10599 При попытке вывода на дисплей приводят к зависанию микрокалькулятора. Индикатор гаснет, работоспособность восстанавливается после выключения и включения (в МС 1104 имелась специальная кнопка для подавления этого эффекта)
Шестой «С-ЕГГОГ-оборотни» От ±1 × 10600 до ±9.9999999 × 10699 Искажают содержимое регистра С
Седьмой «Длинные монстры» От ±1 × 10700 до ±9.9999999 × 10799 Копируют в искажённом виде структуру ярусов, применяются для анализа других чисел
Восьмой (минус второй) «Нули» От ±1 × 10800 до ±9.9999999 × 10900 или от ±1 × 10−200 до ±9.9999999 × 10−100 (зависит от способа получения) Немедленно преобразовывается в обычный ноль
Девятый (минус первый) Обычные числа с отрицательным порядком От ±1 × 10−99 до ±9.9999999 × 10−1 Можно производить обычные вычисления

 

Вобщем потянулись ночи без сна...

 

Но вернемся в наше время. У нас есть мощные компьютеры и планшеты, мы можем играть в крутые игрушки, но умеем ли мы решать простые бытовые задачи? Например, как определить высоту столба на дачном участке или узнать ширину реки? Берем ручку, бумажку, лезем в ВИКИ за формулами , качаем с Плей-маркета научный калькулятор и начинаем считать... 21 век на дворе, а мы с ручкой и бумажкой. Вам не смешно?

 

Поэтому качаем эмулятор https://play.google.com/store/apps/details?id=com.cax.pmk&hl=ru и... учимся программировать =)

 

Программку для решения треугольников я нарисовал за пару часов. Код программы тут - https://docs.google.com/spreadsheets/d/1Bvv6G_vKaUfLB42s4IAmeuvB8dIpT6BdS_xvNeVTfvs/edit#gid=0

 

Еще есть несколько программок в заначке, планирую их тоже себе залить, благо эмулятор поддерживает хранение овердофига программ и нет вечной проблемы МК-61 - вводить каждый раз программу по включению калькулятора.

 

Еще статья про калькулятор - https://habrahabr.ru/post/111099/

И еще программки - http://erichware.com/sovkalk/texty/promk52.htm

 

Изменено пользователем Temnokot
  • Плюс 16

Рассказать о публикации


Ссылка на публикацию
Старший альфа-тестер
841 публикация
144 боя

Прикольная штука была... Мы в институте пользовали, помнится. А из игрушек мне нравилась "городки". Псевдографическая. :) Вводишь дальность и угол ( не соврать бы) и "бросаешь" биту. Городки единицами на дисплее. То, что выбил - нулями меняется.

Да уж... Потом поменял свой такой на обычный японский непрограммируемый. Знакомому парню нужен был программируемый для обсчетов прог для станка с ЧПУ. :)

Рассказать о публикации


Ссылка на публикацию
Участник
2 237 публикаций

у меня МК 51 был, вполне хватало))))

 

11:44 Добавлено спустя 1 минуту

Прикольная штука была... Мы в институте пользовали, помнится. А из игрушек мне нравилась "городки". Псевдографическая. :) Вводишь дальность и угол ( не соврать бы) и "бросаешь" биту. Городки единицами на дисплее. То, что выбил - нулями меняется.

Да уж... Потом поменял свой такой на обычный японский непрограммируемый. Знакомому парню нужен был программируемый для обсчетов прог для станка с ЧПУ. :)

 

у нас препод по програмироваию писал игрушки для ЧПУ

Рассказать о публикации


Ссылка на публикацию
Участник
4 660 публикаций

Хех. До сих пор лежит в ящике и функтионирует! (Больше, конечно, достаю ради хохмы, но работает техника!!!)

Помню в 80-х выходил жутнал "Моделист-Конструктор". Там публиковали программки для этого ПМК. Особенно нравились "космические леталки". ... Конечно, все в цифрах и на фантазию, но было так интересно, что даже пришедший чуть позже Синклер не сразу убил калькуляторную романтику. :-)

  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
1 563
[W_WST]
Старший бета-тестер, Коллекционер
2 705 публикаций

у меня он до сих пор есть

Рассказать о публикации


Ссылка на публикацию
Участник
3 137 публикаций

Хех. До сих пор лежит в ящике и функтионирует! (Больше, конечно, достаю ради хохмы, но работает техника!!!)
Помню в 80-х выходил жутнал "Моделист-Конструктор". Там публиковали программки для этого ПМК. Особенно нравились "космические леталки". ... Конечно, все в цифрах и на фантазию, но было так интересно, что даже пришедший чуть позже Синклер не сразу убил калькуляторную романтику. :-)

 

"Техника-Молодёжи" же! 
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
10 808
[W_WST]
Старший альфа-тестер, Коллекционер
13 049 публикаций
25 324 боя

Мой 61вый помер, работает музейным экспонатом, есть 52й рабочий. Но в очередной раз обломавшись с такой ерундой, как померить высоту столба, я озадачился эмулятором. Лазерный дальномер не помог - наверху нет мест, куда можно направить лазер. Нашелся угольник с 60 градусами, ровная доска... Отходим от столба так, чтобы луч, приложеный к угольнику, стоящему на доске, попал на верх столба, замеряем гипотенузу, нижний катет, решаем треугольник и определяем вертикаль.

Рассказать о публикации


Ссылка на публикацию
Участник
4 660 публикаций

Мой 61вый помер, работает музейным экспонатом, есть 52й рабочий. Но в очередной раз обломавшись с такой ерундой, как померить высоту столба, я озадачился эмулятором. Лазерный дальномер не помог - наверху нет мест, куда можно направить лазер. Нашелся угольник с 60 градусами, ровная доска... Отходим от столба так, чтобы луч, приложеный к угольнику, стоящему на доске, попал на верх столба, замеряем гипотенузу, нижний катет, решаем треугольник и определяем вертикаль.

готовишь(ся) к ЕГ? ... или он там у вас был уже? :)

Изменено пользователем anonym_OKBHHJM36dsx

Рассказать о публикации


Ссылка на публикацию
2 590
Коллекционер
2 048 публикаций
12 288 боёв

Да ну их, эти раритеты. На них можно было только изгаляться в отсутствие нормальных ПК. Ностальгировать о них все равно, что с умилением вспоминать арифмометры.

Вообще, лишь когда появился ZX Spectrum с BASIC, началась реальная эпоха игр в СССР. Причем не только игр, но и обычных прикладных программ.

 

Кстати, сегодняшная новость:

Вышло продолжение легендарной игры DOOM

 

В пятницу, 13 мая, состоялся всемирный релиз нового шутера DOOM от компаний Bethesda и id Software. Это продолжение легендарной серии компьютерных игр. Как сказали на официальном сайте новинки, сыграть в эту компьютерную игру можно будет на таких платформах: Windows PC, Sony PlayStation 4 и Xbox One. Новый Doom поступил в продажу во всем мире. На официальном сайте производителя уже можно оформить предзаказ. В одиночной кампании геймер должен будет зачистить Марс от демонических существ, проходя разные препятствия. Кроме того, в новом DOOM будет развитый мультиплеер с шестью режимами игры, включая сетевую игру. Здесь также можно будет сыграть в старые уровни или создать собственный, с помощью SnapMap.

 

Попробуйте ка запустить DOOM на МК-61:teethhappy:

Изменено пользователем SuperTato
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
Викигвардия
7 589 публикаций
4 878 боёв

Тема интересная, но с ходу я так и не понял, как посчитать 4*4

4 4 *   ?

Рассказать о публикации


Ссылка на публикацию
Бета-тестер
2 339 публикаций
2 469 боёв

Мой 61вый помер, работает музейным экспонатом, есть 52й рабочий. Но в очередной раз обломавшись с такой ерундой, как померить высоту столба, я озадачился эмулятором. Лазерный дальномер не помог - наверху нет мест, куда можно направить лазер. Нашелся угольник с 60 градусами, ровная доска... Отходим от столба так, чтобы луч, приложеный к угольнику, стоящему на доске, попал на верх столба, замеряем гипотенузу, нижний катет, решаем треугольник и определяем вертикаль.

 

Еще пару способов измерить высоту 

 

 Сэр Эрнеcт Резерфорд, президент Королевской академии и лауреат Нобелевской премии по физике рассказывал такую историю:

 

Однажды к нему обратился коллега за помощью. Он собирался поставить самую низкую оценку по физике одному из своих студентов, в то время как тот утверждал, что заслуживает высшего балла. Оба — преподаватель и студент — согласились положиться на суждение третьего лица, незаинтересованного арбитра. Выбор пал на Резерфорда. Экзаменационный вопрос гласил: «Объясните, каким образом можно измерить высоту здания с помощью барометра?».

Ответ студента был таким: «Нужно подняться с барометром на крышу здания, спустить барометр вниз на длинной верёвке, а затем втянуть его обратно и измерить длину верёвки, которая и покажет точную высоту здания».

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

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

Заинтересовавшись, Резерфорд попросил молодого человека приступить к ответу, не дожидаясь истечения отведённого срока. Новый ответ на вопрос гласил: «Поднимитесь с барометром на крышу и бросьте его вниз, замеряя время падения. Затем, используя формулу, вычислите высоту здания».

Тут Резерфорд спросил своего коллегу преподавателя, доволен ли он этим ответом. Тот, наконец, сдался, признав ответ удовлетворительным. Однако студент упоминал, что знает несколько ответов, и его попросили открыть их.

— Есть несколько способов измерить высоту здания с помощью барометра, — начал студент. — Например, можно выйти на улицу в солнечный день и измерить высоту барометра и его тени, а также измерить длину тени здания. Затем, решив несложную пропорцию, определить высоту самого здания.

— Неплохо, — сказал Резерфорд. — Есть и другие способы?

— Да. Есть очень простой способ, который, уверен, вам понравится. Вы берёте барометр в руки и поднимаетесь по лестнице, прикладывая барометр к стене и делая отметки. Сосчитав количество этих отметок и умножив его на размер барометра, вы получите высоту здания. Вполне очевидный метод.

— Если вы хотите более сложный способ, — продолжал он, — то привяжите к барометру шнурок и, раскачивая его, как маятник, определите величину гравитации у основания здания и на его крыше. Из разницы между этими величинами, в принципе, можно вычислить высоту здания. В этом же случае, привязав к барометру шнурок, вы можете подняться с вашим маятником на крышу и, раскачивая его, вычислить высоту здания по периоду прецессии.

— Наконец, — заключил он, — среди множества прочих способов решения данной проблемы лучшим, пожалуй, является такой: возьмите барометр с собой, найдите управляющего и скажите ему: «Господин управляющий, у меня есть замечательный барометр. Он ваш, если вы скажете мне высоту этого здания».

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

Студент этот был Нильс Бор (1885−1962), датский физик, лауреат Нобелевской премии 1922 г.

 

 

Изменено пользователем Ml_serzant
  • Плюс 2

Рассказать о публикации


Ссылка на публикацию
2 320
[MSF]
Бета-тестер кланов
2 760 публикаций
27 421 бой

У меня кЭп как то решил побаловаться МК-54. Достал где то книгу с формулами расчета БП минно-торпедного. Сдавали К2 и наш криворукий боцман дырки не правильно в бочке 200л сделал. СРГ 66 закинули в бочку и за борт оную. О она, бочка, не тонет. Ну не оставлять же в море. Надо расстреливать.  Чем, конечно артиллерией. Но наш кЭп решил с оригинальничать. РБУ 6000 к учебной стрельбе. Я ему - не попадем. Он - Фигня за нас умная машина думать будет. Минут 10 ковырял МК 54, в конце концов выдал углы наводки. Стреляли одиночной и естественно не попали. Но надо отдать должное для РБУ 6000 на дистанции 4 км очень точно пришла, метров 20-30 от бочки. Так что если есть справочник программируемые калькуляторы вещь, были.:)

 Бочку из 630 добили и естественно не с 4км.

А вот для чего бочку с СРГ 66 в воду сбрасывают на ВМФ? - вам загадка.:popcorn:

Рассказать о публикации


Ссылка на публикацию
10 808
[W_WST]
Старший альфа-тестер, Коллекционер
13 049 публикаций
25 324 боя

Тема интересная, но с ходу я так и не понял, как посчитать 4*4

4 4 *   ?

 

Да. В коммандах калькулятора 4 В| 4 *

 

Примеры со скобками -

3*4+5 -> 3 В| 4 * 5 +

3*(4+5) -> 3 В| 4 В| 5 + *

Рассказать о публикации


Ссылка на публикацию
Бета-тестер
82 публикации
390 боёв

Отличный калькулятор, лет 15 им пользовался, начиная еще со старших классов и да и по работе не один раз выручал. Единственный минус у него, что я потом долго к обычным калькуляторам привыкнуть не мог, все "В со стрелочкой", пытался найти :trollface:.

  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
Участник
3 221 публикация

У меня лежит вот такой.

350px-Elektronika_MK_52_with_accessories

Несколько месяцев назад решил проверить - всё таки десять лет не доставал. РАБОТАЕТ ***! А что ему будет - сделано в СССР.

12:33 Добавлено спустя 1 минуту

А игры, игры то какие были...

Посадка на Луну...

Как воображение стимулировало....

 

Да-да-да у меня в инструкции по эксплуатации есть код к этой игрухе - огонь!  Всё что у тебя есть - это скорость падения и остаток горючки. Остальное всё, кратеры, вспышки пламени и мемориал жертвам катастрофы дорисовывало воображение.  :trollface:
Изменено пользователем Che___BURATOR
  • Плюс 1

Рассказать о публикации


Ссылка на публикацию
10 808
[W_WST]
Старший альфа-тестер, Коллекционер
13 049 публикаций
25 324 боя

мемориал жертвам катастрофы дорисовывало воображение.  

 

Высота -485,66666, скорость -2387,87... Хорошо вошло...

Рассказать о публикации


Ссылка на публикацию
Участник
1 088 публикаций

+

 

Из игр запомнились кроме "Лунолета" - "Кооперативное кафе" и "Ледовое побоище". Недавно у родителей нашел в шкафу - страшненький, вытертый весь нафиг, в институте еще использовал, даже программку для расчета точек перспективной проекции хотел составить, но потом обломался, там этих точек надо было 6-8 штук - быстрее просто каждую посчитать.

 

Рассказать о публикации


Ссылка на публикацию
Участник
3 221 публикация

 

Высота -485,66666, скорость -2387,87... Хорошо вошло...

 

Во-во. Поставил недавно KSP - уже не то. Нет того азарта. На Электронике всё было аутентичнее - сидишь наглухо замурованный в посадочной капсуле, а перед глазами только три ряда зелененьких цифр: высота, скорость и горючее. Помнится сел-я таки на Луну, а горючего на обратную дорогу уже не хватает. Трагедия была уровня Титаника )

Рассказать о публикации


Ссылка на публикацию

×