# Компьютер без электроники: оцифровано руководство к «Детской логической машине» 1987 года В конце 1980-х в советских магазинах продавалась игрушка «Детская логическая машина», ДЛМ. Выпускал её ВНИИ «Электронстандарт» в Гатчине. Это программируемое устройство, в котором нет ни транзистора, ни реле, ни микросхемы: только пластмассовые планки, штеккеры, пружинные контакты, три батарейки и четыре лампочки. И всё же машина отгадывает задуманное число, вычисляет честных и лгунов, играет со спичками и даже экзаменует по вычислительной технике. Руководство к ней в сети найти было невозможно. Были только описания игрушки, фото коробки и несколько снимков страниц в статье на Хабре. Полный экземпляр нашёлся у меня дома: сама машина давно потерялась, а брошюра уцелела. Теперь она отсканирована, набрана заново, и по ней сделан работающий эмулятор. **Скачать руководство (PDF, 69 стр.):** [ссылка на PDF] **Эмулятор в браузере:** [ссылка на эмулятор] ## Что это за машина На передней панели сверху четыре лампы: V, X, Y, Z. Над каждой стоит её «вес» в двоичной системе: 8, 4, 2, 1. Ниже три красные планки, по 14 гнёзд в каждой, и семь столбцов программирования. Справа кнопка и три поворотных переключателя А, Б, В с «весами» 4, 2, 1. В комплект входили 30 штеккеров, 7 перемычек, игральный кубик, три фишки, 12 карточек с птицами, зверями и насекомыми и три карточки с надписями. Питание — три элемента А-332 (4,5 В), потребляемый ток 200 мА, от одного комплекта батарей машина работала не меньше 80 часов. На коробке указан возраст: 13–15 лет. ## Как она «думает» Самое интересное в ДЛМ — что вся её логика механическая. 1. **Ввод.** Переключатель сдвигает свою планку на полшага гнезда: в положении «1» вправо, в «0» влево. В среднем положении планка отведена, и все её контакты разомкнуты. 2. **Программа.** Под каждым столбцом, под каждой планкой, внутри корпуса стоит пружинящая пластина, а по бокам от неё два неподвижных контакта. Когда планка уходит вправо (положение «1»), штеккер из левого гнезда отгибает пластину на правый контакт. Когда влево («0»), штеккер из правого гнезда отгибает её на левый. Нет штеккера в нужном гнезде — нет и контакта. Штеккер в левом гнезде значит «А», в правом — «не А», в обоих — «А не важно», ни одного — «столбец не работает никогда». 3. **И.** В каждом столбце три контакта соединены подряд, по одному на каждую планку. Ток проходит через столбец, только если замкнуты все три. 4. **ИЛИ.** Перемычками столбцы соединяют с лампами. Если к одной лампе подведено несколько столбцов, она загорается, когда сработал хотя бы один из них. 5. **Вывод.** Нажимаете кнопку — горят лампы. Ответ читается как двоичное число от 0 до 15. То есть машина одновременно вычисляет семь выражений вида «А и не Б и В» и складывает их по ИЛИ на четыре выхода. Говоря современным языком, это программируемая логическая матрица с тремя входами и четырьмя выходами, собранная из пластмассы и пружинок. В эмуляторе всё это видно: справа нарисован разрез машины. Честно оговорюсь: это реконструкция. В брошюре механизма нет, снимков вскрытой машины я не нашёл, так что рисунок сделан по брошюре («цепи разомкнуты в среднем положении планок») и по моей памяти. Повернёте переключатель — планка поедет, штеккеры нажмут контакты, а при нажатой кнопке видно, по каким столбцам и перемычкам идёт ток. ## Одиннадцать игр 1. **Какое число задумано?** Три вопроса — и машина называет число от 0 до 7. Вопросы хитрые, например: «К задуманному числу прибавьте 10 и разделите на 6. Остаток 4 или 5?» 2. **Честные и лгуны.** Классическая логическая задача про страну, где одни всегда говорят правду, а другие всегда лгут. 3. **Сумма трёх чисел.** Фокус с кубиком: машина «угадывает» сумму, потому что противоположные грани кубика в сумме всегда дают 7. 4. **Двенадцать — выигрыш!** Игра с кубиком против машины: кто первым наберёт ровно 12. 5. **Какой предмет выбран?** Угадывание, кому из трёх игроков досталась какая фишка, по числу оставшихся спичек. 6. **ДЛМ превосходит себя!** То же самое, но число спичек машине не сообщают. 7. **Семь спичек.** Беспроигрышная стратегия, если противник ходит первым. 8. **Зоологические карточки.** Предсказание того, как разложатся карточки. 9. **ДЛМ — экзаменатор.** Вопросы о вычислительной технике с комментариями машины. Там есть ответы в духе эпохи: «пульт управления, устройство считывания с перфокарт, магнитофон, печатающее устройство». 10. **Ваш характер.** Психологический тест из двенадцати вопросов. Здесь машину перепрограммируют прямо по ходу игры, по результатам каждой группы вопросов. 11. **Автоматическое управление лифтом.** Логика двери, мотора и направления движения. ## Ошибки в оригинале Все 11 программ я перенёс в эмулятор точно по рисункам и проверил на всех комбинациях входов, а игры 4 и 7 ещё и проверил перебором всех партий. Проверка лежит в репозитории, её можно запустить самому: `node check.mjs`. Игру 10 так проверить нельзя: в тексте нет полной таблицы ответов. Остальные работают ровно так, как написано в тексте, включая все примеры. А в двух нашлось кое-что любопытное. Рисунки при этом сверены со сканами гнездо за гнездом. Есть и независимая проверка: на фотографии настоящей ДЛМ из статьи на Хабре набран сумматор, все три переключателя стоят на «1», горят V и Z. Эмулятор на той же программе зажигает те же лампы. - **Игра 4.** Авторы честно предупреждают: «при достаточной практике Вы можете обыграть ДЛМ». Перебор всех партий показывает, где именно. Таких позиций четыре, и виновата не таблица ходов, а правило «если такой грани сбоку нет, берите меньшую, наиболее близкую». Самая обидная: сумма 6, сверху тройка. Машина советует 3, тройки сбоку нет, правило велит поставить 2, и выигрыш уходит противнику. А ведь сбоку лежит шестёрка, и она сразу даёт 12. - **Игра 8.** Здесь ошибка в самой программе. Я перебрал все 34 650 раскладок карточек и сравнил, чем кончается игра, с тем, что показывает машина. В двух случаях из семи возможных она ошибается. Если на вопросы ответить «Да, Нет, Да», карточки всегда сходятся у птиц и зверей, то есть должна гореть Y, а не горит ничего. Если на все вопросы ответить «Нет», сойдутся только птицы, а машина зажигает Z и обещает, что «вероятно», сойдутся и остальные. Кстати, ответить «Да» на все три вопроса нельзя вообще: если внизу у «Насекомых» насекомое, а у «Зверей» зверь, птицы среди этих двух карточек быть не может. Кто знает, сколько советских школьников в 1988 году ломали голову, почему машина в «Зоологических карточках» иногда ошибается. Есть и опечатки попроще: на схеме панели третий переключатель подписан «Б-1» вместо «В-1», а в примере к игре 5 фишка достаётся «игроку № 8», хотя игроков всего трое. ## Об экземпляре Брошюра 32 страницы, сдана в набор 17 февраля 1987 года, распространялась бесплатно, в комплекте с игрушкой. Ответственный редактор — Г. С. Стерин. Мой экземпляр сопровождал машину с заводским номером 005957, принятую ОТК в декабре 1987 года и проданную 23 февраля 1988-го. В PDF есть и сканы всех страниц, и набранный текст. Отдельным приложением приведена расшифровка всех рисунков программ, чтобы машину можно было запрограммировать, не разглядывая мелкие кружочки. ## Благодарности Устройство машины изнутри впервые подробно разобрано в статье «Криптография и другие вычисления на детских логических машинах» на Хабре: https://habr.com/ru/articles/807187/. Оттуда же в эмулятор попали логические элементы: НЕ, И-НЕ, ИЛИ-НЕ, исключающее ИЛИ, сумматор и XOR-шифр. Руководство подтвердило выводы автора: левое гнездо действительно срабатывает при «1». Если у вас сохранилась своя ДЛМ, особенно с карточками, или есть фото её внутренностей, напишите. Хочется сделать эмулятор ещё точнее.