Программирование на калькуляторе

Здравствуйте, хабражители. Думаю, многие из вас слышали о программируемых калькуляторах (а некоторые даже использовали их). Как ни странно, здесь я не нашел ни одной статьи, рассказывающей о такой интересной вещи, и поэтому решил восполнить этот пробел и рассказать об основах программирования на калькуляторах.

Некоторое время назад я нашел у себя в кладовке старый «Электроника МК-61», принадлежавший моему папе. Естественно, я не мог упустить такой шанс освоить не совсем «стандартное» программирование на калькуляторе. (В случае, если у вас нет программируемого калькулятора, вы можете скачать эмулятор здесь)

Память


Прежде всего необходимо понять, как устроена память в этом калькуляторе. В распоряжении пользователя имеется 4 стековых регистра: X, Y, Z, T. Содержимое регистра X всегда показывается на экране (в режиме расчетов), ввод чисел тоже идет в него. По сути, стековая память после включения калькулятора выглядит так:

T  0
Z  0
Y  0
X  0


Для помещения чего-либо в стек используется клавиша [В↑]. Она копирует содержимое регистра X в регистр Y, значение регистра Y в Z, Z в T, а значение, находившееся в T теряется. То есть, если перед нажатием на кнопку [В↑] в регистрах были значения

T  5
Z  8
Y  14,5
X  6
,

то после значения станут

T  8
Z  14,5
Y  6
X  6


Кроме того существует команда, позволяющая циклически сдвинуть все значения регистров: T в Z, Z в Y, Y в X, X в T. Для этого нужно нажать [F] [.].

Команда [] меняет содержимое регистров X и Y местами.

Команда [CX] стирает содержимое регистра X.

Помимо стековой памяти, в калькуляторе есть 15 адресуемых регистров (RG0-RGE). Для работы с ними используются клавиши [X→П] и [П→X]. Первая команда помещает содержимое регистра X в соответствующий адресуемый регистр. Например, последовательность команд [4] [X→П] [0] помещает в регистр RG0 число 4. Вторая команда, как вы уже догадались, копирует содержимое адресуемого регистра в регистр X. То есть [П→X] [0] поместит в X число 4.

Важно помнить, что после выключения калькулятора значения всех регистров стираются.

Расчеты


Главное, что необходимо знать перед началом расчетов — в МК-61 используется обратная польская нотация (ОПН). Если нам нужно совершить какую-либо унарную операцию, она совершается над числом, находящимся в регистре X. При этом значения других регистров не меняются. Бинарные операции осуществляются над содержимыми регистров Y и X (именно в таком порядке). Значение результата помещается в X, Z помещается в Y, T копируется в Z. Предыдущее значение регистра X помещается в служебный регистр X1. Таким образом, если нам нужно посчитать банальное 2 + 3 (в ОПН 2 3 +), то нужно нажать на калькуляторе клавиши: [2] [В↑] [3] [+]. При этом значения регистров меняются следующим образом:

До всех операций:

T  8
Z  14,5
Y  6
X  0


После нажатия клавиш [2] [В↑] [3]:

T  14,5
Z  6
Y  2
X  3


После нажатия [+]:

T  14,5
Z  14,5
Y  6
X  5


Попробуем провести чуть более сложные вычисления, например, (15 + 2 / 5) * 7 + 10. В ОПН это выражение можно записать так: 15 2 5 / + 7 * 10 +. Для того, чтобы это посчитать на калькуляторе, мы должны нажать клавиши: [15] [В↑] [2] [В↑] [5] [/] [+] [7] [*] [10] [+].

Программирование


Так, ну а это уже интереснее :). Для перехода в режим программирования нужно нажать [F] [ВП]. На дисплее появятся 00. Это означает номер текущей команды. Вообще, программа в МК-61 представляет собой последовательность команд, необходимых для решения задачи. Обычно это арифметические операции, цифры, иногда специальные коды циклов и ветвлений. Всего программа может состоять не более чем из 105 команд, которые нумеруются от 00 до 99. Для ввода команды необходимо нажать соответствующую ей клавишу. Вот таблица соответствия кодов и клавиш калькулятора:



В режиме программирования видно 3 последних введенных операции. Например
02 01 0E 06 на дисплее означает:
  1. 06 — адрес следующей вводимой команды
  2. 0E, 01, 02 — три последовательные команды, расположенные соответственно по адресам 03, 04, 05.

Основы

Разберем простейшую задачу нахождения площади круга по формуле πr2. Для того, чтобы калькулятор решил эту задачу, введем следующие команды в режиме программирования ([F] [ВП]) (будем считать что радиус окружности находится в регистре RG1):

// Первые две цифры — адрес команды, потом нажимаемые клавиши
00  [П→X] [1] // Вызываем значение регистра RG1 в регистр X (61)
01  [F] [*]  // Возводим в квадрат радиус (22)
02  [F] [+]  // Вызываем в X пи (20)
03  [*]  // Перемножаем содержимое X и Y (12)
04  [С/П]  // Специальная команда для останова (без нее программа не остановится) (50)


Вот и все. Теперь мы должны перейти в режим вычислений с помощью команды [F] [/-/], а затем нужно нажать клавишу [В/О] для перехода к началу программы. Занесем число 5 в регистр RG1 ([5] [X→П] [1]) и нажмем [С/П] для начала выполнения. После того, как калькулятор пройдет все шаги, на экране должно появиться число 78,539815 — площадь круга с радиусом 5.

Безусловный и условный переходы

С помощью команды [БП] (51) можно осуществить безусловный перезод (goto) по нужному адресу. Для этого в режиме программирования нужно нажать [БП] а затем две цифры адреса, по которому мы хотим перейти. Когда калькулятор при выполнении программы дойдет до этого оператора, он продолжит выполнение уже с команды по указанному адресу. Например:
...
10  [F] [-]  // 21
11  [БП]    // 51
12  [4] [2]   // Адрес перехода (42)
...
42  [+]    // 10

В данном случае после шага 12 калькулятор перейдет сразу к шагу 42.

Условный переход гораздо полезнее. Для осуществления условного перехода существует 4 команды: [X >= 0], [X < 0], [X = 0] и [X != 0]. С помощью этих команд проверяют содержимое регистра X на выполнения условия. В случае, если условие не выполняется, управление переходит к адресу, указанному после оператора, иначе (если условие выполняется) адрес игнорируется и программа продолжает нормально выполняться далее. Например:
...
09  [F] [*] // 22
10  [F] [ШГ←]  // "if (X == 0)" (5E)
11  [4] [2]   // В случае, если условие ложно, переходим по адресу 42 (42)
12  [+]      // В случае, если X = 0 (10)
...
42  [4]    // 04


Циклы

Циклы можно реализовать с помощью команд условного перехода, но, кроме того, для организации циклов в МК-61 используются команды L0-L3 ([F] [П→X], [F] [X→П], [F] [БП] и [F] [ПП]). Эти команды оперируют с содержимым регистров RG0-RG3 соответственно. При каждом выполнении команды цикла из содержимого соответствующего регистра вычитается 1 и производится сравнение с нулём. Если содержимое регистра не равно нулю, происходит переход по адресу, записанному после команды цикла, если равно, то происходит переход к команде, следующей за адресом перехода цикла. Чтобы было понятнее, посмотрим на примере. Будем считать факториал числа, находящегося в регистре X.

// В RG0 будем хранить счетчик цикла, в RG1 произведение.
00 [X→П] [0]  // Заносим значение X в RG0 - инициализируем счетчик цикла (40)
01 [1]             // Заносим 1 в X (01)
02 [X→П] [1]  // Инициализируем единицей значение RG1 - произведение (41)
03 [П→X] [1]  // Заносим в стек текущее значение произведения (61)
04 [П→X] [0]  // Заносим в стек текущее значение счетчика цикла (60)
05 [*]             // Перемножаем их (12)
06 [X→П] [1]  // Заносим результат в произведение (41)
07 [F] [П→X]  // L0 - уменьшаем счетчик на единицу и проверяем на равенство нулю. Если не равен... (5Г)
08 [0] [3]      // ...переходим к команде по адресу 03... (03)
09 [С/П]        // ...иначе - останов (50)


Заключение


Конечно, эта статья — далеко не полное руководство по программированию на МК-61. Интересующимся в более глубоком освоении этой темы рекомендую почитать инструкцию (pdf, 6 MB) к этому замечательному калькулятору.

Ссылки

Поделиться публикацией
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее
Реклама
Комментарии 82
  • +1
    Спасибо. В избранное. Пойду найду калькулятор и попробую сделать то, код чего теперь в компьютере занимает всего пару строчек :)
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        скорее это даже машкоды
      • +2
        Спасибо! Ностальгия зашкалила.

        Первый девайс который я программировал.
        На кружке астрономии был еще МК-52.

        А в школе у нас в классах математики и физики висел большой клон МК-61 размером с доску и с кнопками в кулак.
        Девайс был полнофункциональным.
      • +7
        МК-52 был моей любимой игрушкой на первом курсе (в 1991 году). Обычный калькулятор после него казался жутко неудобным и нелогичным :)
        • +5
          Да… ностальджи. 52ой был шедевром, там была даже энергонезависимая память в виде картриджей. В компьютерном «кружке» на них писали программки.

          ЗЫЖ кружок был потрясающим(в 90ые когда почти все уничтожалось, он продолжал работать), все держалось на энтузиазме руководительницы (Анна Ивановна). Начинали с Бэйсика дла БКшек, потом ассемблер, ну и факультатив в виде Фокала(на тех же БКшка) и калькуляторов.
          • +5
            дык мк-52 даже летал в космос на борту «Союз ТМ-7» — его планировали искользовать для вычисления траектории приземления в случае выхода из строя бортового компьютера )) зверь
            • 0
              Угу как раз на одном из картриджей были астронавигационные подпрограммы. На нем были и обычные мат.процедуры, которые по-умолчанию доступны и недокументированный режим астронавигационный, чтобы на него переключиться надо было перемычку перерезать на плате картриджа. Вот такая унификация была в советское время :)
            • +2
              Энергонезависимая память там была, но не на картриджах, а встроенная. Причем управление этой памятью было реализовано практически в виде отдельной подсистемы, мало связанной с собственно калькулятором — там был переключатель «стирание-запись-считывание» и две кнопки — «ввод адреса» и «обмен».

              А картриджи (они назывались БРП) были по-сути ПЗУ с записанными на заводе программами, готовыми процедурами и играми.

              Кроме того, кроме разъема для БРП было еще два разъема — вероятно для «космических» периферийных устройств :)
              • +1
                Да, неточно выразился, ППЗУ встроенное, ПЗУ с подпрограммами на картриджах, доп. разъем был действительно для внешних устройств. Если не ошибаюсь, был принтер на узкой ленте (как для чеков), можно было результаты печатать.
          • +3
            Ага в технаре даже заставляли писать программы и скажу Вам очень неплохо получалось делать и свой и чужой вариант быстро… Когда поймешь как работает сразу становиться все легко и логично. Да и клавиши равно там нет.
            • +1
              А ещё в них можно было выводить некоторые символы латиницы на экран. Точно сейчас не скажу, но начиналось всё со входа в режим ERROR
              • +7
                Ага, только из-за цифрового экрана выводилось «ЕГГОГ».
                • +1
                  именно!
                  • 0
                    в Технике-молодежи был целый раздел посвященный «еггогологии» у меня где-то были сканы выпусков
                    • +2
                      А еще ЕГГОГ можно было возвести в квадрат =) И вообще, там была целая наука еггогология :)
                      • +1
                        Длинные монстры копируют в искажённом виде структуру ярусов. Всего ярусов десять, причем минус первый ярус эквивалентен девятому. Пятый ярус — Тьма. Меры предосторожности при работе с оборотнями.

                        Это не Дозоры. Это — Еггогология!
                    • 0
                      В режиме «эррор» там много трюков можно было сделать. Например, вывести на экран что-то вроде 3ггог, или 8.8.8.8.8.8.8

                      Вообще у меня где-то была книжка об аппаратных багах этого калькулятора. Такая брошюрка страниц на 100.
                      • +1
                        в Технике-молодежи тоже много трюков было описано, там получали числа с порядком в 600
                    • +1
                      У меня в детстве такой же был. Только питался он не от батареек, а от сети, потому что папа его перепаял :)
                      • +1
                        Этот тоже можно питать от сети. Но, к сожалению, блок питания безвозвратно утерян.
                        • +3
                          У МК-61 блок питания D2-10м, характеристики: 5 В, 0.1 А. Можно от USB запитать.
                          • –1
                            Не советую, лучше уже поискать где-то бп чем рисковать usb портом, мало ли что там коротнуло.
                            • +3
                              Во-первых, приличные USB порты защищены по току.
                              Во-вторых, если калькулятор нормально работает от батареек, то «коротнуть» может только в разъёме питания (см. схему) — это элементарно проверяется.
                              • +1
                                Кстати, по той же схеме, родной БП — это трансформатор + диодный мостик + конденсатор.
                                Если в МК «что-то коротнуло» — у БП нет шансов; а у USB — вполне даже.
                      • +2
                        У меня сначала появилась книжка с играми для этого калькулятора, потом как я хотел его… Сколько было счастья, когда я его получил, кажется, на день рождения! А попутно, наигравшись вдоволь, разобрался как писать на нем программы! Господи, сколько ностальгии…
                        • +3
                          Когда я был маленьким, у моего папы был Б3-34. (Это почти то же самое, что и МК-61 — чуть слабее машинка, но целиком совместимая.) С него я и начинал программировать. Написал для него игрушку какую-то (что-то вроде «отгадать задуманное число»). Для 10-летнего пацана и такой техники — это достижение :)

                          А папа на этом калькуляторе обсчитывал свою кандидатскую диссертацию. Машинка сутками стояла на полке, повыше, чтоб дети не мешали ей работать, и моргала там что-то. А перед этим папа часами забивал туда программу :)

                          А потом у меня уже был свой собственный МК-61 (потом он благополучно сдох). Когда в восьмом классе проходили формулы Виета для решения квадратных уравнений, я, естественно, запрограммировал это в калькулятор. А когда нам предлагали их на уроках считать устно (уравнения типа x^2-5x+4=0) я их быстро считал «устно» на калькуляторе :)
                          У одноклассников были всякие навороченные «инженерные» Casio и прочие, но — моя штука была круче, я мог её программировать, 105 ячеек программной памяти, 15 ячеек + 4 в стеке для запоминания промежуточных результатов — всего такого у них не было, несмотря на «крутость». И, что ещё интересно, нет кнопки "=" — немногие из моих одноклассников вообще смогли что-то посчитать на этой машинке :)

                          Такая вот ностальгия.
                          • +4
                            БЗ-34 был формально слабее — меньше памяти для команд, но у него была одна фича, не помню какая именно (что-то со смещением значений в одном из регистров, кажется), благодаря которой для него существовали игры, которые нельзя было запустить на МК-61, в частности, самая интеллектуальная версия шашек.

                            МК-61 — после него я понял, что хочу в жизни стать не астрономом, а программистом. :) Ну и «Техника-Молодежи» большое спасибо за популяризацию программирования, цикл «Кон-Тики» — это эпик вин.
                          • 0
                            В школе писал программу решения квадратного уравнения…
                            • +1
                              Как-то так:
                              x->п1, Сx, В/О, x->п2, Сx, В/О, ^, П->x1, 4, *, *, /-/, ^, П->x2, ^, П->x2, *, +, Fx<0 ..(адрес обработки отрицательного дискриминанта).., sqrt, /-/, x->П3, ^, П->x2, -, ^, 2, ^, П->x1, *, /, В/О, П->x3, ^, П->x2, +, ^, 2, ^, П->x1, *, /, В/О и ещё что-нибудь, на что переходит Fx<0 если число отрицательное.
                            • +1
                              у меня был Б3-34, сначала прочитал книгу «Папа, мама, я и микрокалькулятор», а затем залез на антресоли и стал читать «Клуб электронных игр» в Технике-молодежи. А пару лет назад в сети наткнулся на сканы страниц КЭИ, было интересно вновь перечитать «Путь к Земле», где-то на винте лежат до сих пор.
                              • +1
                                Хммм, смутно всплывает в памяти еще что-то типа «Посадка на луну», «посадка на планету Зггог», и станция ЮГ (Юрий Гагарин), к которой нужно было что-то пристыковать…
                                • +4
                                  3ггог — это не из этого цикла, это из космогонии и мифологии МК-61. Еггог, 3ггог, монстры с четвертого этажа, Великая Пустота, длинные монстры, не помню что там дальше, и кончалось все по заветам Гермеса Трисмегиста тем же, с чего началось — нулём.
                                  • +1
                                    Не помню подробностей, но там расстояние до планеты изображалось десятичной точкой по слову ЗГГОГ
                                    Т.е. так:
                                    ЗГГОГ.
                                    ЗГГО.Г
                                    ЗГГ.ОГ
                                    ЗГ.ГОГ
                                    З.ГГОГ
                                    .ЗГГОГ — приземление.
                              • НЛО прилетело и опубликовало эту надпись здесь
                                • НЛО прилетело и опубликовало эту надпись здесь
                                  • +2
                                    Мой первый опыт программирования был именно на МК-61 в 9 лет!!! Тогда я придумал алгоритм в 5 строчек который выводил числа Фибоначи.
                                    Спустя 12 лет, уже в институте, у меня не было проблем с ассемблером.
                                    • +2
                                      В 9 лет меня не интересовали числа Фибоначчи… Зря, наверное…
                                    • +2
                                      Такой лежит на антресоли рядом с чуть более новым MK-85 и уже следом — CASIO-125.
                                      В институте на переменах между парами успевал просчитать пару-тройку курсовиков, предварительно перед этим вбив 98 ячеек.
                                      Где-то была в тетрадках игра «15 камешков», причем не с простым алгоритмом, а самообучающаяся (калькулятор за 5 — 7 игр находил беспроигрышный алгоритм и его становилось невозможно переиграть). Было интересно, да… «Путешествие на Землю», «Посадка на Луну» — сколько воспоминаний!
                                      • НЛО прилетело и опубликовало эту надпись здесь
                                        • +1
                                          Ну а у меня чуть по-другому была составлена программа: изначально «идеальный» алгоритм не заложен. По мере проигрышей программа модифицирует ячейки памяти, которые и определяют ход в том или ином раскладе. В результате через некоторое кол-во ходов программа усваивает правильную стратегию и выиграть у нее действительно становится невозможно.
                                          Перепаивали разъём, т.к. он был сделан так, что при подключении-отключении рвалась цепь питания от аккумулятора, и программа сбрасывалась(!).
                                          В армии, от безделья и тоски, в дембельском блокноте по памяти восстановил внешний вид клавиатуры… ;) Прямо «эмулятор» получился! ;)
                                      • +2
                                        Начинал как раз с калькуляторов, правда с Б3-34 в 1986-м, отличная школа для программиста по-моему :)
                                        • +2
                                          В детстве обратная польская нотация выносила мне мозг, разбирался в ее сути методом тыка :)
                                          • +6
                                            Это еще фигня. У нас как-то в школе классе в 5м на уроке математики было «освоение калькулятора». Всех просили принести обычные калькуляторы. Ну а я притаранил папин МК-61 %)

                                            Учительница ходила и всем показывала как надо нажимать 2+2 = чтобы получить 4. Подошла и ко мне. Тык, тык… не выходит каменный цветок что-то. Я ей «Мария …вна, вы неправильно делаете — тут польская нотация!».

                                            А потом мне поставили двойку :( За то что я типа сумничал. И посчитал выражение со скобками «не так». Ну ясен пень, какие нафиг скобки в польской нотации…
                                          • +1
                                            Вот у меня и появилась идея для конкурса программистов, спасибо.
                                            • +2
                                              когда в первый раз взял в руки, меня смутило отсутствие клавиши "=". Во второй раз я уже проникся, было это классе в 6-7… спасибо, аж ностальгия нахлынула!
                                              Мой питался от сети и я помню, как мама выдирала БП из розетки и заставляла меня идти гулять на улицу :)
                                              • +1
                                                У нас до сих пор на даче лежит подписка журнала Наука и Жизнь лет так за 30. Вот ближе к концу там была в каждом журнале рубрика посвящзенная програмированию. В частности, они там сильно фокусировались на програмировании этих советских микрокалькуляторов. В детстве такой калькулятор мне не светил, так что сидел я с бумажкой и придумывал и отлаживал и запускал программы эти без собственно девайса, благо с памятью у калькуляторов были большие проблемы и они были небольшие, да и с быстродействием там было совсем печально. А уже году к 94му я перешел сразу на псион, хоть и бейсик, но он давал намного большую свободу. Помнится в него уже игрались прямо на уроках всем классом, в самописные игры. Был он небыстрый, тогда как раз придумал линейный алгоритм для вывода окружностей, как потом оказалось классический. Ускорение графики было в разы. ) А сейчас вот лежит у меня коммуникатор Андроид, а писать под него абсолютно не тянет.
                                                • +1
                                                  Да, было такое время. ЕМНИП, «Человек с микрокалькулятором» протянул до конца 1985, затем начался «Человек и компьютер» и «Школа начинающего программиста», а с начала 1990 — «Школа пользователя ЭВМ» и объяснение, мол, раньше на компьютерах от нечего делать приходилось писать программы, а теперь пришла пора становиться из каких-то там программистов полноценными юзерами:). Чуть позже эта рубрика вообще исчезла из журнала и вроде бы какое-то время она просуществовала в виде отдельного издания, но за этим я в 90х уже не следил. Сегодня никакого «компьютерного» раздела в NKJ нет — что понятно, учитывая значение журнала в медиапространстве 1980х и сейчас. Хотя, имхо, какая-нибудь новая «фирменная» гиковская рубрика в нем не помешала бы.
                                                • +3
                                                  Для таких тем явно нужен отдельный блог — «Ретро», «Oldschool» или «ИТ 80-х»…
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                    • +1
                                                      Смахнул слезу, вспоминая свой MK-52
                                                      Кроме собственно энергонезависимой памяти для хранения программ, у меня еще была плата расширения, в которой было прошито еще масса интересных программ и игр.
                                                      • +2
                                                        А еще я любил решать на нем массу нудных, однотипных примеров по математике, докозательство и процесс не были важны и мне, как абсолютному лентяю, — было проще наклепать программку, которая все быстренько решала.

                                                        P.S. Вспомнилась шутка.
                                                        Программист — это человек который может потратить два часа на написание программы, чтобы решить задачу на которую требуется час — за пять минут.
                                                        • +2
                                                          Программист — это человек который может потратить два часа на написание программы, чтобы решить задачу на которую требуется час — за пять минут.

                                                          Что то я минут десять сижу и перечитываю эту фразу, но понять не могу :( дурацкие праздники… два часа, час, пять минут…
                                                          • +1
                                                            Там, похоже, не хватает тире между «задачу» и «на», вот парсер русского языка и сбивается.
                                                            Если немного преобразовать, становится понятнее:
                                                            Программист — это человек, который может потратить два часа на написание программы, которая за пять минут решит задачу, на которую требуется час.
                                                            • +2
                                                              Эта фраза была в обратной нотации MK-61.
                                                        • +2
                                                          Вообще-то, не [F] [ВП], а [F] [ПРГ]. Пишется не то, что написано на клавише, а то, что написано на ней в нужном регистре, в данном случае — ПРГ (а не ВП).
                                                          • 0
                                                            Да, вы правы, но хотелось написать понятнее для начинающих. Все-таки найти основную кнопку проще, чем мелкий плохо читаемый текст над ней.
                                                            • +2
                                                              Суть в том, что теряются смысл команды и мнемоника, запомнить такую команду гораздо сложнее, чем один раз найти «ПРГ», написанное жёлтым по чёрному.
                                                          • +1
                                                            Мда, программирование на советских калькуляторах можно охарактеризовать как «Brainfuck эпохи развитого социализма»
                                                            • НЛО прилетело и опубликовало эту надпись здесь
                                                              • +1
                                                                По-моему, brainfuck — это многостраничные простыни машинных кодов в «Моделисте-Конструкторе» и «Радио».
                                                                Мне трудно представить людей, которые обновляли операционки своих «Специалистов» и «РК-86», вручную вбивая килобайты шестнадцатеричных кодов с клавиатуры.

                                                                Подумать только:
                                                                — сами собирали компы (не проц в материнку воткнуть, а нарисовать и вытравить платы, запаять детали, отладить...),
                                                                — и сами программили их в машинных кодах.
                                                                По сравнению с ними, нынешние бородатые гентушники — просто пионеры… :)
                                                                • +1
                                                                  бородатые гентушники в прошлом наверняка эти самые радиолюбители и есть)))
                                                                  • 0
                                                                    Программили не в машинных кодах — был ассемблер. Хотя пионеры — да, именно в машинных кодах. :)
                                                                  • +1
                                                                    Brainfuck заключался не в сложности программирования как такового, а в сложности запихивания программы в 105 ячеек
                                                                    • +1
                                                                      На самом деле всё не так плохо. Непривычно, особенно после всех этих наших гигабайтов и гигагерцев, но не совсем не сложно.
                                                                    • 0
                                                                      лежит такой же МК на столе рядом с ноутом, тока с питанием от БП проблема — где то в проводах неконтакт.
                                                                      • 0
                                                                        да, разъёмы там были ужасные
                                                                      • 0
                                                                        Осталось научиться пользоваться «логарифмической линейкой» для полноценного счастья =)
                                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                                          • 0
                                                                            у нас в универе работал профессор по ТММ, Лясич его фамилия, так он проверял курсовики по ТММ на логарифмической линейке, и считал, скажу я вам, побыстрей студентов на калькуляторах, вот это старая школа))
                                                                            • +1
                                                                              Т.е. вы не умеете? :)
                                                                            • 0
                                                                              На моей книжной полке стоит вот эта книжечка от 1988 года. Рука не поднимается выбросить, ведь столько воспоминаний. Помню, написал игру — что то типа посадить корабль на планету, отдал товарищу на тестирование. Он часа через два перезванивает злой и говорит мол немогу посадить, разбиваюсь о скалы. Как позже выяснилось это была моя ошибка в коде.
                                                                              • 0
                                                                                Автор этой книги — А.Г. Гайштут — я в детстве даже был удостоен чести с ним пообщаться, найдя баг в одной из программ в книге :) Кроме этой книги он является автором множества развивающих задач по математике и логике для детей всех возрастов. Сейчас ввел в гугле его фимилию и обнаружил, что многие его задачки доступны для скачивания! Вот адрес: zadacha.uanet.biz/
                                                                              • +1
                                                                                у меня тоже такой был. Больше всего запомнилась программа для игры в крестики-нолики, в которой калькулятор ходит первым и не проигрывает! В детстве для меня это было удивительно — я не знал, что есть беспроигрышная стратегия для первого ходящего.
                                                                                • 0
                                                                                  Была еще игра «Слалом». Имитация спуска с горы. Задавался угол и толчок, а мешал ветер, который задавался генератором псевдослучайных чисел.
                                                                                  • 0
                                                                                    MK-52, MK-61 еще неплохо оверклокались, можно было поднять питающее напряжение и частоту тактового генератора
                                                                                    • 0
                                                                                      В детстве очень любила играться с MK-52. Нашла тогда брошюрку с играми для подобных калькуляторов, а родственники всё удивлялись, что это я с таким интересом к этому отношусь.
                                                                                      • +1
                                                                                        О, присоединяюсь к толпе ностальгирующих. Также, пользуясь случаем, хочу сказать большое человеческое спасибо разработчикам этих замечательных девайсов, которые можно было купить за одну советскую зарплату и получить возможность программировать. И еще сообществу, которое создало несметное количество полезных программ и увлекательнейших книг и журнальных статей на эту тему. Они меня очень вдохновили. Именно с «МК-61» началось мое увлечение программированием.
                                                                                        • 0
                                                                                          … а еще недавно очень порадовался обнаруженном в AppStore эмулятору HP48GX. Штука намного круче «Электроники» (4-строчный дисплей, графика), интересно с ней разбираться. )
                                                                                          • +1
                                                                                            А я на таком программировал «ударную установку». В 10-м классе с друзьями создали группу. Денег не было, писали музыку с применением всевозможных подручных инструментов: было и детское электронное пианино (пищалка), и какие-то игрушки, брелоки с наборами звуков на разных кнопках, самосборные генераторы, микшеры, ребервератор из пружины и т.д. Позже таки взяли 2 простеньких синтезатора, и даже на студийной аппаратуре поработали, а потом наступила эра компьютерного звука. Группа распалась, но воспоминания остались очень теплые. И в первую очередь о времени, когда играли на том, что было под рукой.

                                                                                            Ударная установка из калькулятора работала по такому принципу. Каждая операция вычислений выполняется определённый промежуток времени и на время выполнения гаснет экран или некоторые сегменты (уже и не вспомню). Я долго замерял в циклах эти промежутки и составил таблицу кратных интервалов, которые можно было использовать для формирования ритмов. Писалась зацикленная программа из таких команд, импульсы через конденсатор снимались с экрана и подавались на динамик, напротив которого был установлен микрофон. Динамик нужен был для формирования затухающих низкочастотных колебаний, возникающих после подачи импульса. Это самый простой вариант. Ещё импульсами через ключ пробовали замыкать кнопки на детской игрушке с набором звуков. Такое вот нестандартное применение. :)
                                                                                            • +1
                                                                                              «А ещё мы в 90х с тетриса пентагон ломали» ©
                                                                                              • +1
                                                                                                Прочитал с позитивным ностальгическим интересом :)

                                                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.